zkSync Era Testnet

Contract

0x6f24a52680cC79804410540582e2ADe1162E49A0

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Create Tweet46449672025-02-05 16:50:0847 days ago1738774208IN
0x6f24a526...1162E49A0
0 ETH0.00005040.025
Create Tweet46449592025-02-05 16:48:0647 days ago1738774086IN
0x6f24a526...1162E49A0
0 ETH0.000035640.025
Create Tweet46449482025-02-05 16:44:0647 days ago1738773846IN
0x6f24a526...1162E49A0
0 ETH0.000035640.025
Create Tweet46448912025-02-05 16:27:0347 days ago1738772823IN
0x6f24a526...1162E49A0
0 ETH0.000050540.025
Create Tweet46448852025-02-05 16:24:0647 days ago1738772646IN
0x6f24a526...1162E49A0
0 ETH0.000055690.025

Latest 1 internal transaction

Parent Transaction Hash Block From To
46446502025-02-05 15:55:0747 days ago1738770907  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Twitter

Compiler Version
v0.8.24+commit.e11b9ed9

ZkSolc Version
v1.5.11

Optimization Enabled:
Yes with Mode 3

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : Twitter.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

contract Twitter {

  uint16 public MAX_TWEET_LENGTH = 280;
  uint8 public MIN_TWEET_LENGTH = 1;
  address public owner;

  constructor() {
    owner = msg.sender;
  }

  struct Tweet {
    uint256 id;
    address author;
    string content;
    uint256 timestamp;
  }

  struct Like {
    uint256 id;
    address author;
    uint256 timestamp;
  }

  struct Comment {
    uint256 id;
    address author;
    string content;
    uint256 timestamp;
  }

  mapping(uint256 => Tweet) public tweets;
  uint256[] public tweetIds;

  mapping(uint256 => Like[]) public tweetLikes;
  mapping(uint256 => mapping(address => bool)) public tweetLikedBy;
  mapping(uint256 => mapping(address => uint256)) public tweetLikeIndex;

  mapping(uint256 => Comment[]) public tweetComments;
  mapping(uint256 => uint256) public commentToTweet;
  mapping(uint256 => uint256) public commentIndex;

  uint256 public tweetCounter = 1;
  uint256 public likeCounter = 1;
  uint256 public commentCounter = 1;

  event TweetCreated(uint256 tweetId, address author, string content, uint256 timestamp);
  event TweetLiked(uint256 tweetId, address author, uint256 timestamp);
  event TweetUnliked(uint256 tweetId, address author, uint256 timestamp);
  event CommentCreated(uint256 tweetId, uint256 commentId, address author, string content, uint256 timestamp);
  event CommentDeleted(uint256 tweetId, uint256 commentId, address author, uint256 timestamp);
  event TweetDeleted(uint256 tweetId);

  modifier validTweetLength(string memory _tweet) {
    require(bytes(_tweet).length >= MIN_TWEET_LENGTH, "Tweet cannot be empty");
    require(bytes(_tweet).length <= MAX_TWEET_LENGTH, "Tweet cannot exceed 280 characters");
    _;
  }

  modifier onlyOwner() {
    require(msg.sender == owner, "Only owner can call this function");
    _;
  }

  function changeTweetMaxandMinLength(uint16 _maxTweetLength, uint8 _minTweetLength) public onlyOwner {
    MAX_TWEET_LENGTH = _maxTweetLength;
    MIN_TWEET_LENGTH = _minTweetLength;
  }

  function createTweet(string memory _tweet) public validTweetLength(_tweet) {
    uint256 currentTweetId = tweetCounter;
    tweets[currentTweetId] = Tweet({
        id: currentTweetId,
        author: msg.sender,
        content: _tweet,
        timestamp: block.timestamp
    });
    tweetIds.push(currentTweetId);
    tweetCounter++;

    emit TweetCreated(currentTweetId, msg.sender, _tweet, block.timestamp);
  }

  function getTweetOfSpecificUser(address _user) public view returns (Tweet[] memory) {
    uint256 count = 0;
    for (uint256 i = 0; i < tweetIds.length; i++) {
        if (tweets[tweetIds[i]].author == _user) {
            count++;
        }
    }
    Tweet[] memory userTweets = new Tweet[](count);
    uint256 index = 0;
    for (uint256 i = 0; i < tweetIds.length; i++) {
        if (tweets[tweetIds[i]].author == _user) {
            userTweets[index] = tweets[tweetIds[i]];
            index++;
        }
    }
    return userTweets;
  }

  function getPaginatedTweetIds(uint256 page, uint256 pageSize) public view returns (uint256[] memory) {
    uint256 totalTweets = tweetIds.length;
    if (totalTweets == 0) return new uint256[](0);
    uint256 start = page * pageSize;
    if (start >= totalTweets) return new uint256[](0);

    uint256 end = start + pageSize;
    if (end > totalTweets) {
        end = totalTweets;
    }

    uint256 count = end - start;
    uint256[] memory paginatedIds = new uint256[](count);

    for (uint256 i = 0; i < count; i++) {
        paginatedIds[i] = tweetIds[start + i];
    }

    return paginatedIds;
  }

  function getTweetDetails(uint256 _tweetId)
      public
      view
      returns (
          uint256,
          address,
          string memory,
          uint256,
          uint256,
          uint256
      )
  {
    require(_tweetId > 0 && _tweetId < tweetCounter, "Tweet not found");
    Tweet memory tweet = tweets[_tweetId];
    uint256 likesCount = tweetLikes[_tweetId].length;
    uint256 commentsCount = tweetComments[_tweetId].length;
    return (tweet.id, tweet.author, tweet.content, tweet.timestamp, likesCount, commentsCount);
  }

  function getTweetLikes(uint256 _tweetId)
      public
      view
      returns (
          uint256[] memory,
          address[] memory,
          uint256[] memory
      )
  {
    require(_tweetId > 0 && _tweetId < tweetCounter, "Tweet not found");
    uint256 likeCount = tweetLikes[_tweetId].length;
    uint256[] memory ids = new uint256[](likeCount);
    address[] memory authors = new address[](likeCount);
    uint256[] memory timestamps = new uint256[](likeCount);

    for (uint256 i = 0; i < likeCount; i++) {
        Like memory likeItem = tweetLikes[_tweetId][i];
        ids[i] = likeItem.id;
        authors[i] = likeItem.author;
        timestamps[i] = likeItem.timestamp;
    }

    return (ids, authors, timestamps);
  }

  function getRandomCommentIds(uint256 _tweetId, uint256 count) public view returns (uint256[] memory) {
    require(_tweetId > 0 && _tweetId < tweetCounter, "Tweet not found");
    uint256 totalComments = tweetComments[_tweetId].length;
    if (totalComments == 0) return new uint256[](0);
    if (count > totalComments) count = totalComments;

    uint256[] memory ids = new uint256[](totalComments);
    for (uint256 i = 0; i < totalComments; i++) {
        ids[i] = tweetComments[_tweetId][i].id;
    }
    // Fisher-Yates shuffle.
    for (uint256 i = totalComments - 1; i > 0; i--) {
        uint256 j = uint256(keccak256(abi.encodePacked(block.timestamp, msg.sender, i))) % (i + 1);
        (ids[i], ids[j]) = (ids[j], ids[i]);
    }
    uint256[] memory selectedIds = new uint256[](count);
    for (uint256 i = 0; i < count; i++) {
        selectedIds[i] = ids[i];
    }
    return selectedIds;
  }

  function getCommentDetails(uint256 _commentId) public view returns (uint256, address, string memory, uint256) {
      require(_commentId > 0 && _commentId < commentCounter, "Comment not found");
      uint256 tweetIdOfComment = commentToTweet[_commentId];
      uint256 index = commentIndex[_commentId];
      Comment memory comment = tweetComments[tweetIdOfComment][index];
      return (comment.id, comment.author, comment.content, comment.timestamp);
  }

  function likeTweet(uint256 _tweetId) external {
    require(_tweetId > 0 && _tweetId < tweetCounter, "Tweet does not exist");
    require(!tweetLikedBy[_tweetId][msg.sender], "User has already liked this tweet");

    uint256 currentLikeId = likeCounter;
    tweetLikes[_tweetId].push(Like({
        id: currentLikeId,
        author: msg.sender,
        timestamp: block.timestamp
    }));
    // Save the index of the like.
    tweetLikeIndex[_tweetId][msg.sender] = tweetLikes[_tweetId].length - 1;
    tweetLikedBy[_tweetId][msg.sender] = true;
    likeCounter++;

    emit TweetLiked(_tweetId, msg.sender, block.timestamp);
  }

  function unlikeTweet(uint256 _tweetId) external {
    require(_tweetId > 0 && _tweetId < tweetCounter, "Tweet does not exist");
    require(tweetLikedBy[_tweetId][msg.sender], "User hasn't liked this tweet");

    uint256 index = tweetLikeIndex[_tweetId][msg.sender];
    uint256 lastIndex = tweetLikes[_tweetId].length - 1;
    if (index != lastIndex) {
        Like memory lastLike = tweetLikes[_tweetId][lastIndex];
        tweetLikes[_tweetId][index] = lastLike;
        tweetLikeIndex[_tweetId][lastLike.author] = index;
    }
    tweetLikes[_tweetId].pop();
    tweetLikedBy[_tweetId][msg.sender] = false;
    delete tweetLikeIndex[_tweetId][msg.sender];

    emit TweetUnliked(_tweetId, msg.sender, block.timestamp);
  }

  function commentOnTweet(uint256 _tweetId, string memory _comment) external {
    require(_tweetId > 0 && _tweetId < tweetCounter, "Tweet does not exist");

    uint256 currentCommentId = commentCounter;
    tweetComments[_tweetId].push(Comment({
        id: currentCommentId,
        author: msg.sender,
        content: _comment,
        timestamp: block.timestamp
    }));
    // Save lookup info for the comment.
    commentToTweet[currentCommentId] = _tweetId;
    commentIndex[currentCommentId] = tweetComments[_tweetId].length - 1;
    commentCounter++;

    emit CommentCreated(_tweetId, currentCommentId, msg.sender, _comment, block.timestamp);
  }

  function deleteComment(uint256 _commentId) external {
    require(_commentId > 0 && _commentId < commentCounter, "Comment does not exist");
    uint256 tweetIdOfComment = commentToTweet[_commentId];
    uint256 index = commentIndex[_commentId];
    require(tweetComments[tweetIdOfComment][index].author == msg.sender, "Not the comment owner");

    uint256 lastIndex = tweetComments[tweetIdOfComment].length - 1;
    if (index != lastIndex) {
        Comment memory lastComment = tweetComments[tweetIdOfComment][lastIndex];
        tweetComments[tweetIdOfComment][index] = lastComment;
        commentIndex[lastComment.id] = index;
    }
    tweetComments[tweetIdOfComment].pop();
    // Clean up lookup mappings.
    delete commentToTweet[_commentId];
    delete commentIndex[_commentId];

    emit CommentDeleted(tweetIdOfComment, _commentId, msg.sender, block.timestamp);
  }

  function deleteTweet(uint256 _tweetId) public {
    require(_tweetId > 0 && _tweetId < tweetCounter, "Tweet does not exist");
    require(tweets[_tweetId].author == msg.sender, "You can't delete this tweet");

    // Optional: Clean up associated likes and comments.
    delete tweetLikes[_tweetId];
    delete tweetComments[_tweetId];

    // Remove the tweet from the tweets mapping.
    delete tweets[_tweetId];

    // Remove _tweetId from tweetIds array via swap-pop.
    uint256 length = tweetIds.length;
    for (uint256 i = 0; i < length; i++) {
        if (tweetIds[i] == _tweetId) {
            tweetIds[i] = tweetIds[length - 1];
            tweetIds.pop();
            break;
        }
    }

    emit TweetDeleted(_tweetId);
  }
}

