[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "added", "type": "address" } ], "name": "AdminAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "removed", "type": "address" } ], "name": "AdminRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" } ], "name": "addAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "admins", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint32", "name": "pos", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "components": [ { "internalType": "uint32", "name": "fromBlock", "type": "uint32" }, { "internalType": "uint224", "name": "votes", "type": "uint224" } ], "internalType": "struct ERC20Votes.Checkpoint", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getMaxTokenCap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" } ], "name": "removeAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6101606040527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9610140908152506b023b537154a7280728c80000600b553480156200004a57600080fd5b506040518060400160405280600581526020017f5449444459000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f54696464794775707079000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f544944445900000000000000000000000000000000000000000000000000000081525081600390805190602001906200013c92919062000c5b565b5080600490805190602001906200015592919062000c5b565b50505060008280519060200120905060008280519060200120905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f90508260e081815250508161010081815250504660a08181525050620001c18184846200026160201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508061012081815250505050505050506200022e620002226200029d60201b60201c565b620002a560201b60201c565b6200025b620002426200029d60201b60201c565b6b023b537154a7280728c800006200036b60201b60201c565b620011d3565b600083838346306040516020016200027e95949392919062000dda565b6040516020818303038152906040528051906020012090509392505050565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200038282826200042960201b620017f71760201c565b62000392620005a260201b60201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16620003c0620005c660201b60201c565b111562000404576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003fb9062000e37565b60405180910390fd5b620004236008620005d060201b620019571783620005e860201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200049c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004939062000e9d565b60405180910390fd5b620004b0600083836200089960201b60201c565b8060026000828254620004c4919062000f1a565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200051b919062000f1a565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000582919062000ebf565b60405180910390a36200059e600083836200089e60201b60201c565b5050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b6000600254905090565b60008183620005e0919062000f1a565b905092915050565b600080600085805490509050600081146200065d57856001826200060d919062000f77565b815481106200062157620006206200108e565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1662000660565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692506200068c83858760201c565b9150600081118015620006e557504386600183620006ab919062000f77565b81548110620006bf57620006be6200108e565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff16145b1562000786576200070182620008ee60201b6200196d1760201c565b8660018362000711919062000f77565b815481106200072557620007246200108e565b5b9060005260206000200160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555062000890565b856040518060400160405280620007a8436200095c60201b620019d81760201c565b63ffffffff168152602001620007c985620008ee60201b6200196d1760201c565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b50935093915050565b505050565b620008b6838383620009b260201b62001a2b1760201c565b620008e9620008cb84620009b760201b60201c565b620008dc84620009b760201b60201c565b8362000a2060201b60201c565b505050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff801682111562000954576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200094b9062000e59565b60405180910390fd5b819050919050565b600063ffffffff8016821115620009aa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009a19062000e7b565b60405180910390fd5b819050919050565b505050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000a5d5750600081115b1562000c3e57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161462000b505760008062000af7600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002062000c4360201b62001a301785620005e860201b60201c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000b4592919062000edc565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000c3d5760008062000be4600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020620005d060201b620019571785620005e860201b60201c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405162000c3292919062000edc565b60405180910390a250505b5b505050565b6000818362000c53919062000f77565b905092915050565b82805462000c699062000ffa565b90600052602060002090601f01602090048101928262000c8d576000855562000cd9565b82601f1062000ca857805160ff191683800117855562000cd9565b8280016001018555821562000cd9579182015b8281111562000cd857825182559160200191906001019062000cbb565b5b50905062000ce8919062000cec565b5090565b5b8082111562000d0757600081600090555060010162000ced565b5090565b62000d168162000fb2565b82525050565b62000d278162000fc6565b82525050565b600062000d3c60308362000f09565b915062000d4982620010bd565b604082019050919050565b600062000d6360278362000f09565b915062000d70826200110c565b604082019050919050565b600062000d8a60268362000f09565b915062000d97826200115b565b604082019050919050565b600062000db1601f8362000f09565b915062000dbe82620011aa565b602082019050919050565b62000dd48162000ff0565b82525050565b600060a08201905062000df1600083018862000d1c565b62000e00602083018762000d1c565b62000e0f604083018662000d1c565b62000e1e606083018562000dc9565b62000e2d608083018462000d0b565b9695505050505050565b6000602082019050818103600083015262000e528162000d2d565b9050919050565b6000602082019050818103600083015262000e748162000d54565b9050919050565b6000602082019050818103600083015262000e968162000d7b565b9050919050565b6000602082019050818103600083015262000eb88162000da2565b9050919050565b600060208201905062000ed6600083018462000dc9565b92915050565b600060408201905062000ef3600083018562000dc9565b62000f02602083018462000dc9565b9392505050565b600082825260208201905092915050565b600062000f278262000ff0565b915062000f348362000ff0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f6c5762000f6b62001030565b5b828201905092915050565b600062000f848262000ff0565b915062000f918362000ff0565b92508282101562000fa75762000fa662001030565b5b828203905092915050565b600062000fbf8262000fd0565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200101357607f821691505b602082108114156200102a57620010296200105f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60805160a05160c05160601c60e05161010051610120516101405161485262001231600039600061146d01526000611fd40152600061201601526000611ff501526000611f2a01526000611f8001526000611fa901526148526000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063704802751161010f5780639ab24eb0116100a2578063d505accf11610071578063d505accf14610605578063dd62ed3e14610621578063f1127ed814610651578063f2fde38b14610681576101f0565b80639ab24eb014610559578063a457c2d714610589578063a9059cbb146105b9578063c3cda520146105e9576101f0565b80637ecebe00116100de5780637ecebe00146104bd5780638da5cb5b146104ed5780638e539e8c1461050b57806395d89b411461053b576101f0565b8063704802751461044b57806370a0823114610467578063715018a61461049757806379cc6790146104a1576101f0565b80633a46b1a81161018757806353b2e9f41161015657806353b2e9f4146103b1578063587cde1e146103cf5780635c19a95c146103ff5780636fcfff451461041b576101f0565b80633a46b1a81461031957806340c10f191461034957806342966c6814610365578063429b62e514610381576101f0565b806323b872dd116101c357806323b872dd1461027d578063313ce567146102ad5780633644e515146102cb57806339509351146102e9576101f0565b806306fdde03146101f5578063095ea7b3146102135780631785f53c1461024357806318160ddd1461025f575b600080fd5b6101fd61069d565b60405161020a91906138c9565b60405180910390f35b61022d600480360381019061022891906130b8565b61072f565b60405161023a9190613755565b60405180910390f35b61025d60048036038101906102589190612f56565b610752565b005b6102676108e3565b6040516102749190613ca6565b60405180910390f35b61029760048036038101906102929190612fc3565b6108ed565b6040516102a49190613755565b60405180910390f35b6102b561091c565b6040516102c29190613d05565b60405180910390f35b6102d3610925565b6040516102e09190613770565b60405180910390f35b61030360048036038101906102fe91906130b8565b610934565b6040516103109190613755565b60405180910390f35b610333600480360381019061032e91906130b8565b6109de565b6040516103409190613ca6565b60405180910390f35b610363600480360381019061035e91906130b8565b610a72565b005b61037f600480360381019061037a91906131c5565b610bad565b005b61039b60048036038101906103969190612f56565b610bc1565b6040516103a89190613755565b60405180910390f35b6103b9610be1565b6040516103c69190613ca6565b60405180910390f35b6103e960048036038101906103e49190612f56565b610beb565b6040516103f6919061373a565b60405180910390f35b61041960048036038101906104149190612f56565b610c54565b005b61043560048036038101906104309190612f56565b610c68565b6040516104429190613cea565b60405180910390f35b61046560048036038101906104609190612f56565b610cbc565b005b610481600480360381019061047c9190612f56565b610e57565b60405161048e9190613ca6565b60405180910390f35b61049f610e9f565b005b6104bb60048036038101906104b691906130b8565b610f27565b005b6104d760048036038101906104d29190612f56565b610fa2565b6040516104e49190613ca6565b60405180910390f35b6104f5610ff2565b604051610502919061373a565b60405180910390f35b610525600480360381019061052091906131c5565b61101c565b6040516105329190613ca6565b60405180910390f35b610543611072565b60405161055091906138c9565b60405180910390f35b610573600480360381019061056e9190612f56565b611104565b6040516105809190613ca6565b60405180910390f35b6105a3600480360381019061059e91906130b8565b611215565b6040516105b09190613755565b60405180910390f35b6105d360048036038101906105ce91906130b8565b6112ff565b6040516105e09190613755565b60405180910390f35b61060360048036038101906105fe91906130f8565b611322565b005b61061f600480360381019061061a9190613016565b611426565b005b61063b60048036038101906106369190612f83565b611568565b6040516106489190613ca6565b60405180910390f35b61066b60048036038101906106669190613185565b6115ef565b6040516106789190613c8b565b60405180910390f35b61069b60048036038101906106969190612f56565b6116ff565b005b6060600380546106ac90613ecc565b80601f01602080910402602001604051908101604052809291908181526020018280546106d890613ecc565b80156107255780601f106106fa57610100808354040283529160200191610725565b820191906000526020600020905b81548152906001019060200180831161070857829003601f168201915b5050505050905090565b60008061073a611a46565b9050610747818585611a4e565b600191505092915050565b61075a611a46565b73ffffffffffffffffffffffffffffffffffffffff16610778610ff2565b73ffffffffffffffffffffffffffffffffffffffff16146107ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c590613b0b565b60405180910390fd5b600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661085a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085190613bab565b60405180910390fd5b600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690557fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f816040516108d8919061373a565b60405180910390a150565b6000600254905090565b6000806108f8611a46565b9050610905858285611c19565b610910858585611ca5565b60019150509392505050565b60006012905090565b600061092f611f26565b905090565b60008061093f611a46565b90506109d3818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109ce9190613d47565b611a4e565b600191505092915050565b6000438210610a22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a199061392b565b60405180910390fd5b610a6a600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083612040565b905092915050565b600a6000610a7e611a46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680610b0a5750610ad4611a46565b73ffffffffffffffffffffffffffffffffffffffff16610af2610ff2565b73ffffffffffffffffffffffffffffffffffffffff16145b610b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4090613a8b565b60405180910390fd5b610b516108e3565b81610b5c9190613d47565b600b5411610b9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9690613c0b565b60405180910390fd5b610ba9828261214c565b5050565b610bbe610bb8611a46565b826121d9565b50565b600a6020528060005260406000206000915054906101000a900460ff1681565b6000600b54905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610c65610c5f611a46565b826121f7565b50565b6000610cb5600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490506119d8565b9050919050565b610cc4611a46565b73ffffffffffffffffffffffffffffffffffffffff16610ce2610ff2565b73ffffffffffffffffffffffffffffffffffffffff1614610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f90613b0b565b60405180910390fd5b600a60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbc90613c2b565b60405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33981604051610e4c919061373a565b60405180910390a150565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ea7611a46565b73ffffffffffffffffffffffffffffffffffffffff16610ec5610ff2565b73ffffffffffffffffffffffffffffffffffffffff1614610f1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1290613b0b565b60405180910390fd5b610f256000612311565b565b6000610f3a83610f35611a46565b611568565b905081811015610f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7690613b4b565b60405180910390fd5b610f9383610f8b611a46565b848403611a4e565b610f9d83836121d9565b505050565b6000610feb600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206123d7565b9050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000438210611060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110579061392b565b60405180910390fd5b61106b600883612040565b9050919050565b60606004805461108190613ecc565b80601f01602080910402602001604051908101604052809291908181526020018280546110ad90613ecc565b80156110fa5780601f106110cf576101008083540402835291602001916110fa565b820191906000526020600020905b8154815290600101906020018083116110dd57829003601f168201915b5050505050905090565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081146111ec57600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001826111a09190613dce565b815481106111b1576111b0613fc4565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166111ef565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600080611220611a46565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156112e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112dd90613c4b565b60405180910390fd5b6112f38286868403611a4e565b60019250505092915050565b60008061130a611a46565b9050611317818585611ca5565b600191505092915050565b83421115611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c9061394b565b60405180910390fd5b60006113c76113bf7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016113a494939291906137ec565b604051602081830303815290604052805190602001206123e5565b8585856123ff565b90506113d28161242a565b8614611413576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140a906139ab565b60405180910390fd5b61141d81886121f7565b50505050505050565b83421115611469576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146090613a2b565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000008888886114988c61242a565b896040516020016114ae9695949392919061378b565b60405160208183030381529060405280519060200120905060006114d1826123e5565b905060006114e1828787876123ff565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154890613acb565b60405180910390fd5b61155c8a8a8a611a4e565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6115f7612eaf565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061164e5761164d613fc4565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b611707611a46565b73ffffffffffffffffffffffffffffffffffffffff16611725610ff2565b73ffffffffffffffffffffffffffffffffffffffff161461177b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177290613b0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156117eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e2906139cb565b60405180910390fd5b6117f481612311565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e90613c6b565b60405180910390fd5b61187360008383612488565b80600260008282546118859190613d47565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118da9190613d47565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161193f9190613ca6565b60405180910390a36119536000838361248d565b5050565b600081836119659190613d47565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156119d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c790613b2b565b60405180910390fd5b819050919050565b600063ffffffff8016821115611a23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1a90613bcb565b60405180910390fd5b819050919050565b505050565b60008183611a3e9190613dce565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611abe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab590613beb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b25906139eb565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c0c9190613ca6565b60405180910390a3505050565b6000611c258484611568565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611c9f5781811015611c91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8890613a0b565b60405180910390fd5b611c9e8484848403611a4e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0c90613b8b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7c9061390b565b60405180910390fd5b611d90838383612488565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611e16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0d90613a4b565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ea99190613d47565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611f0d9190613ca6565b60405180910390a3611f2084848461248d565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015611fa257507f000000000000000000000000000000000000000000000000000000000000000046145b15611fcf577f0000000000000000000000000000000000000000000000000000000000000000905061203d565b61203a7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006124b8565b90505b90565b6000808380549050905060005b818110156120bf57600061206182846124f2565b90508486828154811061207757612076613fc4565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff1611156120a9578092506120b9565b6001816120b69190613d47565b91505b5061204d565b6000821461212157846001836120d59190613dce565b815481106120e6576120e5613fc4565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612124565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169250505092915050565b61215682826117f7565b61215e612518565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166121846108e3565b11156121c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bc90613aeb565b60405180910390fd5b6121d360086119578361253c565b50505050565b6121e382826127b4565b6121f16008611a308361253c565b50505050565b600061220283610beb565b9050600061220f84610e57565b905082600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461230b82848361298b565b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b60006123f86123f2611f26565b83612b84565b9050919050565b600080600061241087878787612bb7565b9150915061241d81612cc4565b8192505050949350505050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050612477816123d7565b915061248281612e99565b50919050565b505050565b612498838383611a2b565b6124b36124a484610beb565b6124ad84610beb565b8361298b565b505050565b600083838346306040516020016124d3959493929190613831565b6040516020818303038152906040528051906020012090509392505050565b600060028284186125039190613d9d565b8284166125109190613d47565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600080600085805490509050600081146125aa578560018261255e9190613dce565b8154811061256f5761256e613fc4565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166125ad565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692506125db83858763ffffffff16565b915060008111801561262e575043866001836125f79190613dce565b8154811061260857612607613fc4565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff16145b156126bb5761263c8261196d565b8660018361264a9190613dce565b8154811061265b5761265a613fc4565b5b9060005260206000200160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506127ab565b8560405180604001604052806126d0436119d8565b63ffffffff1681526020016126e48561196d565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b50935093915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281b90613b6b565b60405180910390fd5b61283082600083612488565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156128b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ad9061396b565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002600082825461290d9190613dce565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516129729190613ca6565b60405180910390a36129868360008461248d565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156129c75750600081115b15612b7f57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612aa557600080612a4e600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611a308561253c565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612a9a929190613cc1565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612b7e57600080612b27600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206119578561253c565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612b73929190613cc1565b60405180910390a250505b5b505050565b60008282604051602001612b99929190613703565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612bf2576000600391509150612cbb565b601b8560ff1614158015612c0a5750601c8560ff1614155b15612c1c576000600491509150612cbb565b600060018787878760405160008152602001604052604051612c419493929190613884565b6020604051602081039080840390855afa158015612c63573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612cb257600060019250925050612cbb565b80600092509250505b94509492505050565b60006004811115612cd857612cd7613f66565b5b816004811115612ceb57612cea613f66565b5b1415612cf657612e96565b60016004811115612d0a57612d09613f66565b5b816004811115612d1d57612d1c613f66565b5b1415612d5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d55906138eb565b60405180910390fd5b60026004811115612d7257612d71613f66565b5b816004811115612d8557612d84613f66565b5b1415612dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dbd9061398b565b60405180910390fd5b60036004811115612dda57612dd9613f66565b5b816004811115612ded57612dec613f66565b5b1415612e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2590613a6b565b60405180910390fd5b600480811115612e4157612e40613f66565b5b816004811115612e5457612e53613f66565b5b1415612e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e8c90613aab565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081359050612efc816147a9565b92915050565b600081359050612f11816147c0565b92915050565b600081359050612f26816147d7565b92915050565b600081359050612f3b816147ee565b92915050565b600081359050612f5081614805565b92915050565b600060208284031215612f6c57612f6b613ff3565b5b6000612f7a84828501612eed565b91505092915050565b60008060408385031215612f9a57612f99613ff3565b5b6000612fa885828601612eed565b9250506020612fb985828601612eed565b9150509250929050565b600080600060608486031215612fdc57612fdb613ff3565b5b6000612fea86828701612eed565b9350506020612ffb86828701612eed565b925050604061300c86828701612f17565b9150509250925092565b600080600080600080600060e0888a03121561303557613034613ff3565b5b60006130438a828b01612eed565b97505060206130548a828b01612eed565b96505060406130658a828b01612f17565b95505060606130768a828b01612f17565b94505060806130878a828b01612f41565b93505060a06130988a828b01612f02565b92505060c06130a98a828b01612f02565b91505092959891949750929550565b600080604083850312156130cf576130ce613ff3565b5b60006130dd85828601612eed565b92505060206130ee85828601612f17565b9150509250929050565b60008060008060008060c0878903121561311557613114613ff3565b5b600061312389828a01612eed565b965050602061313489828a01612f17565b955050604061314589828a01612f17565b945050606061315689828a01612f41565b935050608061316789828a01612f02565b92505060a061317889828a01612f02565b9150509295509295509295565b6000806040838503121561319c5761319b613ff3565b5b60006131aa85828601612eed565b92505060206131bb85828601612f2c565b9150509250929050565b6000602082840312156131db576131da613ff3565b5b60006131e984828501612f17565b91505092915050565b6131fb81613e02565b82525050565b61320a81613e14565b82525050565b61321981613e20565b82525050565b61323061322b82613e20565b613efe565b82525050565b600061324182613d20565b61324b8185613d2b565b935061325b818560208601613e99565b61326481613ff8565b840191505092915050565b600061327c601883613d2b565b915061328782614009565b602082019050919050565b600061329f602383613d2b565b91506132aa82614032565b604082019050919050565b60006132c2601f83613d2b565b91506132cd82614081565b602082019050919050565b60006132e5601d83613d2b565b91506132f0826140aa565b602082019050919050565b6000613308602283613d2b565b9150613313826140d3565b604082019050919050565b600061332b601f83613d2b565b915061333682614122565b602082019050919050565b600061334e601983613d2b565b91506133598261414b565b602082019050919050565b6000613371602683613d2b565b915061337c82614174565b604082019050919050565b6000613394602283613d2b565b915061339f826141c3565b604082019050919050565b60006133b7600283613d3c565b91506133c282614212565b600282019050919050565b60006133da601d83613d2b565b91506133e58261423b565b602082019050919050565b60006133fd601d83613d2b565b915061340882614264565b602082019050919050565b6000613420602683613d2b565b915061342b8261428d565b604082019050919050565b6000613443602283613d2b565b915061344e826142dc565b604082019050919050565b6000613466602583613d2b565b91506134718261432b565b604082019050919050565b6000613489602283613d2b565b91506134948261437a565b604082019050919050565b60006134ac601e83613d2b565b91506134b7826143c9565b602082019050919050565b60006134cf603083613d2b565b91506134da826143f2565b604082019050919050565b60006134f2602083613d2b565b91506134fd82614441565b602082019050919050565b6000613515602783613d2b565b91506135208261446a565b604082019050919050565b6000613538602483613d2b565b9150613543826144b9565b604082019050919050565b600061355b602183613d2b565b915061356682614508565b604082019050919050565b600061357e602583613d2b565b915061358982614557565b604082019050919050565b60006135a1602683613d2b565b91506135ac826145a6565b604082019050919050565b60006135c4602683613d2b565b91506135cf826145f5565b604082019050919050565b60006135e7602483613d2b565b91506135f282614644565b604082019050919050565b600061360a603283613d2b565b915061361582614693565b604082019050919050565b600061362d602a83613d2b565b9150613638826146e2565b604082019050919050565b6000613650602583613d2b565b915061365b82614731565b604082019050919050565b6000613673601f83613d2b565b915061367e82614780565b602082019050919050565b60408201600082015161369f60008501826136d6565b5060208201516136b260208501826136b8565b50505050565b6136c181613e4a565b82525050565b6136d081613e72565b82525050565b6136df81613e7c565b82525050565b6136ee81613e7c565b82525050565b6136fd81613e8c565b82525050565b600061370e826133aa565b915061371a828561321f565b60208201915061372a828461321f565b6020820191508190509392505050565b600060208201905061374f60008301846131f2565b92915050565b600060208201905061376a6000830184613201565b92915050565b60006020820190506137856000830184613210565b92915050565b600060c0820190506137a06000830189613210565b6137ad60208301886131f2565b6137ba60408301876131f2565b6137c760608301866136c7565b6137d460808301856136c7565b6137e160a08301846136c7565b979650505050505050565b60006080820190506138016000830187613210565b61380e60208301866131f2565b61381b60408301856136c7565b61382860608301846136c7565b95945050505050565b600060a0820190506138466000830188613210565b6138536020830187613210565b6138606040830186613210565b61386d60608301856136c7565b61387a60808301846131f2565b9695505050505050565b60006080820190506138996000830187613210565b6138a660208301866136f4565b6138b36040830185613210565b6138c06060830184613210565b95945050505050565b600060208201905081810360008301526138e38184613236565b905092915050565b600060208201905081810360008301526139048161326f565b9050919050565b6000602082019050818103600083015261392481613292565b9050919050565b60006020820190508181036000830152613944816132b5565b9050919050565b60006020820190508181036000830152613964816132d8565b9050919050565b60006020820190508181036000830152613984816132fb565b9050919050565b600060208201905081810360008301526139a48161331e565b9050919050565b600060208201905081810360008301526139c481613341565b9050919050565b600060208201905081810360008301526139e481613364565b9050919050565b60006020820190508181036000830152613a0481613387565b9050919050565b60006020820190508181036000830152613a24816133cd565b9050919050565b60006020820190508181036000830152613a44816133f0565b9050919050565b60006020820190508181036000830152613a6481613413565b9050919050565b60006020820190508181036000830152613a8481613436565b9050919050565b60006020820190508181036000830152613aa481613459565b9050919050565b60006020820190508181036000830152613ac48161347c565b9050919050565b60006020820190508181036000830152613ae48161349f565b9050919050565b60006020820190508181036000830152613b04816134c2565b9050919050565b60006020820190508181036000830152613b24816134e5565b9050919050565b60006020820190508181036000830152613b4481613508565b9050919050565b60006020820190508181036000830152613b648161352b565b9050919050565b60006020820190508181036000830152613b848161354e565b9050919050565b60006020820190508181036000830152613ba481613571565b9050919050565b60006020820190508181036000830152613bc481613594565b9050919050565b60006020820190508181036000830152613be4816135b7565b9050919050565b60006020820190508181036000830152613c04816135da565b9050919050565b60006020820190508181036000830152613c24816135fd565b9050919050565b60006020820190508181036000830152613c4481613620565b9050919050565b60006020820190508181036000830152613c6481613643565b9050919050565b60006020820190508181036000830152613c8481613666565b9050919050565b6000604082019050613ca06000830184613689565b92915050565b6000602082019050613cbb60008301846136c7565b92915050565b6000604082019050613cd660008301856136c7565b613ce360208301846136c7565b9392505050565b6000602082019050613cff60008301846136e5565b92915050565b6000602082019050613d1a60008301846136f4565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000613d5282613e72565b9150613d5d83613e72565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d9257613d91613f08565b5b828201905092915050565b6000613da882613e72565b9150613db383613e72565b925082613dc357613dc2613f37565b5b828204905092915050565b6000613dd982613e72565b9150613de483613e72565b925082821015613df757613df6613f08565b5b828203905092915050565b6000613e0d82613e2a565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b60005b83811015613eb7578082015181840152602081019050613e9c565b83811115613ec6576000848401525b50505050565b60006002820490506001821680613ee457607f821691505b60208210811415613ef857613ef7613f95565b5b50919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e656400600082015250565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f41646d696e6973747261626c653a2063616c6c6572206973206e6f7420616e2060008201527f61646d696e000000000000000000000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7760008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f41646d696e6973747261626c653a2061646472657373206973206e6f7420616e60008201527f2061646d696e0000000000000000000000000000000000000000000000000000602082015250565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420616d6f756e742065786365656473204d6178205460008201527f6f6b656e2043617020616c6c6f77616e63650000000000000000000000000000602082015250565b7f41646d696e6973747261626c653a206164647265737320697320616c7265616460008201527f7920616e2061646d696e00000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6147b281613e02565b81146147bd57600080fd5b50565b6147c981613e20565b81146147d457600080fd5b50565b6147e081613e72565b81146147eb57600080fd5b50565b6147f781613e7c565b811461480257600080fd5b50565b61480e81613e8c565b811461481957600080fd5b5056fea26469706673582212204435501422ff37f272cfe15dc77d6f19ffc3ece880ee41303da255ef6875bea864736f6c63430008070033