dgf-prototype/backend/contractArtifacts/Bench.json

252 lines
57 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "Bench",
"sourceName": "contracts/core/Bench.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "poolIndex",
"type": "uint256"
}
],
"name": "evaluateOutcome",
"outputs": [
{
"internalType": "bool",
"name": "votePasses",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "string",
"name": "postId",
"type": "string"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
},
{
"internalType": "uint256[2]",
"name": "quorum",
"type": "uint256[2]"
},
{
"internalType": "uint256[2]",
"name": "winRatio",
"type": "uint256[2]"
},
{
"internalType": "uint256",
"name": "bindingPercent",
"type": "uint256"
},
{
"internalType": "bool",
"name": "redistributeLosingStakes",
"type": "bool"
},
{
"internalType": "bool",
"name": "callbackOnValidate",
"type": "bool"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
}
],
"name": "initiateValidationPool",
"outputs": [
{
"internalType": "uint256",
"name": "poolIndex",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract DAO",
"name": "dao_",
"type": "address"
}
],
"name": "registerDAO",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "poolIndex",
"type": "uint256"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bool",
"name": "inFavor",
"type": "bool"
}
],
"name": "stakeOnValidationPool",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "validationPoolCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "validationPools",
"outputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "stakeCount",
"type": "uint256"
},
{
"components": [
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
},
{
"internalType": "uint256[2]",
"name": "quorum",
"type": "uint256[2]"
},
{
"internalType": "uint256[2]",
"name": "winRatio",
"type": "uint256[2]"
},
{
"internalType": "uint256",
"name": "bindingPercent",
"type": "uint256"
},
{
"internalType": "bool",
"name": "redistributeLosingStakes",
"type": "bool"
}
],
"internalType": "struct ValidationPoolParams",
"name": "params",
"type": "tuple"
},
{
"components": [
{
"internalType": "string",
"name": "postId",
"type": "string"
},
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "minted",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "bool",
"name": "resolved",
"type": "bool"
},
{
"internalType": "bool",
"name": "outcome",
"type": "bool"
}
],
"internalType": "struct ValidationPoolProps",
"name": "props",
"type": "tuple"
},
{
"internalType": "bool",
"name": "callbackOnValidate",
"type": "bool"
},
{
"internalType": "bytes",
"name": "callbackData",
"type": "bytes"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x60806040526040518060400160405280600160ff168152602001600a60ff1681525060039060026200003392919062000048565b503480156200004157600080fd5b50620000b1565b82600281019282156200007f579160200282015b828111156200007e578251829060ff169055916020019190600101906200005c565b5b5090506200008e919062000092565b5090565b5b80821115620000ad57600081600090555060010162000093565b5090565b61333480620000c16000396000f3fe6080604052600436106100555760003560e01c806317c182171461005a578063217c196114610097578063642b5bfb146100c0578063a1a38bf9146100eb578063a23362791461011b578063fe0d695a1461015e575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190611ce5565b610187565b60405161008e9190611d2d565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190611dd2565b6111ce565b005b3480156100cc57600080fd5b506100d56112de565b6040516100e29190611e48565b60405180910390f35b61010560048036038101906101009190611f40565b6112e4565b6040516101129190611e48565b60405180910390f35b34801561012757600080fd5b50610142600480360381019061013d9190611ce5565b6118c9565b60405161015597969594939291906122ed565b60405180910390f35b34801561016a57600080fd5b50610185600480360381019061018091906123ac565b611b73565b005b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610219576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102109061245c565b60405180910390fd5b600080600084815260200190815260200160002090506000151581600b0160040160009054906101000a900460ff1615151461028a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610281906124c8565b60405180910390fd5b600080600080600090505b846003015481101561049a5784600201600082815260200190815260200160002091508160020154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318460030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161033c91906124e8565b602060405180830381865afa158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037d9190612518565b101561044c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161040291906124e8565b602060405180830381865afa15801561041f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104439190612518565b82600201819055505b8160010160009054906101000a900460ff161561047a578160020154846104739190612574565b935061048d565b81600201548361048a9190612574565b92505b8080600101915050610295565b50600284600b01600201546104af91906125d7565b836104ba9190612574565b9250600284600b01600201546104d091906125d7565b826104db9190612574565b91506000600285600b01600201546104f39190612608565b14610508576001836105059190612574565b92505b83600b01600301544211806105b75750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a99190612518565b82846105b59190612574565b145b6105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906126ab565b60405180910390fd5b836004016001016000600281106106105761060f6126cb565b5b0154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a39190612518565b6106ad91906126fa565b82846106b99190612574565b856004016001016001600281106106d3576106d26126cb565b5b01546106df91906126fa565b1161087a57600184600b0160040160006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166378e21c6e876000806040518463ffffffff1660e01b81526004016107649392919061273c565b600060405180830381600087803b15801561077e57600080fd5b505af1158015610792573d6000803e3d6000fd5b505050508360100160009054906101000a900460ff161561086d57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d0d37c98560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687600087878a6011016040518763ffffffff1660e01b815260040161083a9695949392919061286c565b600060405180830381600087803b15801561085457600080fd5b505af1158015610868573d6000803e3d6000fd5b505050505b60009450505050506111c9565b83600401600301600060028110610894576108936126cb565b5b015482846108a29190612574565b6108ac91906126fa565b846004016003016001600281106108c6576108c56126cb565b5b0154846108d391906126fa565b10159450600184600b0160040160006101000a81548160ff0219169083151502179055508484600b0160040160016101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166378e21c6e878760016040518463ffffffff1660e01b81526004016109769392919061273c565b600060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050506000856109b557826109b7565b835b905060008060005b8760030154811015610bec5787600201600082815260200190815260200160002094508460010160009054906101000a900460ff16151589151514610bdf576000606489600401600501548760020154610a1991906126fa565b610a2391906125d7565b90508860040160060160009054906101000a900460ff1615610b2957600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ce516da8760030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610ae4939291906128d4565b600060405180830381600087803b158015610afe57600080fd5b505af1158015610b12573d6000803e3d6000fd5b505050508084610b229190612574565b9350610bdd565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8760030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610baa92919061290b565b600060405180830381600087803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b505050505b505b80806001019150506109bf565b508715610e9a57600287600b0160020154610c0791906125d7565b82610c129190612574565b915060005b8760030154811015610da55787600201600082815260200190815260200160002094508760040160060160009054906101000a900460ff168015610c6f57508460010160009054906101000a900460ff161515891515145b15610d985760006064896004016005015486886002015487610c9191906126fa565b610c9b91906125d7565b610ca591906126fa565b610caf91906125d7565b90508083610cbd9190612574565b9250600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ce516da600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168860030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610d64939291906128d4565b600060405180830381600087803b158015610d7e57600080fd5b505af1158015610d92573d6000803e3d6000fd5b50505050505b8080600101915050610c17565b5060008183610db49190612934565b90506000600289600b0160020154610dcc9190612608565b14610de157600181610dde9190612574565b90505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fd0987289600b016000018360028c600b0160020154610e3b91906125d7565b610e459190612574565b6040518363ffffffff1660e01b8152600401610e62929190612a1a565b600060405180830381600087803b158015610e7c57600080fd5b505af1158015610e90573d6000803e3d6000fd5b5050505050611060565b86600b016002015482610ead9190612574565b915060005b876003015481101561105e5787600201600082815260200190815260200160002094508760040160060160009054906101000a900460ff168015610f0a57508460010160009054906101000a900460ff161515891515145b156110515760006064896004016005015460028b600b0160020154610f2f91906125d7565b87610f3a9190612934565b886002015487610f4a91906126fa565b610f5491906125d7565b610f5e91906126fa565b610f6891906125d7565b90508083610f769190612574565b9250600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ce516da600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168860030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b815260040161101d939291906128d4565b600060405180830381600087803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050505b8080600101915050610eb2565b505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631e57e07888600b01600101546040518263ffffffff1660e01b81526004016000604051808303818588803b1580156110d157600080fd5b505af11580156110e5573d6000803e3d6000fd5b50505050508660100160009054906101000a900460ff16156111c157600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d0d37c98860010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a60018a8a8d6011016040518763ffffffff1660e01b815260040161118e9695949392919061286c565b600060405180830381600087803b1580156111a857600080fd5b505af11580156111bc573d6000803e3d6000fd5b505050505b505050505050505b919050565b6000806000868152602001908152602001600020905080600b016003015442111561122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612a96565b60405180910390fd5b600081600301600081548092919061124590612ab6565b91905055905060008260020160008381526020019081526020016000209050858160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160006101000a81548160ff02191690831515021790555084816002018190555081816000018190555050505050505050565b60015481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136d90612b70565b60405180910390fd5b600034116113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b090612c02565b60405180910390fd5b60018910156113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490612c6e565b60405180910390fd5b651cae8c13e000891115611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d90612cda565b60405180910390fd5b8760016002811061145a576114596126cb565b5b60200201356003600060028110611474576114736126cb565b5b015461148091906126fa565b88600060028110611494576114936126cb565b5b602002013560036001600281106114ae576114ad6126cb565b5b01546114ba91906126fa565b10156114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f290612d46565b60405180910390fd5b8760016002811061150f5761150e6126cb565b5b602002013588600060028110611528576115276126cb565b5b6020020135111561156e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156590612db2565b60405180910390fd5b86600160028110611582576115816126cb565b5b60200201358760006002811061159b5761159a6126cb565b5b602002013511156115e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d890612e1e565b60405180910390fd5b6064861115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612e8a565b60405180910390fd5b6001600081548092919061163890612ab6565b919050559050600080600083815260200190815260200160002090508181600001819055508c8160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508b8b82600b0160000191826116b692919061307b565b503481600b016001018190555089426116cf9190612574565b81600b016003018190555088816004016001019060026116f0929190611c48565b508781600401600301906002611707929190611c48565b50868160040160050181905550858160040160060160006101000a81548160ff021916908315150217905550898160040160000181905550848160100160006101000a81548160ff021916908315150217905550838382601101918261176e92919061319c565b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16346040518363ffffffff1660e01b81526004016117ee92919061290b565b600060405180830381600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050503481600b0160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dc00bbfe836040518263ffffffff1660e01b81526004016118879190611e48565b600060405180830381600087803b1580156118a157600080fd5b505af11580156118b5573d6000803e3d6000fd5b50505050509b9a5050505050505050505050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003015490806004016040518060a00160405290816000820154815260200160018201600280602002604051908101604052809291908260028015611964576020028201915b815481526020019060010190808311611950575b50505050508152602001600382016002806020026040519081016040528092919082600280156119a9576020028201915b815481526020019060010190808311611995575b50505050508152602001600582015481526020016006820160009054906101000a900460ff1615151515815250509080600b016040518060c00160405290816000820180546119f7906127a2565b80601f0160208091040260200160405190810160405280929190818152602001828054611a23906127a2565b8015611a705780601f10611a4557610100808354040283529160200191611a70565b820191906000526020600020905b815481529060010190602001808311611a5357829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff161515151581525050908060100160009054906101000a900460ff1690806011018054611af0906127a2565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1c906127a2565b8015611b695780601f10611b3e57610100808354040283529160200191611b69565b820191906000526020600020905b815481529060010190602001808311611b4c57829003601f168201915b5050505050905087565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb906132de565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8260028101928215611c77579160200282015b82811115611c76578235825591602001919060010190611c5b565b5b509050611c849190611c88565b5090565b5b80821115611ca1576000816000905550600101611c89565b5090565b600080fd5b600080fd5b6000819050919050565b611cc281611caf565b8114611ccd57600080fd5b50565b600081359050611cdf81611cb9565b92915050565b600060208284031215611cfb57611cfa611ca5565b5b6000611d0984828501611cd0565b91505092915050565b60008115159050919050565b611d2781611d12565b82525050565b6000602082019050611d426000830184611d1e565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d7382611d48565b9050919050565b611d8381611d68565b8114611d8e57600080fd5b50565b600081359050611da081611d7a565b92915050565b611daf81611d12565b8114611dba57600080fd5b50565b600081359050611dcc81611da6565b92915050565b60008060008060808587031215611dec57611deb611ca5565b5b6000611dfa87828801611cd0565b9450506020611e0b87828801611d91565b9350506040611e1c87828801611cd0565b9250506060611e2d87828801611dbd565b91505092959194509250565b611e4281611caf565b82525050565b6000602082019050611e5d6000830184611e39565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e8857611e87611e63565b5b8235905067ffffffffffffffff811115611ea557611ea4611e68565b5b602083019150836001820283011115611ec157611ec0611e6d565b5b9250929050565b600081905082602060020282011115611ee457611ee3611e6d565b5b92915050565b60008083601f840112611f0057611eff611e63565b5b8235905067ffffffffffffffff811115611f1d57611f1c611e68565b5b602083019150836001820283011115611f3957611f38611e6d565b5b9250929050565b60008060008060008060008060008060006101608c8e031215611f6657611f65611ca5565b5b6000611f748e828f01611d91565b9b505060208c013567ffffffffffffffff811115611f9557611f94611caa565b5b611fa18e828f01611e72565b9a509a50506040611fb48e828f01611cd0565b9850506060611fc58e828f01611ec8565b97505060a0611fd68e828f01611ec8565b96505060e0611fe78e828f01611cd0565b955050610100611ff98e828f01611dbd565b94505061012061200b8e828f01611dbd565b9350506101408c013567ffffffffffffffff81111561202d5761202c611caa565b5b6120398e828f01611eea565b92509250509295989b509295989b9093969950565b61205781611d68565b82525050565b61206681611caf565b82525050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612098838361205d565b60208301905092915050565b6000602082019050919050565b6120ba8161206c565b6120c48184612077565b92506120cf82612082565b8060005b838110156121005781516120e7878261208c565b96506120f2836120a4565b9250506001810190506120d3565b505050505050565b61211181611d12565b82525050565b60e08201600082015161212d600085018261205d565b50602082015161214060208501826120b1565b50604082015161215360608501826120b1565b50606082015161216660a085018261205d565b50608082015161217960c0850182612108565b50505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121b957808201518184015260208101905061219e565b60008484015250505050565b6000601f19601f8301169050919050565b60006121e18261217f565b6121eb818561218a565b93506121fb81856020860161219b565b612204816121c5565b840191505092915050565b600060c083016000830151848203600086015261222c82826121d6565b9150506020830151612241602086018261205d565b506040830151612254604086018261205d565b506060830151612267606086018261205d565b50608083015161227a6080860182612108565b5060a083015161228d60a0860182612108565b508091505092915050565b600081519050919050565b600082825260208201905092915050565b60006122bf82612298565b6122c981856122a3565b93506122d981856020860161219b565b6122e2816121c5565b840191505092915050565b60006101a082019050612303600083018a611e39565b612310602083018961204e565b61231d6040830188611e39565b61232a6060830187612117565b81810361014083015261233d818661220f565b905061234d610160830185611d1e565b81810361018083015261236081846122b4565b905098975050505050505050565b600061237982611d68565b9050919050565b6123898161236e565b811461239457600080fd5b50565b6000813590506123a681612380565b92915050565b6000602082840312156123c2576123c1611ca5565b5b60006123d084828501612397565b91505092915050565b600082825260208201905092915050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c206576616c7560008201527f6174654f7574636f6d6500000000000000000000000000000000000000000000602082015250565b6000612446602a836123d9565b9150612451826123ea565b604082019050919050565b6000602082019050818103600083015261247581612439565b9050919050565b7f506f6f6c20697320616c7265616479207265736f6c7665640000000000000000600082015250565b60006124b26018836123d9565b91506124bd8261247c565b602082019050919050565b600060208201905081810360008301526124e1816124a5565b9050919050565b60006020820190506124fd600083018461204e565b92915050565b60008151905061251281611cb9565b92915050565b60006020828403121561252e5761252d611ca5565b5b600061253c84828501612503565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061257f82611caf565b915061258a83611caf565b92508282019050808211156125a2576125a1612545565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125e282611caf565b91506125ed83611caf565b9250826125fd576125fc6125a8565b5b828204905092915050565b600061261382611caf565b915061261e83611caf565b92508261262e5761262d6125a8565b5b828206905092915050565b7f506f6f6c20656e642074696d6520686173206e6f74207965742061727269766560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006126956021836123d9565b91506126a082612639565b604082019050919050565b600060208201905081810360008301526126c481612688565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061270582611caf565b915061271083611caf565b925082820261271e81611caf565b9150828204841483151761273557612734612545565b5b5092915050565b60006060820190506127516000830186611e39565b61275e6020830185611d1e565b61276b6040830184611d1e565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127ba57607f821691505b6020821081036127cd576127cc612773565b5b50919050565b60008190508160005260206000209050919050565b600081546127f5816127a2565b6127ff81866122a3565b9450600182166000811461281a576001811461283057612863565b60ff198316865281151560200286019350612863565b612839856127d3565b60005b8381101561285b5781548189015260018201915060208101905061283c565b808801955050505b50505092915050565b600060c082019050612881600083018961204e565b61288e6020830188611d1e565b61289b6040830187611d1e565b6128a86060830186611e39565b6128b56080830185611e39565b81810360a08301526128c781846127e8565b9050979650505050505050565b60006060820190506128e9600083018661204e565b6128f6602083018561204e565b6129036040830184611e39565b949350505050565b6000604082019050612920600083018561204e565b61292d6020830184611e39565b9392505050565b600061293f82611caf565b915061294a83611caf565b925082820390508181111561296257612961612545565b5b92915050565b60008190508160005260206000209050919050565b6000815461298a816127a2565b61299481866123d9565b945060018216600081146129af57600181146129c5576129f8565b60ff1983168652811515602002860193506129f8565b6129ce85612968565b60005b838110156129f0578154818901526001820191506020810190506129d1565b808801955050505b50505092915050565b6000819050919050565b612a1481612a01565b82525050565b60006040820190508181036000830152612a34818561297d565b9050612a436020830184612a0b565b9392505050565b7f506f6f6c20656e642074696d6520686173207061737365640000000000000000600082015250565b6000612a806018836123d9565b9150612a8b82612a4a565b602082019050919050565b60006020820190508181036000830152612aaf81612a73565b9050919050565b6000612ac182611caf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612af357612af2612545565b5b600182019050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c20696e69746960008201527f61746556616c69646174696f6e506f6f6c000000000000000000000000000000602082015250565b6000612b5a6031836123d9565b9150612b6582612afe565b604082019050919050565b60006020820190508181036000830152612b8981612b4d565b9050919050565b7f46656520697320726571756972656420746f20696e6974696174652076616c6960008201527f646174696f6e20706f6f6c000000000000000000000000000000000000000000602082015250565b6000612bec602b836123d9565b9150612bf782612b90565b604082019050919050565b60006020820190508181036000830152612c1b81612bdf565b9050919050565b7f4475726174696f6e20697320746f6f2073686f72740000000000000000000000600082015250565b6000612c586015836123d9565b9150612c6382612c22565b602082019050919050565b60006020820190508181036000830152612c8781612c4b565b9050919050565b7f4475726174696f6e20697320746f6f206c6f6e67000000000000000000000000600082015250565b6000612cc46014836123d9565b9150612ccf82612c8e565b602082019050919050565b60006020820190508181036000830152612cf381612cb7565b9050919050565b7f51756f72756d2069732062656c6f77206d696e696d756d000000000000000000600082015250565b6000612d306017836123d9565b9150612d3b82612cfa565b602082019050919050565b60006020820190508181036000830152612d5f81612d23565b9050919050565b7f51756f72756d2069732067726561746572207468616e206f6e65000000000000600082015250565b6000612d9c601a836123d9565b9150612da782612d66565b602082019050919050565b60006020820190508181036000830152612dcb81612d8f565b9050919050565b7f57696e20726174696f2069732067726561746572207468616e206f6e65000000600082015250565b6000612e08601d836123d9565b9150612e1382612dd2565b602082019050919050565b60006020820190508181036000830152612e3781612dfb565b9050919050565b7f42696e64696e672070657263656e74206d757374206265203c3d203130300000600082015250565b6000612e74601e836123d9565b9150612e7f82612e3e565b602082019050919050565b60006020820190508181036000830152612ea381612e67565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020601f8301049050919050565b600082821b905092915050565b600060088302612f317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612ef4565b612f3b8683612ef4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612f78612f73612f6e84611caf565b612f53565b611caf565b9050919050565b6000819050919050565b612f9283612f5d565b612fa6612f9e82612f7f565b848454612f01565b825550505050565b600090565b612fbb612fae565b612fc6818484612f89565b505050565b5b81811015612fea57612fdf600082612fb3565b600181019050612fcc565b5050565b601f82111561302f5761300081612968565b61300984612ee4565b81016020851015613018578190505b61302c61302485612ee4565b830182612fcb565b50505b505050565b600082821c905092915050565b600061305260001984600802613034565b1980831691505092915050565b600061306b8383613041565b9150826002028217905092915050565b6130858383612eaa565b67ffffffffffffffff81111561309e5761309d612eb5565b5b6130a882546127a2565b6130b3828285612fee565b6000601f8311600181146130e257600084156130d0578287013590505b6130da858261305f565b865550613142565b601f1984166130f086612968565b60005b82811015613118578489013582556001820191506020850194506020810190506130f3565b868310156131355784890135613131601f891682613041565b8355505b6001600288020188555050505b50505050505050565b600082905092915050565b601f82111561319757613168816127d3565b61317184612ee4565b81016020851015613180578190505b61319461318c85612ee4565b830182612fcb565b50505b505050565b6131a6838361314b565b67ffffffffffffffff8111156131bf576131be612eb5565b5b6131c982546127a2565b6131d4828285613156565b6000601f83116001811461320357600084156131f1578287013590505b6131fb858261305f565b865550613263565b601f198416613211866127d3565b60005b8281101561323957848901358255600182019150602085019450602081019050613214565b868310156132565784890135613252601f891682613041565b8355505b6001600288020188555050505b50505050505050565b7f412044414f2068617320616c7265616479206265656e2072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006132c86021836123d9565b91506132d38261326c565b604082019050919050565b600060208201905081810360008301526132f7816132bb565b905091905056fea2646970667358221220ab9f8a5942ecbf9c75ff9ca178767889568b984ae08e0b32809d1bd65f01c0e664736f6c63430008180033",
"deployedBytecode": "0x6080604052600436106100555760003560e01c806317c182171461005a578063217c196114610097578063642b5bfb146100c0578063a1a38bf9146100eb578063a23362791461011b578063fe0d695a1461015e575b600080fd5b34801561006657600080fd5b50610081600480360381019061007c9190611ce5565b610187565b60405161008e9190611d2d565b60405180910390f35b3480156100a357600080fd5b506100be60048036038101906100b99190611dd2565b6111ce565b005b3480156100cc57600080fd5b506100d56112de565b6040516100e29190611e48565b60405180910390f35b61010560048036038101906101009190611f40565b6112e4565b6040516101129190611e48565b60405180910390f35b34801561012757600080fd5b50610142600480360381019061013d9190611ce5565b6118c9565b60405161015597969594939291906122ed565b60405180910390f35b34801561016a57600080fd5b50610185600480360381019061018091906123ac565b611b73565b005b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610219576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102109061245c565b60405180910390fd5b600080600084815260200190815260200160002090506000151581600b0160040160009054906101000a900460ff1615151461028a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610281906124c8565b60405180910390fd5b600080600080600090505b846003015481101561049a5784600201600082815260200190815260200160002091508160020154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318460030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161033c91906124e8565b602060405180830381865afa158015610359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037d9190612518565b101561044c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318360030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518263ffffffff1660e01b815260040161040291906124e8565b602060405180830381865afa15801561041f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104439190612518565b82600201819055505b8160010160009054906101000a900460ff161561047a578160020154846104739190612574565b935061048d565b81600201548361048a9190612574565b92505b8080600101915050610295565b50600284600b01600201546104af91906125d7565b836104ba9190612574565b9250600284600b01600201546104d091906125d7565b826104db9190612574565b91506000600285600b01600201546104f39190612608565b14610508576001836105059190612574565b92505b83600b01600301544211806105b75750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610585573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a99190612518565b82846105b59190612574565b145b6105f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ed906126ab565b60405180910390fd5b836004016001016000600281106106105761060f6126cb565b5b0154600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a39190612518565b6106ad91906126fa565b82846106b99190612574565b856004016001016001600281106106d3576106d26126cb565b5b01546106df91906126fa565b1161087a57600184600b0160040160006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166378e21c6e876000806040518463ffffffff1660e01b81526004016107649392919061273c565b600060405180830381600087803b15801561077e57600080fd5b505af1158015610792573d6000803e3d6000fd5b505050508360100160009054906101000a900460ff161561086d57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d0d37c98560010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687600087878a6011016040518763ffffffff1660e01b815260040161083a9695949392919061286c565b600060405180830381600087803b15801561085457600080fd5b505af1158015610868573d6000803e3d6000fd5b505050505b60009450505050506111c9565b83600401600301600060028110610894576108936126cb565b5b015482846108a29190612574565b6108ac91906126fa565b846004016003016001600281106108c6576108c56126cb565b5b0154846108d391906126fa565b10159450600184600b0160040160006101000a81548160ff0219169083151502179055508484600b0160040160016101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166378e21c6e878760016040518463ffffffff1660e01b81526004016109769392919061273c565b600060405180830381600087803b15801561099057600080fd5b505af11580156109a4573d6000803e3d6000fd5b505050506000856109b557826109b7565b835b905060008060005b8760030154811015610bec5787600201600082815260200190815260200160002094508460010160009054906101000a900460ff16151589151514610bdf576000606489600401600501548760020154610a1991906126fa565b610a2391906125d7565b90508860040160060160009054906101000a900460ff1615610b2957600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ce516da8760030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610ae4939291906128d4565b600060405180830381600087803b158015610afe57600080fd5b505af1158015610b12573d6000803e3d6000fd5b505050508084610b229190612574565b9350610bdd565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac8760030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610baa92919061290b565b600060405180830381600087803b158015610bc457600080fd5b505af1158015610bd8573d6000803e3d6000fd5b505050505b505b80806001019150506109bf565b508715610e9a57600287600b0160020154610c0791906125d7565b82610c129190612574565b915060005b8760030154811015610da55787600201600082815260200190815260200160002094508760040160060160009054906101000a900460ff168015610c6f57508460010160009054906101000a900460ff161515891515145b15610d985760006064896004016005015486886002015487610c9191906126fa565b610c9b91906125d7565b610ca591906126fa565b610caf91906125d7565b90508083610cbd9190612574565b9250600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ce516da600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168860030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b8152600401610d64939291906128d4565b600060405180830381600087803b158015610d7e57600080fd5b505af1158015610d92573d6000803e3d6000fd5b50505050505b8080600101915050610c17565b5060008183610db49190612934565b90506000600289600b0160020154610dcc9190612608565b14610de157600181610dde9190612574565b90505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639fd0987289600b016000018360028c600b0160020154610e3b91906125d7565b610e459190612574565b6040518363ffffffff1660e01b8152600401610e62929190612a1a565b600060405180830381600087803b158015610e7c57600080fd5b505af1158015610e90573d6000803e3d6000fd5b5050505050611060565b86600b016002015482610ead9190612574565b915060005b876003015481101561105e5787600201600082815260200190815260200160002094508760040160060160009054906101000a900460ff168015610f0a57508460010160009054906101000a900460ff161515891515145b156110515760006064896004016005015460028b600b0160020154610f2f91906125d7565b87610f3a9190612934565b886002015487610f4a91906126fa565b610f5491906125d7565b610f5e91906126fa565b610f6891906125d7565b90508083610f769190612574565b9250600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638ce516da600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168860030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518463ffffffff1660e01b815260040161101d939291906128d4565b600060405180830381600087803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050505b8080600101915050610eb2565b505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631e57e07888600b01600101546040518263ffffffff1660e01b81526004016000604051808303818588803b1580156110d157600080fd5b505af11580156110e5573d6000803e3d6000fd5b50505050508660100160009054906101000a900460ff16156111c157600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d0d37c98860010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a60018a8a8d6011016040518763ffffffff1660e01b815260040161118e9695949392919061286c565b600060405180830381600087803b1580156111a857600080fd5b505af11580156111bc573d6000803e3d6000fd5b505050505b505050505050505b919050565b6000806000868152602001908152602001600020905080600b016003015442111561122e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122590612a96565b60405180910390fd5b600081600301600081548092919061124590612ab6565b91905055905060008260020160008381526020019081526020016000209050858160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838160010160006101000a81548160ff02191690831515021790555084816002018190555081816000018190555050505050505050565b60015481565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611376576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136d90612b70565b60405180910390fd5b600034116113b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b090612c02565b60405180910390fd5b60018910156113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490612c6e565b60405180910390fd5b651cae8c13e000891115611446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143d90612cda565b60405180910390fd5b8760016002811061145a576114596126cb565b5b60200201356003600060028110611474576114736126cb565b5b015461148091906126fa565b88600060028110611494576114936126cb565b5b602002013560036001600281106114ae576114ad6126cb565b5b01546114ba91906126fa565b10156114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f290612d46565b60405180910390fd5b8760016002811061150f5761150e6126cb565b5b602002013588600060028110611528576115276126cb565b5b6020020135111561156e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156590612db2565b60405180910390fd5b86600160028110611582576115816126cb565b5b60200201358760006002811061159b5761159a6126cb565b5b602002013511156115e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d890612e1e565b60405180910390fd5b6064861115611625576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161c90612e8a565b60405180910390fd5b6001600081548092919061163890612ab6565b919050559050600080600083815260200190815260200160002090508181600001819055508c8160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508b8b82600b0160000191826116b692919061307b565b503481600b016001018190555089426116cf9190612574565b81600b016003018190555088816004016001019060026116f0929190611c48565b508781600401600301906002611707929190611c48565b50868160040160050181905550858160040160060160006101000a81548160ff021916908315150217905550898160040160000181905550848160100160006101000a81548160ff021916908315150217905550838382601101918261176e92919061319c565b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f19600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16346040518363ffffffff1660e01b81526004016117ee92919061290b565b600060405180830381600087803b15801561180857600080fd5b505af115801561181c573d6000803e3d6000fd5b505050503481600b0160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dc00bbfe836040518263ffffffff1660e01b81526004016118879190611e48565b600060405180830381600087803b1580156118a157600080fd5b505af11580156118b5573d6000803e3d6000fd5b50505050509b9a5050505050505050505050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003015490806004016040518060a00160405290816000820154815260200160018201600280602002604051908101604052809291908260028015611964576020028201915b815481526020019060010190808311611950575b50505050508152602001600382016002806020026040519081016040528092919082600280156119a9576020028201915b815481526020019060010190808311611995575b50505050508152602001600582015481526020016006820160009054906101000a900460ff1615151515815250509080600b016040518060c00160405290816000820180546119f7906127a2565b80601f0160208091040260200160405190810160405280929190818152602001828054611a23906127a2565b8015611a705780601f10611a4557610100808354040283529160200191611a70565b820191906000526020600020905b815481529060010190602001808311611a5357829003601f168201915b505050505081526020016001820154815260200160028201548152602001600382015481526020016004820160009054906101000a900460ff161515151581526020016004820160019054906101000a900460ff161515151581525050908060100160009054906101000a900460ff1690806011018054611af0906127a2565b80601f0160208091040260200160405190810160405280929190818152602001828054611b1c906127a2565b8015611b695780601f10611b3e57610100808354040283529160200191611b69565b820191906000526020600020905b815481529060010190602001808311611b4c57829003601f168201915b5050505050905087565b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfb906132de565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b8260028101928215611c77579160200282015b82811115611c76578235825591602001919060010190611c5b565b5b509050611c849190611c88565b5090565b5b80821115611ca1576000816000905550600101611c89565b5090565b600080fd5b600080fd5b6000819050919050565b611cc281611caf565b8114611ccd57600080fd5b50565b600081359050611cdf81611cb9565b92915050565b600060208284031215611cfb57611cfa611ca5565b5b6000611d0984828501611cd0565b91505092915050565b60008115159050919050565b611d2781611d12565b82525050565b6000602082019050611d426000830184611d1e565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d7382611d48565b9050919050565b611d8381611d68565b8114611d8e57600080fd5b50565b600081359050611da081611d7a565b92915050565b611daf81611d12565b8114611dba57600080fd5b50565b600081359050611dcc81611da6565b92915050565b60008060008060808587031215611dec57611deb611ca5565b5b6000611dfa87828801611cd0565b9450506020611e0b87828801611d91565b9350506040611e1c87828801611cd0565b9250506060611e2d87828801611dbd565b91505092959194509250565b611e4281611caf565b82525050565b6000602082019050611e5d6000830184611e39565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e8857611e87611e63565b5b8235905067ffffffffffffffff811115611ea557611ea4611e68565b5b602083019150836001820283011115611ec157611ec0611e6d565b5b9250929050565b600081905082602060020282011115611ee457611ee3611e6d565b5b92915050565b60008083601f840112611f0057611eff611e63565b5b8235905067ffffffffffffffff811115611f1d57611f1c611e68565b5b602083019150836001820283011115611f3957611f38611e6d565b5b9250929050565b60008060008060008060008060008060006101608c8e031215611f6657611f65611ca5565b5b6000611f748e828f01611d91565b9b505060208c013567ffffffffffffffff811115611f9557611f94611caa565b5b611fa18e828f01611e72565b9a509a50506040611fb48e828f01611cd0565b9850506060611fc58e828f01611ec8565b97505060a0611fd68e828f01611ec8565b96505060e0611fe78e828f01611cd0565b955050610100611ff98e828f01611dbd565b94505061012061200b8e828f01611dbd565b9350506101408c013567ffffffffffffffff81111561202d5761202c611caa565b5b6120398e828f01611eea565b92509250509295989b509295989b9093969950565b61205781611d68565b82525050565b61206681611caf565b82525050565b600060029050919050565b600081905092915050565b6000819050919050565b6000612098838361205d565b60208301905092915050565b6000602082019050919050565b6120ba8161206c565b6120c48184612077565b92506120cf82612082565b8060005b838110156121005781516120e7878261208c565b96506120f2836120a4565b9250506001810190506120d3565b505050505050565b61211181611d12565b82525050565b60e08201600082015161212d600085018261205d565b50602082015161214060208501826120b1565b50604082015161215360608501826120b1565b50606082015161216660a085018261205d565b50608082015161217960c0850182612108565b50505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156121b957808201518184015260208101905061219e565b60008484015250505050565b6000601f19601f8301169050919050565b60006121e18261217f565b6121eb818561218a565b93506121fb81856020860161219b565b612204816121c5565b840191505092915050565b600060c083016000830151848203600086015261222c82826121d6565b9150506020830151612241602086018261205d565b506040830151612254604086018261205d565b506060830151612267606086018261205d565b50608083015161227a6080860182612108565b5060a083015161228d60a0860182612108565b508091505092915050565b600081519050919050565b600082825260208201905092915050565b60006122bf82612298565b6122c981856122a3565b93506122d981856020860161219b565b6122e2816121c5565b840191505092915050565b60006101a082019050612303600083018a611e39565b612310602083018961204e565b61231d6040830188611e39565b61232a6060830187612117565b81810361014083015261233d818661220f565b905061234d610160830185611d1e565b81810361018083015261236081846122b4565b905098975050505050505050565b600061237982611d68565b9050919050565b6123898161236e565b811461239457600080fd5b50565b6000813590506123a681612380565b92915050565b6000602082840312156123c2576123c1611ca5565b5b60006123d084828501612397565b91505092915050565b600082825260208201905092915050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c206576616c7560008201527f6174654f7574636f6d6500000000000000000000000000000000000000000000602082015250565b6000612446602a836123d9565b9150612451826123ea565b604082019050919050565b6000602082019050818103600083015261247581612439565b9050919050565b7f506f6f6c20697320616c7265616479207265736f6c7665640000000000000000600082015250565b60006124b26018836123d9565b91506124bd8261247c565b602082019050919050565b600060208201905081810360008301526124e1816124a5565b9050919050565b60006020820190506124fd600083018461204e565b92915050565b60008151905061251281611cb9565b92915050565b60006020828403121561252e5761252d611ca5565b5b600061253c84828501612503565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061257f82611caf565b915061258a83611caf565b92508282019050808211156125a2576125a1612545565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125e282611caf565b91506125ed83611caf565b9250826125fd576125fc6125a8565b5b828204905092915050565b600061261382611caf565b915061261e83611caf565b92508261262e5761262d6125a8565b5b828206905092915050565b7f506f6f6c20656e642074696d6520686173206e6f74207965742061727269766560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006126956021836123d9565b91506126a082612639565b604082019050919050565b600060208201905081810360008301526126c481612688565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061270582611caf565b915061271083611caf565b925082820261271e81611caf565b9150828204841483151761273557612734612545565b5b5092915050565b60006060820190506127516000830186611e39565b61275e6020830185611d1e565b61276b6040830184611d1e565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806127ba57607f821691505b6020821081036127cd576127cc612773565b5b50919050565b60008190508160005260206000209050919050565b600081546127f5816127a2565b6127ff81866122a3565b9450600182166000811461281a576001811461283057612863565b60ff198316865281151560200286019350612863565b612839856127d3565b60005b8381101561285b5781548189015260018201915060208101905061283c565b808801955050505b50505092915050565b600060c082019050612881600083018961204e565b61288e6020830188611d1e565b61289b6040830187611d1e565b6128a86060830186611e39565b6128b56080830185611e39565b81810360a08301526128c781846127e8565b9050979650505050505050565b60006060820190506128e9600083018661204e565b6128f6602083018561204e565b6129036040830184611e39565b949350505050565b6000604082019050612920600083018561204e565b61292d6020830184611e39565b9392505050565b600061293f82611caf565b915061294a83611caf565b925082820390508181111561296257612961612545565b5b92915050565b60008190508160005260206000209050919050565b6000815461298a816127a2565b61299481866123d9565b945060018216600081146129af57600181146129c5576129f8565b60ff1983168652811515602002860193506129f8565b6129ce85612968565b60005b838110156129f0578154818901526001820191506020810190506129d1565b808801955050505b50505092915050565b6000819050919050565b612a1481612a01565b82525050565b60006040820190508181036000830152612a34818561297d565b9050612a436020830184612a0b565b9392505050565b7f506f6f6c20656e642074696d6520686173207061737365640000000000000000600082015250565b6000612a806018836123d9565b9150612a8b82612a4a565b602082019050919050565b60006020820190508181036000830152612aaf81612a73565b9050919050565b6000612ac182611caf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612af357612af2612545565b5b600182019050919050565b7f4f6e6c792044414f20636f6e7472616374206d61792063616c6c20696e69746960008201527f61746556616c69646174696f6e506f6f6c000000000000000000000000000000602082015250565b6000612b5a6031836123d9565b9150612b6582612afe565b604082019050919050565b60006020820190508181036000830152612b8981612b4d565b9050919050565b7f46656520697320726571756972656420746f20696e6974696174652076616c6960008201527f646174696f6e20706f6f6c000000000000000000000000000000000000000000602082015250565b6000612bec602b836123d9565b9150612bf782612b90565b604082019050919050565b60006020820190508181036000830152612c1b81612bdf565b9050919050565b7f4475726174696f6e20697320746f6f2073686f72740000000000000000000000600082015250565b6000612c586015836123d9565b9150612c6382612c22565b602082019050919050565b60006020820190508181036000830152612c8781612c4b565b9050919050565b7f4475726174696f6e20697320746f6f206c6f6e67000000000000000000000000600082015250565b6000612cc46014836123d9565b9150612ccf82612c8e565b602082019050919050565b60006020820190508181036000830152612cf381612cb7565b9050919050565b7f51756f72756d2069732062656c6f77206d696e696d756d000000000000000000600082015250565b6000612d306017836123d9565b9150612d3b82612cfa565b602082019050919050565b60006020820190508181036000830152612d5f81612d23565b9050919050565b7f51756f72756d2069732067726561746572207468616e206f6e65000000000000600082015250565b6000612d9c601a836123d9565b9150612da782612d66565b602082019050919050565b60006020820190508181036000830152612dcb81612d8f565b9050919050565b7f57696e20726174696f2069732067726561746572207468616e206f6e65000000600082015250565b6000612e08601d836123d9565b9150612e1382612dd2565b602082019050919050565b60006020820190508181036000830152612e3781612dfb565b9050919050565b7f42696e64696e672070657263656e74206d757374206265203c3d203130300000600082015250565b6000612e74601e836123d9565b9150612e7f82612e3e565b602082019050919050565b60006020820190508181036000830152612ea381612e67565b9050919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020601f8301049050919050565b600082821b905092915050565b600060088302612f317fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612ef4565b612f3b8683612ef4565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612f78612f73612f6e84611caf565b612f53565b611caf565b9050919050565b6000819050919050565b612f9283612f5d565b612fa6612f9e82612f7f565b848454612f01565b825550505050565b600090565b612fbb612fae565b612fc6818484612f89565b505050565b5b81811015612fea57612fdf600082612fb3565b600181019050612fcc565b5050565b601f82111561302f5761300081612968565b61300984612ee4565b81016020851015613018578190505b61302c61302485612ee4565b830182612fcb565b50505b505050565b600082821c905092915050565b600061305260001984600802613034565b1980831691505092915050565b600061306b8383613041565b9150826002028217905092915050565b6130858383612eaa565b67ffffffffffffffff81111561309e5761309d612eb5565b5b6130a882546127a2565b6130b3828285612fee565b6000601f8311600181146130e257600084156130d0578287013590505b6130da858261305f565b865550613142565b601f1984166130f086612968565b60005b82811015613118578489013582556001820191506020850194506020810190506130f3565b868310156131355784890135613131601f891682613041565b8355505b6001600288020188555050505b50505050505050565b600082905092915050565b601f82111561319757613168816127d3565b61317184612ee4565b81016020851015613180578190505b61319461318c85612ee4565b830182612fcb565b50505b505050565b6131a6838361314b565b67ffffffffffffffff8111156131bf576131be612eb5565b5b6131c982546127a2565b6131d4828285613156565b6000601f83116001811461320357600084156131f1578287013590505b6131fb858261305f565b865550613263565b601f198416613211866127d3565b60005b8281101561323957848901358255600182019150602085019450602081019050613214565b868310156132565784890135613252601f891682613041565b8355505b6001600288020188555050505b50505050505050565b7f412044414f2068617320616c7265616479206265656e2072656769737465726560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006132c86021836123d9565b91506132d38261326c565b604082019050919050565b600060208201905081810360008301526132f7816132bb565b905091905056fea2646970667358221220ab9f8a5942ecbf9c75ff9ca178767889568b984ae08e0b32809d1bd65f01c0e664736f6c63430008180033",
"linkReferences": {},
"deployedLinkReferences": {}
}