Settings
{
  "viaIR": true,
  "evmVersion": "paris",
  "optimizer": {
    "enabled": true,
    "mode": "3"
  },
  "outputSelection": {
    "*": {
      "*": [
        "abi"
      ]
    }
  },
  "detectMissingLibraries": false,
  "forceEVMLA": false,
  "enableEraVMExtensions": false,
  "libraries": {}
}

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tweetId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"commentId","type":"uint256"},{"indexed":false,"internalType":"address","name":"author","type":"address"},{"indexed":false,"internalType":"string","name":"content","type":"string"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"CommentCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tweetId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"commentId","type":"uint256"},{"indexed":false,"internalType":"address","name":"author","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"CommentDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tweetId","type":"uint256"},{"indexed":false,"internalType":"address","name":"author","type":"address"},{"indexed":false,"internalType":"string","name":"content","type":"string"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TweetCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tweetId","type":"uint256"}],"name":"TweetDeleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tweetId","type":"uint256"},{"indexed":false,"internalType":"address","name":"author","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TweetLiked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tweetId","type":"uint256"},{"indexed":false,"internalType":"address","name":"author","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"TweetUnliked","type":"event"},{"inputs":[],"name":"MAX_TWEET_LENGTH","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_TWEET_LENGTH","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint16","name":"_maxTweetLength","type":"uint16"},{"internalType":"uint8","name":"_minTweetLength","type":"uint8"}],"name":"changeTweetMaxandMinLength","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"commentCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"commentIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tweetId","type":"uint256"},{"internalType":"string","name":"_comment","type":"string"}],"name":"commentOnTweet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"commentToTweet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_tweet","type":"string"}],"name":"createTweet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_commentId","type":"uint256"}],"name":"deleteComment","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tweetId","type":"uint256"}],"name":"deleteTweet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_commentId","type":"uint256"}],"name":"getCommentDetails","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"page","type":"uint256"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getPaginatedTweetIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tweetId","type":"uint256"},{"internalType":"uint256","name":"count","type":"uint256"}],"name":"getRandomCommentIds","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tweetId","type":"uint256"}],"name":"getTweetDetails","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"},{"internalType":"string","name":"","type":"string"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tweetId","type":"uint256"}],"name":"getTweetLikes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getTweetOfSpecificUser","outputs":[{"components":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"author","type":"address"},{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"internalType":"struct Twitter.Tweet[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"likeCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tweetId","type":"uint256"}],"name":"likeTweet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"tweetComments","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"author","type":"address"},{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tweetCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tweetIds","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"tweetLikeIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"tweetLikedBy","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"tweetLikes","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"author","type":"address"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tweets","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"author","type":"address"},{"internalType":"string","name":"content","type":"string"},{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tweetId","type":"uint256"}],"name":"unlikeTweet","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Contract Creation Code

9c4d535b000000000000000000000000000000000000000000000000000000000000000001000449870ce18aa340a3ef649a54a5898830b9b2c5d2f8a09322052a8f7a3300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x0002000000000002000b00000000000200010000000103550000006003100270000003e60030019d000000800f0000390000004000f0043f00000001002001900000006c0000c13d000003e602300197000000040020008c00000cec0000413d000000000301043b000000e003300270000003eb0030009c000000830000a13d000003ec0030009c000000950000213d000003f60030009c000001200000a13d000003f70030009c000002870000213d000003fa0030009c000003160000613d000003fb0030009c00000cec0000c13d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000201043b000000000002004b0000000001000019000000290000613d0000000901000039000000000101041a000000000012004b00000000010000390000000101004039000000010110018f000b00000002001d0f940dcb0000040f0000000b01000029000000000010043f0000000101000039000000200010043f000000400200003900000000010000190f940f750000040f0f940f0e0000040f0000000b02000029000000000020043f0000000302000039000000200020043f000800000001001d000000000100001900000040020000390f940f750000040f000000000101041a000b00000001001d0000000601000039000000200010043f000000000100001900000040020000390f940f750000040f000000080300002900000060023000390000000002020433000a00000002001d000000000101041a000900000001001d00000040013000390000000001010433000000200230003900000000030304330000000002020433000000c004000039000000400600043d000800000006001d000000400560003900000000004504350000041002200197000000200460003900000000002404350000000000360435000000c0026000390f940d8f0000040f0000000804000029000000a0024000390000000903000029000000000032043500000080024000390000000b03000029000000000032043500000060024000390000000a0300002900000000003204350000000001410049000003e60010009c000003e601008041000003e60040009c000003e60400804100000060011002100000004002400210000000000121019f00000f950001042e0000000001000416000000000001004b00000cec0000c13d000000000100041a00000001020000390000000903000039000000000023041b0000000a03000039000000000023041b0000000b03000039000000000023041b000003e70110019700000000020004110000001802200210000003e802200197000000000121019f000003e9011001c7000000000010041b000000200100003900000100001004430000012000000443000003ea0100004100000f950001042e000003ff0030009c000000e60000a13d000004000030009c0000012f0000a13d000004010030009c000002a60000213d000004040030009c0000031b0000613d000004050030009c00000cec0000c13d0000000001000416000000000001004b00000cec0000c13d000000000100041a0000ffff0110018f000000800010043f000004110100004100000f950001042e000003ed0030009c0000022c0000a13d000003ee0030009c000002fa0000213d000003f10030009c000004070000613d000003f20030009c00000cec0000c13d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000101043b000004100010009c00000cec0000213d000904100010019b0000000201000039000000000101041a000a00000001001d000000000001004b00000000010000190000074d0000c13d000000000401001900000005011002100000003f0210003900000415032001970000000002f30019000000000032004b00000000030000390000000103004039000004140020009c000007b40000213d0000000100300190000007b40000c13d000000400020043f00000000024f0436000500000002001d000000000004004b000000d10000613d00000060020000390000000003000019000000400400043d000004160040009c000007b40000213d0000008005400039000000400050043f000000400540003900000000002504350000006005400039000000000005043500000020054000390000000000050435000000000004043500000020033000390000000005f300190000000000450435000000000013004b000000c00000413d0000000a0000006b000007c10000c13d000000400100043d0000002002000039000000000321043600000000020f04330000000000230435000000400310003900000005042002100000000004340019000000000002004b000009ce0000c13d0000000002140049000003e60020009c000003e6020080410000006002200210000003e60010009c000003e6010080410000004001100210000000000112019f00000f950001042e000004090030009c000002550000213d0000040d0030009c000004260000613d0000040e0030009c0000044c0000613d0000040f0030009c00000cec0000c13d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000201043b000000000002004b000005fc0000613d0000000901000039000000000101041a000000000012004b000005fc0000813d000b00000002001d000000000020043f0000000401000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000000ff001001900000086d0000c13d000000400100043d00000044021000390000044003000041000000000032043500000024021000390000001c03000039000008620000013d000003fc0030009c000004640000613d000003fd0030009c000005670000613d000003fe0030009c00000cec0000c13d0000000001000416000000000001004b00000cec0000c13d000000000100041a00000018011002700000041001100197000000800010043f000004110100004100000f950001042e000004060030009c000005890000613d000004070030009c000005920000613d000004080030009c00000cec0000c13d000000440020008c00000cec0000413d0000000003000416000000000003004b00000cec0000c13d0000000403100370000000000303043b000b00000003001d0000002403100370000000000403043b000004140040009c00000cec0000213d0000002303400039000000000023004b00000cec0000813d0000000405400039000000000351034f000000000303043b000004140030009c000007b40000213d0000001f0630003900000442066001970000003f066000390000044206600197000004160060009c000007b40000213d0000008006600039000000400060043f000000800030043f00000000043400190000002404400039000000000024004b00000cec0000213d0000002002500039000000000221034f00000442043001980000001f0530018f000000a001400039000001620000613d000000a006000039000000000702034f000000007807043c0000000006860436000000000016004b0000015e0000c13d000000000005004b0000016f0000613d000000000242034f0000000304500210000000000501043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f0000000000210435000000a00130003900000000000104350000000b02000029000000000002004b0000085c0000613d0000000901000039000000000101041a000000000012004b0000085c0000813d0000000b01000039000000000101041a000a00000001001d000000000020043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000800000001001d000000400100043d000900000001001d000004160010009c000007b40000213d00000009030000290000008001300039000000400010043f0000004001300039000000800200003900000000002104350000000a01000029000000000113043600000000020004110000000000210435000004220100004100000000001004430000000001000414000003e60010009c000003e601008041000000c00110021000000423011001c70000800b020000390f940f8f0000040f000000010020019000000b6e0000613d000000000201043b00000009010000290000006001100039000600000002001d00000000002104350000000801000029000000000101041a000700000001001d000004140010009c000007b40000213d000000070100002900000001011000390000000802000029000000000012041b000000000020043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d00000007020000290000000202200210000000000101043b0000000001210019000000000200001900000009030000290f940e730000040f0000000a01000029000000000010043f0000000701000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000b02000029000000000021041b000000000020043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000900000001001d000000000001004b000005830000613d0000000a01000029000000000010043f0000000801000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d0000000902000029000000010220008a000000000101043b000000000021041b0000000b01000039000000000101041a000000010110003a000005830000613d0000000b02000039000000000012041b000000400100043d0000006002100039000000a003000039000000000032043500000040021000390000000003000411000000000032043500000020021000390000000a0300002900000000003204350000000b020000290000000000210435000000a003100039000000800200043d0000000000230435000000c003100039000000000002004b000002130000613d00000000040000190000000005340019000000a006400039000000000606043300000000006504350000002004400039000000000024004b0000020c0000413d000000000332001900000000000304350000008003100039000000060400002900000000004304350000001f022000390000044202200197000000c002200039000003e60020009c000003e6020080410000006002200210000003e60010009c000003e6010080410000004001100210000000000112019f0000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000428011001c70000800d020000390000000103000039000004340400004100000c9b0000013d000003f30030009c000006060000613d000003f40030009c000006100000613d000003f50030009c00000cec0000c13d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000101043b000000000010043f0000000101000039000000200010043f000000400200003900000000010000190f940f750000040f0000000002010019000900000001001d0000000101100039000000000101041a000a00000001001d000000000102041a000b00000001001d00000002012000390f940d420000040f00000009020000290000000302200039000000000502041a0000000004010019000000400200043d000900000002001d0000000a01000029000004100310019700000000010200190000000b020000290f940da10000040f0000000902000029000007440000013d0000040a0030009c000006aa0000613d0000040b0030009c000006af0000613d0000040c0030009c00000cec0000c13d000000440020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000002402100370000000000202043b000500000002001d0000000401100370000000000201043b000000000002004b0000071c0000613d0000000901000039000000000101041a000000000021004b0000071c0000a13d000700000002001d000000000020043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000000000002004b000007ad0000c13d000000400100043d0000043c0010009c000007b40000213d0000002002100039000000400020043f0000000000010435000000400300043d000b00000003001d00000020020000390000000002230436000007420000013d000003f80030009c000006cc0000613d000003f90030009c00000cec0000c13d000000440020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000402100370000000000202043b0000ffff0020008c00000cec0000213d0000002401100370000000000101043b000000ff0010008c00000cec0000213d000000000300041a000000180430027000000410044001970000000005000411000000000045004b000007730000c13d0000041e0330019700000010011002100000041f01100197000000000131019f000000000121019f000000000010041b000000000100001900000f950001042e000004020030009c000006d10000613d000004030030009c00000cec0000c13d000000240020008c00000cec0000413d0000000003000416000000000003004b00000cec0000c13d0000000403100370000000000403043b000004140040009c00000cec0000213d0000002303400039000000000023004b00000cec0000813d0000000405400039000000000351034f000000000303043b000004140030009c000007b40000213d0000001f0630003900000442066001970000003f066000390000044206600197000004160060009c000007b40000213d0000008006600039000000400060043f000000800030043f00000000043400190000002404400039000000000024004b00000cec0000213d0000002002500039000000000221034f00000442043001980000001f0530018f000000a001400039000002d40000613d000000a006000039000000000702034f000000007807043c0000000006860436000000000016004b000002d00000c13d000000000005004b000002e10000613d000000000242034f0000000304500210000000000501043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f0000000000210435000000a0013000390000000000010435000000400400043d000000000100041a0000001002100270000000ff0320018f000000800200043d000000000032004b000009270000813d00000044014000390000042d0200004100000000002104350000002401400039000000150200003900000000002104350000041a010000410000000000140435000000040140003900000020020000390000000000210435000003e60040009c000003e604008041000000400140021000000421011001c700000f9600010430000003ef0030009c0000070b0000613d000003f00030009c00000cec0000c13d000000440020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000002402100370000000000202043b000b00000002001d000004100020009c00000cec0000213d0000000401100370000000000101043b000000000010043f0000000501000039000000200010043f000000400200003900000000010000190f940f750000040f0000000b02000029000000000020043f000000200010043f00000000010000190000004002000039000007170000013d0000000001000416000000000001004b00000cec0000c13d0000000a01000039000007180000013d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000201043b000000000002004b000005fc0000613d0000000901000039000000000101041a000000000012004b000005fc0000813d000b00000002001d000000000020043f0000000401000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000000ff001001900000093d0000c13d0000000a01000039000000000101041a000a00000001001d0000000b01000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000800000001001d000000400100043d000900000001001d000004190010009c000007b40000213d00000009020000290000006001200039000000400010043f0000000a0100002900000000021204360000000001000411000a00000002001d0000000000120435000004220100004100000000001004430000000001000414000003e60010009c000003e601008041000000c00110021000000423011001c70000800b020000390f940f8f0000040f000000010020019000000b6e0000613d000000000101043b00000009020000290000004002200039000500000001001d000600000002001d00000000001204350000000801000029000000000101041a000700000001001d000004140010009c000007b40000213d000000070100002900000001011000390000000802000029000000000012041b000000000020043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000070200002900000003022000c9000000000101043b000000000121001900000009020000290000000002020433000000000021041b0000000102100039000000000302041a00000431033001970000000a0400002900000000040404330000041004400197000000000343019f000000000032041b000000020110003900000006020000290000000002020433000000000021041b0000000b01000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000a00000001001d000000000001004b000005830000613d0000000b01000029000000000010043f0000000501000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d0000000a02000029000000010220008a000000000101043b000000000021041b0000000b01000029000000000010043f0000000401000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000004430220019700000001022001bf000000000021041b0000000a01000039000000000101041a000000010110003a000005830000613d0000000a02000039000000000012041b000000400100043d00000040021000390000000503000029000000000032043500000000020004110000041002200197000000200310003900000000002304350000000b020000290000000000210435000003e60010009c000003e60100804100000040011002100000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000432011001c70000800d020000390000000103000039000004330400004100000c9b0000013d000000440020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000002402100370000000000202043b000b00000002001d000004100020009c00000cec0000213d0000000401100370000000000101043b000000000010043f0000000401000039000000200010043f000000400200003900000000010000190f940f750000040f0000000b02000029000000000020043f000000200010043f000000000100001900000040020000390f940f750000040f000000000101041a000000ff001001900000000001000039000000010100c039000000800010043f000004110100004100000f950001042e000000440020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000002402100370000000000202043b000b00000002001d0000000401100370000000000101043b000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a0000000b0020006b00000cec0000813d0000000b020000290f940cf40000040f0000000202100039000000000402041a000000000201041a0000000101100039000000000301041a000000400100043d000b00000001001d00000410033001970f940d100000040f000007010000013d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000101043b0000000202000039000000000202041a000000000021004b00000cec0000813d0f940d180000040f0000000302200210000000000101041a000000000121022f000000ff0020008c0000000001002019000000400200043d0000000000120435000003e60020009c000003e602008041000000400120021000000441011001c700000f950001042e000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000201043b000000000002004b000007260000613d0000000b01000039000000000101041a000000000012004b000007260000813d000b00000002001d000000000020043f0000000701000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000a00000001001d0000000801000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000900000001001d0000000a01000029000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000000090020006c00000cee0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d00000009020000290008000200200218000000000101043b00000008011000290000000101100039000000000101041a00000410011001970000000002000411000000000021004b00000ad20000c13d0000000a01000029000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000000000001004b000005830000613d000000010210008a000700000002001d000000090020006b00000c220000c13d0000000a01000029000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000900000001001d000000000101041a000800000001001d000000000001004b00000c810000613d0000000901000029000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d0000000802000029000000010220008a000700000002001d0000000202200210000000000101043b0000000002210019000000000002041b0000000101200039000000000001041b000600000002001d0000000201200039000500000001001d000000000101041a000000010010019000000001021002700000007f0220618f000800000002001d0000001f0020008c00000000020000390000000102002039000000000121013f0000000100100190000005f60000c13d000000080000006b0000051f0000613d00000008010000290000001f0010008c0000051d0000a13d0000000501000029000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b00000008020000290000001f02200039000000050220027000000000022100190000000103100039000000000023004b0000051a0000813d000000000003041b0000000103300039000000000023004b000005160000413d0000000502000029000000000002041b000500000001001d0000000501000029000000000001041b00000006010000290000000301100039000000000001041b00000009010000290000000702000029000000000021041b0000000b01000029000000000010043f0000000701000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000001041b0000000801000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000001041b000000400300043d00000040013000390000000002000411000000000021043500000020013000390000000b0200002900000000002104350000000a01000029000b00000003001d0000000000130435000004220100004100000000001004430000000001000414000003e60010009c000003e601008041000000c00110021000000423011001c70000800b020000390f940f8f0000040f000000010020019000000b6e0000613d000000000101043b0000000b0300002900000060023000390000000000120435000003e60030009c000003e60300804100000040013002100000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000424011001c70000800d020000390000000103000039000004250400004100000c9b0000013d000000440020008c00000cec0000413d0000000003000416000000000003004b00000cec0000c13d0000002403100370000000000603043b0000000403100370000000000703043b0000000203000039000000000403041a000000000004004b0000073a0000613d00000000057600a9000000000007004b0000057a0000613d00000000077500d9000000000067004b000005830000c13d000000000045004b0000073a0000813d000000000065001a000005830000413d0000000007650019000000000047004b0000000007048019000000000657004b0000077f0000813d0000043a01000041000000000010043f0000001101000039000000040010043f0000043b0100004100000f96000104300000000001000416000000000001004b00000cec0000c13d000000000100041a0000001001100270000000ff0110018f000000800010043f000004110100004100000f950001042e000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000201043b000000000002004b000005fc0000613d0000000901000039000000000101041a000000000012004b000005fc0000813d000700000002001d000000000020043f0000000101000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000101100039000000000101041a00000410011001970000000002000411000000000021004b000007ba0000c13d0000000701000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000000000001041b000000000002004b000009fa0000c13d0000000701000029000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000000000001041b000b00000002001d000000000002004b00000a860000c13d0000000701000029000000000010043f0000000101000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000201043b000000000002041b0000000101200039000000000001041b000a00000002001d0000000201200039000900000001001d000000000101041a000000010210019000000001011002700000007f0110618f000b00000001001d0000001f0010008c00000000010000390000000101002039000000000012004b00000b6f0000613d0000043a01000041000000000010043f0000002201000039000000040010043f0000043b0100004100000f96000104300000041a01000041000000800010043f0000002001000039000000840010043f0000001401000039000000a40010043f0000043501000041000000c40010043f000004270100004100000f9600010430000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000101043b000000000010043f0000000801000039000007140000013d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000201043b000000000002004b0000071c0000613d0000000901000039000000000101041a000000000012004b0000071c0000813d000a00000002001d000000000020043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000900000001001d000004140010009c000007b40000213d000000090100002900000005011002100000003f021000390000041804200197000000400900043d0000000002490019000000000092004b00000000030000390000000103004039000004140020009c000007b40000213d0000000100300190000007b40000c13d000000400020043f00000009020000290000000002290436000700000002001d0000001f0210018f00000000030000310000000103300367000000000001004b0000064c0000613d00000007070000290000000005170019000000000603034f000000006806043c0000000007870436000000000057004b000006480000c13d000000000002004b000000400600043d0000000005460019000800000006001d000000000065004b00000000060000390000000106004039000004140050009c000007b40000213d0000000100600190000007b40000c13d000500000009001d000000400050043f000000090500002900000008060000290000000009560436000000000001004b000006650000613d0000000005190019000000000603034f0000000007090019000000006806043c0000000007870436000000000057004b000006610000c13d000400000009001d000000000002004b000000400500043d0000000004450019000600000005001d000000000054004b00000000050000390000000105004039000004140040009c000007b40000213d0000000100500190000007b40000c13d000000400040043f000000090400002900000006050000290000000004450436000300000004001d000000000001004b0000067e0000613d00000003040000290000000001140019000000003503043c0000000004540436000000000014004b0000067a0000c13d000000000002004b000000090000006b00000ad90000c13d000000400400043d00000060010000390000000001140436000000050200002900000000030204330000006002400039000000000032043500000000070400190000008002400039000000000003004b000006940000613d000000000400001900000005060000290000002006600039000000000506043300000000025204360000000104400039000000000034004b0000068e0000413d00000000037200490000000000310435000000080100002900000000010104330000000002120436000000000001004b000006a30000613d000000000300001900000004050000290000000054050434000004100440019700000000024204360000000103300039000000000013004b0000069d0000413d000b00000007001d00000000017200490000004003700039000000000013043500000006010000290f940dbe0000040f000007010000013d0000000001000416000000000001004b00000cec0000c13d0000000901000039000007180000013d000000440020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000002402100370000000000202043b000b00000002001d0000000401100370000000000101043b000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a0000000b0020006b00000cec0000813d0000000b020000290f940d260000040f0000023f0000013d0000000001000416000000000001004b00000cec0000c13d0000000b01000039000007180000013d000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000101043b000000000001004b000007300000613d0000000b02000039000000000202041a000000000021004b000007300000813d000000000010043f0000000701000039000000200010043f000000400200003900000000010000190f940f750000040f000000000101041a000a00000001001d0000000801000039000000200010043f000000000100001900000040020000390f940f750000040f000000000101041a000b00000001001d0000000a01000029000000000010043f0000000601000039000000200010043f000000000100001900000040020000390f940f750000040f0000000b020000290f940d260000040f0f940f0e0000040f000000400210003900000000040204330000006002100039000000000502043300000000120104340000000003010433000000400100043d000b00000001001d00000410033001970f940da10000040f0000000b020000290000000001210049000003e60010009c000003e601008041000003e60020009c000003e60200804100000060011002100000004002200210000000000121019f00000f950001042e000000240020008c00000cec0000413d0000000002000416000000000002004b00000cec0000c13d0000000401100370000000000101043b000000000010043f0000000701000039000000200010043f000000400200003900000000010000190f940f750000040f000000000101041a000000800010043f000004110100004100000f950001042e0000041a01000041000000800010043f0000002001000039000000840010043f0000000f01000039000000a40010043f0000043d01000041000000c40010043f000004270100004100000f96000104300000041a01000041000000800010043f0000002001000039000000840010043f0000001601000039000000a40010043f0000042601000041000000c40010043f000004270100004100000f96000104300000041a01000041000000800010043f0000002001000039000000840010043f0000001101000039000000a40010043f0000042e01000041000000c40010043f000004270100004100000f9600010430000000a001000039000000400010043f000000800000043f000000400200043d000b00000002001d0000002001000039000000000212043600000080010000390f940dbe0000040f0000000b020000290000000001210049000003e60010009c000003e6010080410000006001100210000003e60020009c000003e6020080410000004002200210000000000121019f00000f950001042e0000000002000019000800000000001d000007540000013d0000000b0200002900000001022000390000000a0020006c000007a70000813d0000000201000039000000000101041a000000000021004b00000cee0000a13d000b00000002001d000004120120009a000000000101041a000000000010043f0000000101000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000101100039000000000101041a0000041001100197000000090010006c000007500000c13d0000000801000029000000010110003a0000000b02000029000005830000613d000800000001001d000007510000013d0000041a01000041000000800010043f0000002001000039000000840010043f0000002101000039000000a40010043f0000041b01000041000000c40010043f0000041c01000041000000e40010043f0000041d0100004100000f9600010430000004140060009c000007b40000213d00000005096002100000003f089000390000041808800197000004160080009c000007b40000213d0000008008800039000000400080043f000000800060043f0000001f0890018f000000000009004b000007930000613d000000000121034f000000a002900039000000a009000039000000001a01043c0000000009a90436000000000029004b0000078f0000c13d000000000008004b000000000057004b0000073d0000613d00000000010000190000000002510019000000000024004b00000cee0000a13d000000000030043f000000800700043d000000000017004b00000cee0000a13d000004120220009a000000000202041a0000000507100210000000a00770003900000000002704350000000101100039000000000061004b000007970000413d0000073d0000013d0000000801000029000004140010009c000007b40000213d000000400f00043d0000000801000029000000ad0000013d000000050020006c00000005010000290000000001024019000500000001001d000900000002001d000004140020009c000009510000a13d0000043a01000041000000000010043f0000004101000039000000040010043f0000043b0100004100000f9600010430000000400100043d00000044021000390000043603000041000000000032043500000024021000390000001b03000039000008620000013d0000000003000019000800000000001d00070000000f001d000007c90000013d0000000b0300002900000001033000390000000a0030006c000000d30000813d0000000201000039000000000101041a000000000031004b00000cee0000a13d000b00000003001d000004120130009a000600000001001d000000000101041a000000000010043f0000000101000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000070f000029000000010020019000000cec0000613d000000000101043b0000000101100039000000000101041a0000041001100197000000090010006c000007c50000c13d0000000201000039000000000101041a0000000b0010006c00000cee0000a13d0000000601000029000000000101041a000000000010043f0000000101000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000070f000029000000010020019000000cec0000613d000000000601043b000000400500043d000004160050009c000007b40000213d0000008001500039000000400010043f000000000106041a00000000011504360000000102600039000000000202041a000004100220019700000000002104350000000201600039000000000201041a000000010320019000000001082002700000007f0880618f0000001f0080008c00000000040000390000000104002039000000000442013f0000000100400190000005f60000c13d000000400700043d0000000004870436000000000003004b000008330000613d000100000004001d000200000008001d000300000007001d000400000006001d000600000005001d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000070f000029000000010020019000000cec0000613d0000000208000029000000000008004b000008390000613d000000000201043b000000000100001900000006050000290000000406000029000000030700002900000001090000290000000003190019000000000402041a000000000043043500000001022000390000002001100039000000000081004b0000082b0000413d0000083d0000013d00000443012001970000000000140435000000000008004b000000200100003900000000010060390000083d0000013d00000000010000190000000605000029000000040600002900000003070000290000003f0110003900000442021001970000000001720019000000000021004b00000000020000390000000102004039000004140010009c000007b40000213d0000000100200190000007b40000c13d000000400010043f0000004001500039000000000071043500000060015000390000000302600039000000000202041a000000000021043500000000010f0433000000080010006c0000000b0300002900000cee0000a13d000000080400002900000005014002100000000501100029000000000051043500000000010f0433000000000041004b00000cee0000a13d0000000801000029000800010010003d000007c60000013d000000400100043d0000004402100039000004350300004100000000003204350000002402100039000000140300003900000000003204350000041a020000410000000000210435000000040210003900000020030000390000000000320435000003e60010009c000003e601008041000000400110021000000421011001c700000f96000104300000000b01000029000000000010043f0000000501000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000a00000001001d0000000b01000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000101041a000000000001004b000005830000613d000000010210008a000900000002001d0000000a0020006b00000ba20000c13d0000000b01000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000a00000001001d000000000101041a000900000001001d000000000001004b00000c810000613d0000000a01000029000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000902000029000000010220008a00000003032000c90000000001310019000000000001041b0000000103100039000000000003041b0000000201100039000000000001041b0000000a01000029000000000021041b0000000b01000029000000000010043f0000000401000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a0000044302200197000000000021041b0000000b01000029000000000010043f0000000501000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000002000411000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000001041b000000400100043d000a00000001001d000004220100004100000000001004430000000001000414000003e60010009c000003e601008041000000c00110021000000423011001c70000800b020000390f940f8f0000040f000000010020019000000b6e0000613d000000000101043b0000000a030000290000004002300039000000000012043500000000010004110000041001100197000000200230003900000000001204350000000b010000290000000000130435000003e60030009c000003e60300804100000040013002100000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000432011001c70000800d0200003900000001030000390000043f0400004100000c9b0000013d0000ffff0110018f000000000012004b00000a160000a13d00000064014000390000042a02000041000000000021043500000044014000390000042b0200004100000000002104350000002401400039000000220200003900000000002104350000041a010000410000000000140435000000040140003900000020020000390000000000210435000003e60040009c000003e60400804100000040014002100000042c011001c700000f9600010430000000400100043d00000064021000390000042f0300004100000000003204350000004402100039000004300300004100000000003204350000002402100039000000210300003900000000003204350000041a020000410000000000210435000000040210003900000020030000390000000000320435000003e60010009c000003e60100804100000040011002100000042c011001c700000f9600010430000000090100002900000005011002100000003f021000390000041802200197000000400300043d0000000002230019000a00000003001d000000000032004b00000000030000390000000103004039000004140020009c000007b40000213d0000000100300190000007b40000c13d000000400020043f0000000a0200002900000009030000290000000002320436000800000002001d0000001f0210018f000000000001004b0000096f0000613d0000000804000029000000000114001900000000030000310000000103300367000000003503043c0000000004540436000000000014004b0000096b0000c13d000000000002004b000b00000000001d0000000701000029000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a0000000b0020006c00000cee0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d0000000a0200002900000000020204330000000b04000029000000000042004b00000cee0000a13d00000005024002100000000802200029000000000101043b00000002034002100000000001310019000000000101041a00000000001204350000000104400039000b00000004001d000000090040006c000009710000413d0000000901000029000000010110008c00000b230000c13d000000050100002900000005031002100000003f013000390000041802100197000000400100043d0000000002210019000000000012004b00000000040000390000000104004039000004140020009c000007b40000213d0000000100400190000007b40000c13d000000400020043f000000050200002900000000022104360000001f0430018f000000000003004b000009ba0000613d0000000003320019000000000500003100000001055003670000000006020019000000005705043c0000000006760436000000000036004b000009b60000c13d000000000004004b000000050000006b000002820000613d00000000030000190000000a040000290000000004040433000000000034004b00000cee0000a13d0000000004010433000000000034004b00000cee0000a13d000000050430021000000000052400190000000804400029000000000404043300000000004504350000000103300039000000050030006c000009be0000413d000002820000013d00000080050000390000000007000019000009dd0000013d000000000b9a001900000000000b043500000060044000390000006008800039000000000808043300000000008404350000001f04900039000004420440019700000000044a00190000000107700039000000000027004b000000dd0000813d0000000008140049000000400880008a0000000003830436000000200ff0003900000000080f043300000000a90804340000000009940436000000000a0a0433000004100aa001970000000000a9043500000040098000390000000009090433000000400a40003900000000005a0435000000800a40003900000000b909043400000000009a0435000000a00a400039000000000009004b000009d10000613d000000000c000019000000000dac0019000000000ecb0019000000000e0e04330000000000ed0435000000200cc0003900000000009c004b000009f20000413d000009d10000013d00000003032000c9000b00000003001d000000030330011a000000000032004b000005830000c13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000b02100029000000000021004b000005c50000813d000000000001041b0000000103100039000000000003041b0000000203100039000000000003041b0000000301100039000000000021004b00000a0d0000413d000005c50000013d000b00000004001d000004160040009c000007b40000213d0000000901000039000000000301041a0000000b020000290000008001200039000000400010043f000000400120003900000080040000390000000000410435000a00000003001d000000000132043600000000020004110000000000210435000004220100004100000000001004430000000001000414000003e60010009c000003e601008041000000c00110021000000423011001c70000800b020000390f940f8f0000040f000000010020019000000b6e0000613d000000000201043b0000000b010000290000006001100039000900000002001d00000000002104350000000a01000029000000000010043f0000000101000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000b020000290f940ddf0000040f0000000202000039000000000102041a000004140010009c000007b40000213d0000000103100039000000000032041b000000000020043f000004120110009a0000000a02000029000000000021041b0000000901000039000000000101041a000000010110003a000005830000613d0000000902000039000000000012041b000000400100043d00000040021000390000008003000039000000000032043500000000020004110000041002200197000000200310003900000000002304350000000a0200002900000000002104350000008003100039000000800200043d0000000000230435000000a003100039000000000002004b00000a6d0000613d00000000040000190000000005340019000000a006400039000000000606043300000000006504350000002004400039000000000024004b00000a660000413d000000000332001900000000000304350000006003100039000000090400002900000000004304350000001f022000390000044202200197000000a002200039000003e60020009c000003e6020080410000006002200210000003e60010009c000003e6010080410000004001100210000000000112019f0000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000428011001c70000800d020000390000000103000039000004290400004100000c9b0000013d0000000b02000029000004370020009c000005830000213d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d0000000b020000290000000202200210000000000301043b0000000004230019000000000043004b000005d80000813d000800000004001d00000aa60000013d0000000a02000029000000000002041b00000000050100190000000b030000290000000804000029000000000005041b0000000301300039000000000001041b0000000403300039000000000043004b000005d80000813d000000000003041b0000000101300039000000000001041b0000000205300039000000000105041a000000010010019000000001061002700000007f0660618f0000001f0060008c00000000020000390000000102002039000000000121013f0000000100100190000005f60000c13d000000000006004b00000aa10000613d0000001f0060008c00000aa00000a13d000900000006001d000b00000003001d000a00000005001d000000000050043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b00000009020000290000001f02200039000000050220027000000000022100190000000103100039000000000023004b00000a9b0000813d000000000003041b0000000103300039000000000023004b00000acd0000413d00000a9b0000013d000000400100043d00000044021000390000042003000041000000000032043500000024021000390000001503000039000008620000013d000b00000000001d0000000a01000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a0000000b0020006c00000cee0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000400300043d000004190030009c0000000506000029000007b40000213d000000000101043b0000006002300039000000400020043f0000000b0700002900000003027000c90000000001210019000000000401041a00000000024304360000000105100039000000000505041a0000041005500197000000000052043500000002051000390000004001300039000000000305041a00000000003104350000000003060433000000000073004b00000cee0000a13d00000005037002100000000705300029000000000045043500000008040000290000000004040433000000000074004b00000cee0000a13d000000040430002900000000020204330000041002200197000000000024043500000006020000290000000002020433000000000072004b00000cee0000a13d0000000302300029000000000101043300000000001204350000000107700039000b00000007001d000000090070006c00000ada0000413d000006810000013d00000000020004110006006000200218000b00000001001d000000400100043d000700000001001d000004220100004100000000001004430000000001000414000003e60010009c000003e601008041000000c00110021000000423011001c70000800b020000390f940f8f0000040f000000010020019000000b6e0000613d00000007040000290000002002400039000000000101043b000000000012043500000040014000390000000603000029000000000031043500000054014000390000000b03000029000000000031043500000054010000390000000000140435000004160040009c000007b40000213d0000008001400039000000400010043f000003e60020009c000003e60200804100000040012002100000000002040433000003e60020009c000003e6020080410000006002200210000000000112019f0000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000428011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b00000009101000fa0000000a020000290000000002020433000000000012004b0000000b0500002900000cee0000a13d000000000052004b00000cee0000a13d00000005011002100000000803100029000000000103043300000005025002100000000802200029000000000402043300000000004304350000000a030000290000000003030433000000000053004b00000cee0000a13d0000000000120435000000010150008c000900000005001d00000b250000c13d0000099f0000013d000000000001042f0000000b0000006b00000b900000613d0000000b010000290000001f0010008c00000b8e0000a13d0000000901000029000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000b020000290000001f02200039000000050220027000000000022100190000000103100039000000000023004b00000b8b0000813d000000000003041b0000000103300039000000000023004b00000b870000413d0000000902000029000000000002041b000900000001001d0000000901000029000000000001041b0000000a010000290000000301100039000000000001041b0000000201000039000000000201041a000000000002004b000000070600002900000c8d0000613d000000000010043f0000000003000019000004120430009a000000000504041a000000000065004b00000c7b0000613d0000000103300039000000000023004b00000b9a0000413d00000c8d0000013d0000000b01000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000000090020006c00000cee0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000400200043d000800000002001d0000043e0020009c000007b40000813d000000000101043b00000008040000290000006002400039000000400020043f000000090200002900000003022000c90000000001210019000000000201041a00000000032404360000000102100039000000000202041a0000041002200197000900000003001d000000000023043500000002011000390000004002400039000000000101041a000700000002001d00000000001204350000000b01000029000000000010043f0000000301000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a0000000a0020006c00000cee0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d0000000a0200002900000003022000c9000000000101043b000000000121001900000008020000290000000002020433000000000021041b0000000102100039000000000302041a0000043103300197000000090400002900000000040404330000041004400197000000000343019f000000000032041b000000020110003900000007020000290000000002020433000000000021041b0000000b01000029000000000010043f0000000501000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000090200002900000000020204330000041002200197000000000020043f000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000a02000029000000000021041b0000089f0000013d0000000a01000029000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000000070020006c00000cee0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000400200043d000600000002001d000004160020009c000007b40000213d00000007020000290000000202200210000000000321001900000006020000290000008001200039000000400010043f000000000103041a00000000011204360000000102300039000000000202041a00000410022001970000000000210435000500000003001d0000000201300039000000000201041a000000010320019000000001042002700000007f0440618f000700000004001d0000001f0040008c00000000040000390000000104002039000000000442013f0000000100400190000005f60000c13d000000400400043d000400000004001d00000007050000290000000004540436000300000004001d000000000003004b00000ca00000613d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d0000000705000029000000000005004b0000000002000019000000030600002900000ca60000613d000000000101043b00000000020000190000000003260019000000000401041a000000000043043500000001011000390000002002200039000000000052004b00000c730000413d00000ca60000013d000004380220009a000000000202041a000000000024041b000000000201041a000000000002004b00000c870000c13d0000043a01000041000000000010043f0000003101000039000000040010043f0000043b0100004100000f9600010430000000000010043f000004380320009a000000000003041b000000010220008a000000000021041b0000000706000029000000400100043d0000000000610435000003e60010009c000003e60100804100000040011002100000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000417011001c70000800d02000039000000010300003900000439040000410f940f8a0000040f000000010020019000000cec0000613d000000000100001900000f950001042e000004430120019700000003020000290000000000120435000000070000006b000000200200003900000000020060390000003f0120003900000442021001970000000401200029000000000021004b00000000020000390000000102004039000004140010009c000007b40000213d0000000100200190000007b40000c13d000000400010043f0000000602000029000000400120003900000004030000290000000000310435000000600120003900000005020000290000000302200039000000000202041a00000000002104350000000a01000029000000000010043f0000000601000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b000000000201041a000000090020006c00000cee0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000801100029000000000200001900000006030000290f940e730000040f00000006010000290000000001010433000000000010043f0000000801000039000000200010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000413011001c700008010020000390f940f8f0000040f000000010020019000000cec0000613d000000000101043b0000000902000029000000000021041b000004c90000013d000000000100001900000f96000104300000043a01000041000000000010043f0000003201000039000000040010043f0000043b0100004100000f96000104300001000000000002000000000301041a000100000002001d000000000023004b00000d080000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000d0e0000613d000000010200002900000003022000c9000000000101043b0000000001210019000000000001042d0000043a01000041000000000010043f0000003201000039000000040010043f0000043b0100004100000f9600010430000000000100001900000f96000104300000004005100039000000000045043500000410033001970000002004100039000000000034043500000000002104350000006001100039000000000001042d0000000202000039000000000302041a000000000013004b00000d200000a13d000000000020043f000004120110009a0000000002000019000000000001042d0000043a01000041000000000010043f0000003201000039000000040010043f0000043b0100004100000f96000104300001000000000002000000000301041a000100000002001d000000000023004b00000d3a0000a13d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000d400000613d00000001020000290000000202200210000000000101043b0000000001210019000000000001042d0000043a01000041000000000010043f0000003201000039000000040010043f0000043b0100004100000f9600010430000000000100001900000f96000104300003000000000002000000000201041a000000010320019000000001062002700000007f0660618f0000001f0060008c00000000040000390000000104002039000000000043004b00000d810000c13d000000400500043d0000000004650436000000000003004b00000d6c0000613d000100000004001d000300000006001d000200000005001d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000d8d0000613d0000000306000029000000000006004b00000d720000613d000000000201043b0000000001000019000000020500002900000001070000290000000003170019000000000402041a000000000043043500000001022000390000002001100039000000000061004b00000d640000413d00000d740000013d00000443012001970000000000140435000000000006004b0000002001000039000000000100603900000d740000013d000000000100001900000002050000290000003f0110003900000442021001970000000001520019000000000021004b00000000020000390000000102004039000004140010009c00000d870000213d000000010020019000000d870000c13d000000400010043f0000000001050019000000000001042d0000043a01000041000000000010043f0000002201000039000000040010043f0000043b0100004100000f96000104300000043a01000041000000000010043f0000004101000039000000040010043f0000043b0100004100000f9600010430000000000100001900000f960001043000000000430104340000000001320436000000000003004b00000d9b0000613d000000000200001900000000052100190000000006240019000000000606043300000000006504350000002002200039000000000032004b00000d940000413d000000000231001900000000000204350000001f0230003900000442022001970000000001210019000000000001042d0000004006100039000000800700003900000000007604350000041003300197000000200610003900000000003604350000000000210435000000004204043400000080031000390000000000230435000000a003100039000000000002004b00000db60000613d000000000600001900000000073600190000000008640019000000000808043300000000008704350000002006600039000000000026004b00000daf0000413d00000000042300190000000000040435000000600110003900000000005104350000001f0120003900000442011001970000000001130019000000000001042d000000000301001900000000040104330000000001420436000000000004004b00000dca0000613d00000000020000190000002003300039000000000503043300000000015104360000000102200039000000000042004b00000dc40000413d000000000001042d000000000001004b00000dce0000613d000000000001042d000000400100043d00000044021000390000043d03000041000000000032043500000024021000390000000f0300003900000000003204350000041a020000410000000000210435000000040210003900000020030000390000000000320435000003e60010009c000003e601008041000000400110021000000421011001c700000f9600010430000700000000000200000000060100190000000031020434000000000016041b000000000103043300000410011001970000000104600039000000000304041a0000043103300197000000000113019f000000000014041b000000400120003900000000040104330000000085040434000004440050009c00000e650000813d0000000207600039000000000107041a000000010310019000000001091002700000007f0990618f0000001f0090008c00000000010000390000000101002039000000000013004b00000e6b0000c13d000000200090008c000700000002001d000500000006001d000400000007001d000600000005001d000300000004001d00000e210000413d000100000009001d000200000008001d000000000070043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000e710000613d00000006050000290000001f025000390000000502200270000000200050008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000003230019000000000013004b000000070200002900000005060000290000000407000029000000020800002900000e210000813d000000000003041b0000000103300039000000000013004b00000e1d0000413d0000001f0050008c00000e4e0000a13d000000000070043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000e710000613d00000006080000290000044202800198000000000101043b000000030900002900000e5f0000613d000000010320008a00000005033002700000000004310019000000200300003900000001044000390000000506000029000000040700002900000000059300190000000005050433000000000051041b00000020033000390000000101100039000000000041004b00000e390000c13d000000000082004b00000e4a0000813d0000000302800210000000f80220018f000004450220027f000004450220016700000000039300190000000003030433000000000223016f000000000021041b000000010180021000000001011001bf000000070200002900000e590000013d000000000005004b00000e520000613d000000000108043300000e530000013d00000000010000190000000304500210000004450440027f0000044503400167000000000131016f0000000103500210000000000131019f000000000017041b000000030160003900000060022000390000000002020433000000000021041b000000000001042d000000200300003900000005060000290000000407000029000000000082004b00000e420000413d00000e4a0000013d0000043a01000041000000000010043f0000004101000039000000040010043f0000043b0100004100000f96000104300000043a01000041000000000010043f0000002201000039000000040010043f0000043b0100004100000f9600010430000000000100001900000f96000104300007000000000002000000000002004b00000efb0000c13d00000000060100190000000021030434000000000016041b000000000102043300000410011001970000000102600039000000000402041a0000043104400197000000000114019f000000000012041b000000400130003900000000040104330000000085040434000004440050009c00000f000000813d0000000207600039000000000107041a000000010210019000000001091002700000007f0990618f0000001f0090008c00000000010000390000000101002039000000000012004b00000f060000c13d000000200090008c000700000003001d000500000006001d000400000007001d000600000005001d000300000004001d00000eb70000413d000100000009001d000200000008001d000000000070043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000f0c0000613d00000006050000290000001f025000390000000502200270000000200050008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b000000070300002900000005060000290000000407000029000000020800002900000eb70000813d000000000002041b0000000102200039000000000012004b00000eb30000413d0000001f0050008c00000ee40000a13d000000000070043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000f0c0000613d00000006080000290000044202800198000000000101043b000000030900002900000ef50000613d000000010320008a00000005033002700000000004310019000000200300003900000001044000390000000506000029000000040700002900000000059300190000000005050433000000000051041b00000020033000390000000101100039000000000041004b00000ecf0000c13d000000000082004b00000ee00000813d0000000302800210000000f80220018f000004450220027f000004450220016700000000039300190000000003030433000000000223016f000000000021041b000000010180021000000001011001bf000000070300002900000eef0000013d000000000005004b00000ee80000613d000000000108043300000ee90000013d00000000010000190000000302500210000004450220027f0000044502200167000000000121016f0000000102500210000000000121019f000000000017041b000000030160003900000060023000390000000002020433000000000021041b000000000001042d000000200300003900000005060000290000000407000029000000000082004b00000ed80000413d00000ee00000013d0000043a01000041000000000010043f000000040000043f0000043b0100004100000f96000104300000043a01000041000000000010043f0000004101000039000000040010043f0000043b0100004100000f96000104300000043a01000041000000000010043f0000002201000039000000040010043f0000043b0100004100000f9600010430000000000100001900000f96000104300005000000000002000000400500043d000004460050009c00000f660000813d00000000060100190000008001500039000000400010043f000000000106041a00000000011504360000000102600039000000000202041a000004100220019700000000002104350000000201600039000000000201041a000000010320019000000001082002700000007f0880618f0000001f0080008c00000000040000390000000104002039000000000043004b00000f6c0000c13d000000400700043d0000000004870436000000000003004b00000f490000613d000100000004001d000500000008001d000200000007001d000300000006001d000400000005001d000000000010043f0000000001000414000003e60010009c000003e601008041000000c00110021000000417011001c700008010020000390f940f8f0000040f000000010020019000000f720000613d0000000508000029000000000008004b00000f4f0000613d000000000201043b000000000100001900000004050000290000000306000029000000020700002900000001090000290000000003190019000000000402041a000000000043043500000001022000390000002001100039000000000081004b00000f410000413d00000f530000013d00000443012001970000000000140435000000000008004b0000002001000039000000000100603900000f530000013d00000000010000190000000405000029000000030600002900000002070000290000003f0110003900000442021001970000000001720019000000000021004b00000000020000390000000102004039000004140010009c00000f660000213d000000010020019000000f660000c13d000000400010043f000000400150003900000000007104350000000301600039000000000101041a000000600250003900000000001204350000000001050019000000000001042d0000043a01000041000000000010043f0000004101000039000000040010043f0000043b0100004100000f96000104300000043a01000041000000000010043f0000002201000039000000040010043f0000043b0100004100000f9600010430000000000100001900000f9600010430000000000001042f000003e60010009c000003e6010080410000004001100210000003e60020009c000003e6020080410000006002200210000000000112019f0000000002000414000003e60020009c000003e602008041000000c002200210000000000112019f00000428011001c700008010020000390f940f8f0000040f000000010020019000000f880000613d000000000101043b000000000001042d000000000100001900000f960001043000000f8d002104210000000102000039000000000001042d0000000002000019000000000001042d00000f92002104230000000102000039000000000001042d0000000002000019000000000001042d00000f940000043200000f950001042e00000f9600010430000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000101180000000200000000000000000000000000000040000001000000000000000000000000000000000000000000000000000000000000000000000000007d0b102500000000000000000000000000000000000000000000000000000000da677ec600000000000000000000000000000000000000000000000000000000edc09ff700000000000000000000000000000000000000000000000000000000fafe12b100000000000000000000000000000000000000000000000000000000fafe12b200000000000000000000000000000000000000000000000000000000feaa34f100000000000000000000000000000000000000000000000000000000edc09ff800000000000000000000000000000000000000000000000000000000efe102a400000000000000000000000000000000000000000000000000000000da677ec700000000000000000000000000000000000000000000000000000000e2c8916300000000000000000000000000000000000000000000000000000000e8d857b0000000000000000000000000000000000000000000000000000000009c29f24d00000000000000000000000000000000000000000000000000000000b8c0a1ee00000000000000000000000000000000000000000000000000000000b8c0a1ef00000000000000000000000000000000000000000000000000000000d8137e4c000000000000000000000000000000000000000000000000000000009c29f24e00000000000000000000000000000000000000000000000000000000b64debbf000000000000000000000000000000000000000000000000000000007d0b102600000000000000000000000000000000000000000000000000000000820ebdfb000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000472a9843000000000000000000000000000000000000000000000000000000005ffc6cea000000000000000000000000000000000000000000000000000000007035e1b0000000000000000000000000000000000000000000000000000000007035e1b1000000000000000000000000000000000000000000000000000000007c9cd2bc000000000000000000000000000000000000000000000000000000005ffc6ceb000000000000000000000000000000000000000000000000000000006eb1079700000000000000000000000000000000000000000000000000000000472a9844000000000000000000000000000000000000000000000000000000005775912a0000000000000000000000000000000000000000000000000000000058fe03bc0000000000000000000000000000000000000000000000000000000022b13ac70000000000000000000000000000000000000000000000000000000022b13ac8000000000000000000000000000000000000000000000000000000002707ca97000000000000000000000000000000000000000000000000000000002ee864ff0000000000000000000000000000000000000000000000000000000002df54a60000000000000000000000000000000000000000000000000000000017edf66d000000000000000000000000000000000000000000000000000000001d86e904000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000020000000800000000000000000bfa87805ed57dc1f0d489ce33be4c4577d74ccde357eeeee058a32c55c44a5320200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000003fffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff7f02000000000000000000000000000000000000200000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff9f08c379a0000000000000000000000000000000000000000000000000000000004f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000ff00004e6f742074686520636f6d6d656e74206f776e657200000000000000000000000000000000000000000000000000000000000064000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000000200000000000000000000000000000000000080000000000000000000000000f2a108949a5957b8522f35aa80ffc323d33e0bcd3c4a928750ea82bb07f83356436f6d6d656e7420646f6573206e6f74206578697374000000000000000000000000000000000000000000000000000000000064000000800000000000000000020000000000000000000000000000000000000000000000000000000000000016fd3c13e9d46923e0a8bce11c7b473ec508a72e6c96cd2404b29ce972afc29e727300000000000000000000000000000000000000000000000000000000000054776565742063616e6e6f742065786365656420323830206368617261637465000000000000000000000000000000000000008400000000000000000000000054776565742063616e6e6f7420626520656d7074790000000000000000000000436f6d6d656e74206e6f7420666f756e640000000000000000000000000000007400000000000000000000000000000000000000000000000000000000000000557365722068617320616c7265616479206c696b656420746869732074776565ffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000600000000000000000000000003a9182ad8c7c1fc3acd8b5d6e047b1693e58b9cbaf26a80079511ce787bfda11421f804a0b21938816743b4f5bf6076d33137a72a0eaebd93abd7e2fd7ac2071547765657420646f6573206e6f74206578697374000000000000000000000000596f752063616e27742064656c657465207468697320747765657400000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfa87805ed57dc1f0d489ce33be4c4577d74ccde357eeeee058a32c55c44a533cff984d3d6983751ef01f1bad6665f0a9ab887ed70e453a3e9d01009d82c9fd14e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffdf5477656574206e6f7420666f756e640000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa0bd3de60b9ad77b41c0806d270e814267378945b534cbaa3b405c7418728609e855736572206861736e2774206c696b65642074686973207477656574000000000000000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000010000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffff800000000000000000000000000000000000000000000000000000000000000000029aea486e6667c6473796cdffbe34781259ad92d7dacdcf271c5a8d8d11e6b6

Block Transaction Gas Used Reward
view all blocks produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.