@aztec/l1-artifacts 0.76.4-devnet-test-rc3 → 0.77.0-testnet-ignition.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/CoinIssuerAbi.d.ts +52 -32
- package/dest/CoinIssuerAbi.d.ts.map +1 -1
- package/dest/CoinIssuerAbi.js +63 -38
- package/dest/CoinIssuerBytecode.d.ts.map +1 -1
- package/dest/CoinIssuerBytecode.js +2 -5
- package/dest/EmpireBaseAbi.d.ts +52 -32
- package/dest/EmpireBaseAbi.d.ts.map +1 -1
- package/dest/EmpireBaseAbi.js +63 -38
- package/dest/EmpireBaseBytecode.d.ts.map +1 -1
- package/dest/EmpireBaseBytecode.js +2 -5
- package/dest/ErrorsAbi.d.ts +52 -32
- package/dest/ErrorsAbi.d.ts.map +1 -1
- package/dest/ErrorsAbi.js +63 -38
- package/dest/ExtRollupLibAbi.d.ts +157 -214
- package/dest/ExtRollupLibAbi.d.ts.map +1 -1
- package/dest/ExtRollupLibAbi.js +188 -269
- package/dest/ExtRollupLibBytecode.d.ts +1 -1
- package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
- package/dest/ExtRollupLibBytecode.js +2 -5
- package/dest/FeeJuicePortalAbi.d.ts +52 -32
- package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
- package/dest/FeeJuicePortalAbi.js +63 -38
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.d.ts.map +1 -1
- package/dest/FeeJuicePortalBytecode.js +2 -5
- package/dest/ForwarderAbi.d.ts +52 -32
- package/dest/ForwarderAbi.d.ts.map +1 -1
- package/dest/ForwarderAbi.js +63 -38
- package/dest/ForwarderBytecode.d.ts.map +1 -1
- package/dest/ForwarderBytecode.js +2 -5
- package/dest/GovernanceAbi.d.ts +52 -32
- package/dest/GovernanceAbi.d.ts.map +1 -1
- package/dest/GovernanceAbi.js +63 -38
- package/dest/GovernanceBytecode.d.ts +1 -1
- package/dest/GovernanceBytecode.d.ts.map +1 -1
- package/dest/GovernanceBytecode.js +2 -5
- package/dest/GovernanceProposerAbi.d.ts +52 -32
- package/dest/GovernanceProposerAbi.d.ts.map +1 -1
- package/dest/GovernanceProposerAbi.js +63 -38
- package/dest/GovernanceProposerBytecode.d.ts +1 -1
- package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
- package/dest/GovernanceProposerBytecode.js +2 -5
- package/dest/HonkVerifierAbi.d.ts +52 -32
- package/dest/HonkVerifierAbi.d.ts.map +1 -1
- package/dest/HonkVerifierAbi.js +63 -38
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.d.ts.map +1 -1
- package/dest/HonkVerifierBytecode.js +2 -5
- package/dest/IERC20Abi.d.ts +52 -32
- package/dest/IERC20Abi.d.ts.map +1 -1
- package/dest/IERC20Abi.js +63 -38
- package/dest/IERC20Bytecode.d.ts.map +1 -1
- package/dest/IERC20Bytecode.js +2 -5
- package/dest/IVerifierAbi.d.ts +52 -32
- package/dest/IVerifierAbi.d.ts.map +1 -1
- package/dest/IVerifierAbi.js +63 -38
- package/dest/IVerifierBytecode.d.ts.map +1 -1
- package/dest/IVerifierBytecode.js +2 -5
- package/dest/InboxAbi.d.ts +52 -32
- package/dest/InboxAbi.d.ts.map +1 -1
- package/dest/InboxAbi.js +63 -38
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.d.ts.map +1 -1
- package/dest/InboxBytecode.js +2 -5
- package/dest/MockVerifierAbi.d.ts +52 -32
- package/dest/MockVerifierAbi.d.ts.map +1 -1
- package/dest/MockVerifierAbi.js +63 -38
- package/dest/MockVerifierBytecode.d.ts.map +1 -1
- package/dest/MockVerifierBytecode.js +2 -5
- package/dest/NewGovernanceProposerPayloadAbi.d.ts +52 -32
- package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.js +63 -38
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.js +2 -5
- package/dest/OutboxAbi.d.ts +52 -32
- package/dest/OutboxAbi.d.ts.map +1 -1
- package/dest/OutboxAbi.js +63 -38
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.d.ts.map +1 -1
- package/dest/OutboxBytecode.js +2 -5
- package/dest/{StakingLibAbi.d.ts → RegisterNewRollupVersionPayloadAbi.d.ts} +105 -114
- package/dest/{StakingLibAbi.d.ts.map → RegisterNewRollupVersionPayloadAbi.d.ts.map} +1 -1
- package/dest/{StakingLibAbi.js → RegisterNewRollupVersionPayloadAbi.js} +126 -134
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +9 -0
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts.map +1 -0
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +6 -0
- package/dest/RegistryAbi.d.ts +52 -32
- package/dest/RegistryAbi.d.ts.map +1 -1
- package/dest/RegistryAbi.js +63 -38
- package/dest/RegistryBytecode.d.ts +1 -1
- package/dest/RegistryBytecode.d.ts.map +1 -1
- package/dest/RegistryBytecode.js +2 -5
- package/dest/RewardDistributorAbi.d.ts +70 -32
- package/dest/RewardDistributorAbi.d.ts.map +1 -1
- package/dest/RewardDistributorAbi.js +87 -38
- package/dest/RewardDistributorBytecode.d.ts +1 -1
- package/dest/RewardDistributorBytecode.d.ts.map +1 -1
- package/dest/RewardDistributorBytecode.js +2 -5
- package/dest/RollupAbi.d.ts +332 -540
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +469 -735
- package/dest/RollupBytecode.d.ts +8 -128
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +9 -172
- package/dest/RollupStorage.d.ts +2 -16
- package/dest/RollupStorage.d.ts.map +1 -1
- package/dest/RollupStorage.js +3 -21
- package/dest/SlashFactoryAbi.d.ts +52 -32
- package/dest/SlashFactoryAbi.d.ts.map +1 -1
- package/dest/SlashFactoryAbi.js +63 -38
- package/dest/SlashFactoryBytecode.d.ts.map +1 -1
- package/dest/SlashFactoryBytecode.js +2 -5
- package/dest/SlasherAbi.d.ts +52 -32
- package/dest/SlasherAbi.d.ts.map +1 -1
- package/dest/SlasherAbi.js +63 -38
- package/dest/SlasherBytecode.d.ts.map +1 -1
- package/dest/SlasherBytecode.js +2 -5
- package/dest/SlashingProposerAbi.d.ts +52 -32
- package/dest/SlashingProposerAbi.d.ts.map +1 -1
- package/dest/SlashingProposerAbi.js +63 -38
- package/dest/SlashingProposerBytecode.d.ts.map +1 -1
- package/dest/SlashingProposerBytecode.js +2 -5
- package/dest/TestERC20Abi.d.ts +52 -32
- package/dest/TestERC20Abi.d.ts.map +1 -1
- package/dest/TestERC20Abi.js +63 -38
- package/dest/TestERC20Bytecode.d.ts.map +1 -1
- package/dest/TestERC20Bytecode.js +2 -5
- package/dest/TokenPortalAbi.d.ts +52 -32
- package/dest/TokenPortalAbi.d.ts.map +1 -1
- package/dest/TokenPortalAbi.js +63 -38
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.d.ts.map +1 -1
- package/dest/TokenPortalBytecode.js +2 -5
- package/dest/UniswapPortalAbi.d.ts +52 -32
- package/dest/UniswapPortalAbi.d.ts.map +1 -1
- package/dest/UniswapPortalAbi.js +63 -38
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.d.ts.map +1 -1
- package/dest/UniswapPortalBytecode.js +2 -5
- package/dest/ValidatorSelectionLibAbi.d.ts +52 -32
- package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
- package/dest/ValidatorSelectionLibAbi.js +63 -38
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.d.ts.map +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +2 -5
- package/dest/checksum.d.ts +1 -1
- package/dest/checksum.d.ts.map +1 -1
- package/dest/checksum.js +1 -2
- package/dest/index.d.ts +2 -6
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -7
- package/package.json +1 -1
- package/dest/IProofCommitmentEscrowAbi.d.ts +0 -1261
- package/dest/IProofCommitmentEscrowAbi.d.ts.map +0 -1
- package/dest/IProofCommitmentEscrowAbi.js +0 -1665
- package/dest/IProofCommitmentEscrowBytecode.d.ts +0 -9
- package/dest/IProofCommitmentEscrowBytecode.d.ts.map +0 -1
- package/dest/IProofCommitmentEscrowBytecode.js +0 -9
- package/dest/ProofCommitmentEscrowAbi.d.ts +0 -1337
- package/dest/ProofCommitmentEscrowAbi.d.ts.map +0 -1
- package/dest/ProofCommitmentEscrowAbi.js +0 -1765
- package/dest/ProofCommitmentEscrowBytecode.d.ts +0 -9
- package/dest/ProofCommitmentEscrowBytecode.d.ts.map +0 -1
- package/dest/ProofCommitmentEscrowBytecode.js +0 -9
- package/dest/StakingLibBytecode.d.ts +0 -9
- package/dest/StakingLibBytecode.d.ts.map +0 -1
- package/dest/StakingLibBytecode.js +0 -9
- package/generated/CoinIssuerAbi.ts +0 -1603
- package/generated/CoinIssuerBytecode.ts +0 -8
- package/generated/EmpireBaseAbi.ts +0 -1667
- package/generated/EmpireBaseBytecode.ts +0 -8
- package/generated/ErrorsAbi.ts +0 -1438
- package/generated/ExtRollupLibAbi.ts +0 -1746
- package/generated/ExtRollupLibBytecode.ts +0 -8
- package/generated/FeeJuicePortalAbi.ts +0 -1650
- package/generated/FeeJuicePortalBytecode.ts +0 -8
- package/generated/ForwarderAbi.ts +0 -1589
- package/generated/ForwarderBytecode.ts +0 -8
- package/generated/GovernanceAbi.ts +0 -2230
- package/generated/GovernanceBytecode.ts +0 -8
- package/generated/GovernanceProposerAbi.ts +0 -1701
- package/generated/GovernanceProposerBytecode.ts +0 -8
- package/generated/HonkVerifierAbi.ts +0 -1482
- package/generated/HonkVerifierBytecode.ts +0 -8
- package/generated/IERC20Abi.ts +0 -1621
- package/generated/IERC20Bytecode.ts +0 -8
- package/generated/IProofCommitmentEscrowAbi.ts +0 -1664
- package/generated/IProofCommitmentEscrowBytecode.ts +0 -8
- package/generated/IVerifierAbi.ts +0 -1462
- package/generated/IVerifierBytecode.ts +0 -8
- package/generated/InboxAbi.ts +0 -1621
- package/generated/InboxBytecode.ts +0 -8
- package/generated/MockVerifierAbi.ts +0 -1462
- package/generated/MockVerifierBytecode.ts +0 -8
- package/generated/NewGovernanceProposerPayloadAbi.ts +0 -1500
- package/generated/NewGovernanceProposerPayloadBytecode.ts +0 -8
- package/generated/OutboxAbi.ts +0 -1658
- package/generated/OutboxBytecode.ts +0 -8
- package/generated/ProofCommitmentEscrowAbi.ts +0 -1764
- package/generated/ProofCommitmentEscrowBytecode.ts +0 -8
- package/generated/RegistryAbi.ts +0 -1694
- package/generated/RegistryBytecode.ts +0 -8
- package/generated/RewardDistributorAbi.ts +0 -1641
- package/generated/RewardDistributorBytecode.ts +0 -8
- package/generated/RollupAbi.ts +0 -3879
- package/generated/RollupBytecode.ts +0 -201
- package/generated/RollupStorage.ts +0 -61
- package/generated/SlashFactoryAbi.ts +0 -1540
- package/generated/SlashFactoryBytecode.ts +0 -8
- package/generated/SlasherAbi.ts +0 -1527
- package/generated/SlasherBytecode.ts +0 -8
- package/generated/SlashingProposerAbi.ts +0 -1719
- package/generated/SlashingProposerBytecode.ts +0 -8
- package/generated/StakingLibAbi.ts +0 -1538
- package/generated/StakingLibBytecode.ts +0 -8
- package/generated/TestERC20Abi.ts +0 -1885
- package/generated/TestERC20Bytecode.ts +0 -8
- package/generated/TokenPortalAbi.ts +0 -1680
- package/generated/TokenPortalBytecode.ts +0 -8
- package/generated/UniswapPortalAbi.ts +0 -1652
- package/generated/UniswapPortalBytecode.ts +0 -8
- package/generated/ValidatorSelectionLibAbi.ts +0 -1438
- package/generated/ValidatorSelectionLibBytecode.ts +0 -8
- package/generated/checksum.ts +0 -1
- package/generated/index.ts +0 -58
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rollup bytecode.
|
|
3
|
-
*/
|
|
4
|
-
export const RollupBytecode = "0x6102a06040525f6003556004805460ff19166001179055348015610021575f5ffd5b5060405161a02d38038061a02d833981016040819052610040916108b2565b86868686868686816040518060400160405280600c81526020016b0417a74656320526f6c6c75760a41b815250604051806040016040528060018152602001603160f81b81525061009a5f8361078660201b90919060201c565b610120526100a9816001610786565b61014052815160208084019190912060e052815190820120610100524660a05261013560e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526001600160a01b03811661016c57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b610175816107b8565b5080516020820151427fcc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe0557fcc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe1919091557fcc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe2555f6201518090505f8260a001518360c0015160405161020590610846565b9182526020820152604001604051809103905ff080158015610229573d5f5f3e3d5ffd5b506080840151604051626ab36360e51b81526001600160a01b03808b166004830152602482019290925260448101859052908216606482015290915073__$f6f607895dae8739569bdad20c7163daf4$__90630d566c60906084015f6040518083038186803b15801561029a575f5ffd5b505af41580156102ac573d5f5f3e3d5ffd5b5050505060408301517f9bd0cd65f3d2d8103fe75b0f150f04a46bd0e603fd1819b64700ff42b24ee3ac556001600160a01b03808a1661024081905290891661026052604080516362eb326360e11b8152905163c5d664c6916004808201926020929091908290030181865afa158015610328573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061034c91906109ae565b6001600160a01b0316610280819052835160208501516040513092919061037290610853565b6001600160a01b03948516815293909216602084015260408301526060820152608001604051809103905ff0801580156103ae573d5f5f3e3d5ffd5b506001600160a01b03166102005260405130906004906103cd90610860565b6001600160a01b0390921682526020820152604001604051809103905ff0801580156103fb573d5f5f3e3d5ffd5b506001600160a01b03166101c05260405130906104179061086d565b6001600160a01b039091168152602001604051809103905ff080158015610440573d5f5f3e3d5ffd5b506001600160a01b03166101e052600161022052436101a052606083015161018052737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15156101605260405161048a9061087a565b604051809103905ff0801580156104a3573d5f5f3e3d5ffd5b50601580546001600160a01b0319166001600160a01b03929092169190911790556009869055600a85905560408051610120810182525f608080830182815260a080850184905260c0850184905260e0850184905261010085018490529084527f0237797d6a2c04d20d4fa06b74482bd970ccd51a43d9b05b57e9b91fa1ae1cae60208086019182527f2da55666630fdf8594065c377958c827dc1c130dac91f17c6699b53dce60ef75868801908152606080880187815296805260058352965180517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc55808301517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bd55808901517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746be55808801517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bf558501517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746c05591517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746c15590517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746c25592517f05b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746c35584519081018552633b9aca00938101938452600191810191909152918252825180840184524881529251631c02c2d360e11b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d6004820152919283820192909182019073__$a4c28011a2e5925604ad1989bc2650e6d7$__9063380585a690602401602060405180830381865af415801561071e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074291906109d0565b90528152600560209182015281518051600b55810151600c55818101518051600d550151600e5560400151600f5550610b7d9e505050505050505050505050505050565b5f6020835110156107a15761079a83610809565b90506107b2565b816107ac8482610a6b565b5060ff90505b92915050565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f5f829050601f81511115610833578260405163305a27a960e01b81526004016101639190610b25565b805161083e82610b5a565b179392505050565b61125e8061689b83390190565b610a1480617af983390190565b610f778061850d83390190565b610a368061948483390190565b61017380619eba83390190565b6001600160a01b038116811461089b575f5ffd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f5f5f5f8789036101a08112156108ca575f5ffd5b88516108d581610887565b60208a01519098506108e681610887565b60408a01519097506108f781610887565b60608a015160808b015160a08c0151929850909650945061091781610887565b925060e060bf198201121561092a575f5ffd5b5060405160e081016001600160401b038111828210171561094d5761094d61089e565b604090815260c08a810151835260e08b015160208401526101008b0151918301919091526101208a015160608301526101408a015160808301526101608a015160a08301526101809099015198810198909852509497939650919490939192565b5f602082840312156109be575f5ffd5b81516109c981610887565b9392505050565b5f602082840312156109e0575f5ffd5b5051919050565b600181811c908216806109fb57607f821691505b602082108103610a1957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610a6657805f5260205f20601f840160051c81016020851015610a445750805b601f840160051c820191505b81811015610a63575f8155600101610a50565b50505b505050565b81516001600160401b03811115610a8457610a8461089e565b610a9881610a9284546109e7565b84610a1f565b6020601f821160018114610aca575f8315610ab35750848201515b5f19600385901b1c1916600184901b178455610a63565b5f84815260208120601f198516915b82811015610af95787850151825560209485019460019092019101610ad9565b5084821015610b1657868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80516020808301519190811015610a19575f1960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051610240516102605161028051615bf9610ca25f395f81816107590152612d5001525f81816109c301528181611334015281816114dd0152612d2e01525f81816105a70152818161129d0152818161141e01528181612d0c015261359301525f8181610ccb015261356d01525f8181610b1d0152818161182701528181611eb50152612cea01525f81816105e601526111af01525f8181610ad301526110ed01525f61091601525f81816106f2015281816118010152612ee101525f610c7601525f613a9601525f613a6a01525f613fe101525f613fb901525f613f1401525f613f3e01525f613f680152615bf95ff3fe608060405234801561000f575f5ffd5b50600436106104d2575f3560e01c806388e4a07311610284578063c001ab8211610161578063dc1bb8f4116100d5578063f1b98cea1161008f578063f1b98cea14610c71578063f2fde38b14610c98578063f7a0572b14610cab578063f85d4eaa14610cb3578063ffa1ad7414610cc6578063ffdd5cf114610ced575f5ffd5b8063dc1bb8f414610bf8578063ddf8d65114610c0b578063e3380b7914610c45578063e7142f7c14610c4d578063ede57c3414610c56578063ee3b8dc214610c5e575f5ffd5b8063d03b2bae11610126578063d03b2bae14610bb2578063d0c80f1314610bc5578063d0f1be4914610bcd578063d3c576d814610be0578063d8e3784c14610be8578063d9bbd27814610bf0575f5ffd5b8063c001ab8214610b5a578063c27f08b514610b70578063c377834314610b83578063c4014c1214610b8b578063c9d1e01214610b9f575f5ffd5b8063a0e6fc87116101f8578063b85e881d116101bd578063b85e881d14610af5578063b8f3159014610b08578063b97dd9e214610b10578063b980240514610b18578063b9d0916314610b3f578063bece308a14610b52575f5ffd5b8063a0e6fc8714610a79578063a7f8e64614610a8c578063a9a1c6f414610a9f578063b67d057b14610ac6578063b701069714610ace575f5ffd5b8063966ab4ee11610249578063966ab4ee14610a0c57806399d7060414610a145780639e0fedd814610a275780639f2b315414610a495780639fa5048014610a51578063a011f6a914610a71575f5ffd5b806388e4a073146109815780638da5cb5b146109ad5780638de728e4146109be5780638f2a2b26146109e557806390a3b38614610a04575f5ffd5b806353a16024116103b2578063715018a611610326578063754eddb7116102eb578063754eddb7146108fe57806379ed8ead146109115780637afeed28146109385780637de3ca891461094b57806380edb5bd1461095357806384b0196e14610966575f5ffd5b8063715018a6146108af578063723d8e96146108b7578063725e494e146108cb5780637468582f146108de57806374af185e146108eb575f5ffd5b806361de7ac61161037757806361de7ac61461082b57806363b03d331461083e57806368bdcbc514610851578063694223ac1461086457806369457a6f1461087c57806370192e561461088f575f5ffd5b806353a16024146107a65780635aa51600146107b95780635d3ea8f1146107cc5780635dc0ff94146107d45780635f82401f1461080b575f5ffd5b806336185aa11161044957806342d21ef71161040e57806342d21ef7146107145780634800d97f1461075457806348b9e57b1461077b5780634a177008146107835780634ed7e43514610796578063508ac49b1461079e575f5ffd5b806336185aa1146106b75780633777e863146106ca578063386f56fc146106dd5780633b10244b146106e55780633ceac569146106ed575f5ffd5b80631811f40b1161049a5780631811f40b146105a25780631b142ea7146105e15780631cfe2878146106085780632716c7371461062857806333f9acb41461063b57806335f3892014610663575f5ffd5b80630284c3f5146104d657806302a21460146104eb57806302fb4d851461051457806304c0756914610527578063164552d81461058f575b5f5ffd5b6104e96104e43660046141ea565b610d0d565b005b6007545f90815260056020819052604090912001545b6040519081526020015b60405180910390f35b6104e9610522366004614238565b610d99565b61053a610535366004614262565b610e0b565b60408051825180518252602080820151818401528184015183850152606080830151818501526080928301519284019290925284015160a08301529183015160c082015291015160e08201526101000161050b565b6104e961059d3660046144b7565b610ebc565b6105c97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161050b565b6105c97f000000000000000000000000000000000000000000000000000000000000000081565b61061b610616366004614262565b611592565b60405161050b9190614577565b6104e96106363660046145d3565b61168d565b61064e6106493660046145ff565b611884565b6040805192835260208301919091520161050b565b61066b611a8f565b60405161050b91908151815260208083015190820152604080830151908201526060808301516001600160a01b0390811691830191909152608092830151169181019190915260a00190565b6104e96106c536600461461f565b611b0f565b6105016106d8366004614262565b611baa565b610501611bd2565b6105c9611c47565b6105017f000000000000000000000000000000000000000000000000000000000000000081565b610727610722366004614262565b611c56565b604080519687526020870195909552938501929092526060840152608083015260a082015260c00161050b565b6105c97f000000000000000000000000000000000000000000000000000000000000000081565b600754610501565b6104e96107913660046146e7565b611cb2565b61061b611d1c565b6104e9611d94565b6104e96107b4366004614702565b611e8a565b6104e96107c7366004614262565b612053565b610501612060565b6107e76107e23660046146e7565b612079565b60408051825181526020928301516001600160a01b0316928101929092520161050b565b61081e610819366004614262565b612135565b60405161050b919061471d565b6105c96108393660046146e7565b612188565b6104e961084c366004614734565b61221c565b6104e961085f366004614262565b612233565b61086c612240565b604051901515815260200161050b565b61061b61088a366004614262565b61224a565b6108a261089d366004614806565b6122d2565b60405161050b9190614834565b6104e96123df565b5f516020615ba45f395f51905f5254610501565b6104e96108d93660046146e7565b6123f2565b60045461086c9060ff1681565b6105016108f9366004614262565b61241c565b61050161090c366004614806565b612426565b6105017f000000000000000000000000000000000000000000000000000000000000000081565b610501610946366004614262565b612440565b610501612452565b610501610961366004614262565b612479565b61096e6124c5565b60405161050b979695949392919061489b565b6040805180820182525f808252602091820152815180830190925260075482526008549082015261081e565b6002546001600160a01b03166105c9565b6105c97f000000000000000000000000000000000000000000000000000000000000000081565b6105016109f3366004614262565b5f9081526006602052604090205490565b610501612507565b61061b61257e565b6105c9610a22366004614262565b612672565b610a3a610a35366004614931565b61277f565b60405161050b939291906149a9565b6104e9612813565b610a64610a5f3660046149cd565b612840565b60405161050b9190614abb565b6105c96128d9565b6104e9610a87366004614262565b612954565b6105c9610a9a366004614262565b61296a565b6105c97f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d81565b600854610501565b6105c97f000000000000000000000000000000000000000000000000000000000000000081565b610501610b03366004614ade565b6129b6565b6105016129c8565b610501612a11565b6105c97f000000000000000000000000000000000000000000000000000000000000000081565b610501610b4d366004614262565b612a1b565b610501612a25565b6105c96b4355415548584943414c4c4960401b81565b6105c9610b7e366004614262565b612a5e565b610501612b68565b5f516020615b645f395f51905f5254610501565b610501610bad366004614262565b612b85565b610501610bc0366004614262565b612b8f565b6105c9612b99565b6104e9610bdb366004614b3d565b612c17565b610501600581565b610501612e00565b610501612e0a565b61086c610c06366004614262565b612e76565b610c1e610c19366004614262565b612f6a565b6040805182516001600160a01b03908116825260209384015116928101929092520161050b565b6104e9613074565b6105016103e881565b610501613145565b61086c610c6c366004614b74565b613151565b61086c7f000000000000000000000000000000000000000000000000000000000000000081565b6104e9610ca63660046146e7565b6131dc565b610501600281565b6104e9610cc1366004614ba0565b613219565b6105017f000000000000000000000000000000000000000000000000000000000000000081565b610d00610cfb3660046146e7565b61333f565b60405161050b9190614c98565b610d15613074565b604051630284c3f560e01b81526001600160a01b0380861660048301528085166024830152831660448201526064810182905273__$f6f607895dae8739569bdad20c7163daf4$__90630284c3f5906084015f6040518083038186803b158015610d7d575f5ffd5b505af4158015610d8f573d5f5f3e3d5ffd5b5050505050505050565b6040516302fb4d8560e01b81526001600160a01b03831660048201526024810182905273__$f6f607895dae8739569bdad20c7163daf4$__906302fb4d85906044015f6040518083038186803b158015610df1575f5ffd5b505af4158015610e03573d5f5f3e3d5ffd5b505050505050565b610e13614186565b6007548281811115610e465760405163e5edf84760e01b8152600481019290925260248201526044015b60405180910390fd5b5050505f90815260056020818152604092839020835161012081018552815460808201908152600183015460a0830152600283015460c0830152600383015460e0830152600483015461010083015281529281015491830191909152600681015492820192909252600790910154606082015290565b610ec4612240565b15610ed157610ed1613456565b610ed9611d94565b6004805460405163f711e6c360e01b81525f928392839273__$a4c28011a2e5925604ad1989bc2650e6d7$__9263f711e6c392610f1e928a928a9260ff169101614d10565b5f60405180830381865af4158015610f38573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f5f9190810190614d90565b919450925090505f73__$a4c28011a2e5925604ad1989bc2650e6d7$__6364daf9d6610f8e60808d018d614ddb565b6040518363ffffffff1660e01b8152600401610fab929190614e1d565b61036060405180830381865af4158015610fc7573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610feb9190614fa8565b9050610ff5613074565b5f6110014260016122d2565b90505f61100d826134c9565b9050611044838c6110268f61102190615126565b6134d3565b604080518082019091525f8082526020820152429086908b90613505565b600780545f91908290611056906151e0565b919050819055905061106c8d82855f0151613620565b5f8281526005602081815260408084208551805182558084015160018301558083015160028301556060808201516003840155608090910151600480840191909155878501519583019590955586830151600680840191909155960151600790910155939052828220889055915163483f31ab60e01b8152918201839052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063483f31ab906024016020604051808303815f875af115801561113b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061115f91906151f8565b60208601516040015190915081908082146111965760405163cd6f423360e01b815260048101929092526024820152604401610e3d565b5050505f6111aa85602001515f0151613753565b5090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d96c2c9838760200151606001518460016111f3919061520f565b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064015f604051808303815f87803b158015611236575f5ffd5b505af1158015611248573d5f5f3e3d5ffd5b505050508d5f0135827f9ad613a7ff46b97e0f732b31118d43f39c9ca017bed1efe739b70b06253835898a6040516112809190614abb565b60405180910390a360165482116115825761129a82613833565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026cd0dc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112f7573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061131b9190615222565b6001600160a01b0316306001600160a01b03161490505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026cd0dc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b29190615222565b6001600160a01b0316306001600160a01b03161490508180156113e55750606087015160a001516001600160a01b031615155b80156113f457505f8760800151115b1561149357606087015160a0015160808801516040516348fef59560e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016926348fef59592611465926004016001600160a01b03929092168252602082015260400190565b5f604051808303815f87803b15801561147c575f5ffd5b505af115801561148e573d5f5f3e3d5ffd5b505050505b8080156114b05750606087015160a001516001600160a01b031615155b1561154b57606087015160a00151604051630f41a04d60e11b81526001600160a01b0391821660048201527f000000000000000000000000000000000000000000000000000000000000000090911690631e83409a906024016020604051808303815f875af1158015611525573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154991906151f8565b505b6040516410d211505560da1b9085907fd989775bfca9340a9fcb6a458bef402a5defb0d44211ee8d61a5974e9ad7379b905f90a350505b5050505050505050505050505050565b606073__$e9020b12d3d7a8dada1f2211c57e4d352c$__63873817a873__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156115f5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061161991906151f8565b61162285612b85565b6040516001600160e01b031960e085901b168152600481019290925260248201526044015f60405180830381865af4158015611660573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611687919081019061523d565b92915050565b5f611697836138ce565b90505f73__$e9020b12d3d7a8dada1f2211c57e4d352c$__6371eab28673__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156116fb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061171f91906151f8565b8461172986613904565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381865af4158015611770573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117949190615222565b90505f61179f612a25565b90505f6117ab8461391f565b90505f6117c0610b0336889003880188614ade565b604051631bff461d60e21b815290915073__$a4c28011a2e5925604ad1989bc2650e6d7$__90636ffd18749061184f9088908890889088908d9089906010907f0000000000000000000000000000000000000000000000000000000000000000906103e8907f0000000000000000000000000000000000000000000000000000000000000000906004016152cc565b5f6040518083038186803b158015611865575f5ffd5b505af4158015611877573d5f5f3e3d5ffd5b5050505050505050505050565b5f5f5f611890856138ce565b90505f61189c86612e76565b6118a8576007546118ac565b6008545b5f8181526005602052604090206007015490915080838082106118eb5760405163083510bd60e41b815260048101929092526024820152604401610e3d565b50505f8281526005602081905260409091200154808780821461192a57604051635b41520760e11b815260048101929092526024820152604401610e3d565b5050604080515f8082526020820190925281611973565b604080516080810182525f8082526020808301829052928201819052606082015282525f199092019101816119415790505b5060408051808201909152600180825260208201529091505f61199587613904565b905073__$e9020b12d3d7a8dada1f2211c57e4d352c$__63621f1ef073__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156119f8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a1c91906151f8565b8984878f886040518763ffffffff1660e01b8152600401611a42969594939291906153c0565b5f6040518083038186803b158015611a58575f5ffd5b505af4158015611a6a573d5f5f3e3d5ffd5b5050505086866001611a7c919061520f565b98509850505050505050505b9250929050565b611ace6040518060a001604052805f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681525090565b506040805160a08101825260105481526011546020820152601254918101919091526013546001600160a01b03908116606083015260145416608082015290565b60405163326d7ceb60e11b8152611ba19073__$a4c28011a2e5925604ad1989bc2650e6d7$__906364daf9d690611b4c908b908b90600401614e1d565b61036060405180830381865af4158015611b68573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b8c9190614fa8565b868686611b9a886001612426565b8787613505565b50505050505050565b6007545f90821115611bbc575f611687565b505f908152600560208190526040909120015490565b5f73__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611c1a573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c3e91906151f8565b60030154905090565b5f611c5142612a5e565b905090565b6008545f8181526005602081905260408083208201546007548085529184209092015492938493849384938493849390929190611c928b611baa565b600854611c9e90612479565b949c939b5091995097509550909350915050565b604051630942ee0160e31b81526001600160a01b038216600482015273__$f6f607895dae8739569bdad20c7163daf4$__90634a177008906024015f6040518083038186803b158015611d03575f5ffd5b505af4158015611d15573d5f5f3e3d5ffd5b5050505050565b6060611c5173__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015611d68573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d8c91906151f8565b60040161393a565b5f611d9e426138ce565b600f549091505f90611dbb90611db660056002613946565b613951565b905081811115611dc9575050565b600d54600b55600e54600c556040805180820182524881529051631c02c2d360e11b8152737109709ecfa91a80626ff3989d68f67f5b1dd12d6004820152602082019073__$a4c28011a2e5925604ad1989bc2650e6d7$__9063380585a690602401602060405180830381865af4158015611e46573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e6a91906151f8565b90528051600d5560200151600e55611e83826002613951565b600f555050565b611e94428261168d565b5f611e9e426138ce565b90505f611ea9612a25565b90506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016631c87b6ac611eea60808601606087016146e7565b6040805160e084901b6001600160e01b03191681526001600160a01b03909216600483015286013560248201526044015f604051808303815f87803b158015611f31575f5ffd5b505af1158015611f43573d5f5f3e3d5ffd5b505050506040518060a00160405280828152602001845f016080016020810190611f6d9190615460565b63ffffffff168152604080860135602083015201611f9160808601606087016146e7565b6001600160a01b0390811682523360209283018190528351601055918301516011556040830151601255606080840151601380549184166001600160a01b031992831617905560809485015160148054919094169116179091559091611ffc919086019086016146e7565b6001600160a01b0316827f04eee47b3fe9e6bcdec9370371d65501f3fb3f44d2fbf49c2b6834635a7253df865f016040013586604051612046929190918252602082015260400190565b60405180910390a4505050565b61205b61395c565b600955565b5f5f516020615ba45f395f51905f525b60020154905090565b604080518082019091525f808252602082015273__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156120d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120f791906151f8565b6001600160a01b039283165f908152600791909101602090815260409182902082518084019093528054835260010154909316928101929092525090565b604080518082019091525f808252602082015261215b612154836138ce565b600f541190565b61216657600d612169565b600b5b6040805180820190915281548152600190910154602082015292915050565b5f73__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156121d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121f491906151f8565b6001600160a01b039283165f9081526006919091016020526040902060020154909116919050565b61222a878787878787610ebc565b611ba181611e8a565b61223b61395c565b600a55565b5f611c5142612e76565b5f8181527f9bd0cd65f3d2d8103fe75b0f150f04a46bd0e603fd1819b64700ff42b24ee3aa60209081526040918290208054835181840281018401909452808452606093928301828280156122c657602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116122a8575b50505050509050919050565b6122ff6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b5f61230984612e76565b61231557600754612319565b6008545b5f81815260056020526040902090915073__$a4c28011a2e5925604ad1989bc2650e6d7$__906332b68a7e9061234e87612135565b8661235d57633b9aca00612365565b612365612b68565b5f516020615b845f395f51905f52546040516001600160e01b031960e087901b168152612398949392919060040161547b565b60a060405180830381865af41580156123b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123d791906154ab565b949350505050565b6123e761395c565b6123f05f613989565b565b6123fa61395c565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b5f61168782613904565b5f61243961243484846122d2565b6134c9565b9392505050565b5f61168761244d83612b85565b6139da565b5f7f9bd0cd65f3d2d8103fe75b0f150f04a46bd0e603fd1819b64700ff42b24ee3aa612070565b6007545f9082818111156124a95760405163e5edf84760e01b815260048101929092526024820152604401610e3d565b50505f8281526005602052604090206007015461168790613904565b5f6060805f5f5f60606124d6613a63565b6124de613a8f565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f611c5173__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612552573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061257691906151f8565b600401613abc565b606073__$e9020b12d3d7a8dada1f2211c57e4d352c$__63873817a873__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156125e1573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061260591906151f8565b61260d612a11565b6040516001600160e01b031960e085901b168152600481019290925260248201526044015f60405180830381865af415801561264b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611c51919081019061523d565b5f73__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156126ba573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126de91906151f8565b6006015f61275a8473__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af415801561272d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275191906151f8565b60040190613ac5565b6001600160a01b03908116825260208201929092526040015f20600201541692915050565b6004805460405163f711e6c360e01b81526060925f92839273__$a4c28011a2e5925604ad1989bc2650e6d7$__9263f711e6c3926127c5928a928a9260ff169101614d10565b5f60405180830381865af41580156127df573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128069190810190614d90565b9250925092509250925092565b61281b612240565b6128385760405163850defd360e01b815260040160405180910390fd5b6123f0613456565b60405163dfc5c62360e01b815260609073__$a4c28011a2e5925604ad1989bc2650e6d7$__9063dfc5c6239061288b906005908d908d908d908d908d908d908d908d9060040161552a565b5f60405180830381865af41580156128a5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526128cc919081019061558e565b9998505050505050505050565b5f73__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612921573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061294591906151f8565b546001600160a01b0316919050565b61295c61395c565b61296581613833565b601655565b5f6116878273__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af415801561272d573d5f5f3e3d5ffd5b5f6116876129c383613ad0565b613ada565b5f5f6129d2612a25565b601054909150811415806129ef57506013546001600160a01b0316155b612a0c576040516316562f8560e11b815260040160405180910390fd5b919050565b5f611c5142613b06565b5f611687826138ce565b6007546008545f919003612a4c5760405163cbaa395160e01b815260040160405180910390fd5b600854611c519061096190600161520f565b5f5f612a69836138ce565b90505f612a7582613904565b905073__$e9020b12d3d7a8dada1f2211c57e4d352c$__6371eab28673__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612ad8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612afc91906151f8565b6040516001600160e01b031960e084901b16815260048101919091526024810185905260448101849052606401602060405180830381865af4158015612b44573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123d79190615222565b6007545f90815260056020526040812060010154611c5190613b4b565b5f61168782613b06565b5f61168782613b55565b5f73__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612be1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c0591906151f8565b600101546001600160a01b0316919050565b612c1f612240565b15612c2c57612c2c613456565b612c706040518061010001604052805f81526020015f81526020015f81526020015f81526020015f151581526020015f151581526020015f81526020015f81525090565b600854808252612c829083359061520f565b60208201528051612c989061096190600161520f565b60608201526020810151612cab90612479565b604080830191909152516337770f7b60e01b81525f9073__$a4c28011a2e5925604ad1989bc2650e6d7$__906337770f7b90612d8990600590879087907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000907f0000000000000000000000000000000000000000000000000000000000000000906b4355415548584943414c4c4960401b90600401615600565b602060405180830381865af4158015612da4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dc891906151f8565b60405190915060e08401359082907fd989775bfca9340a9fcb6a458bef402a5defb0d44211ee8d61a5974e9ad7379b905f90a3505050565b5f611c51426138ce565b5f73__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015612e52573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061207091906151f8565b6008546007545f911480612e8e575060165460075411155b15612e9a57505f919050565b5f612ea4836138ce565b6008549091505f90612ebb9061096190600161520f565b90505f612ec782613b85565b90505f612f0984612f05612edf85611db66001613b85565b7f0000000000000000000000000000000000000000000000000000000000000000613951565b1190565b90505f612f1e85612f0585611db66002613b85565b8015612f2b575060105484145b8015612f4157506014546001600160a01b031615155b90508180612f4c5750805b15612f5d57505f9695505050505050565b5060019695505050505050565b604080518082019091525f80825260208201525f612fc98373__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af415801561272d573d5f5f3e3d5ffd5b9050604051806040016040528073__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af415801561301d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061304191906151f8565b6001600160a01b039384165f81815260069290920160209081526040909220600201549094168252019190915292915050565b73__$e9020b12d3d7a8dada1f2211c57e4d352c$__630c43bee673__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156130d5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130f991906151f8565b6040518263ffffffff1660e01b815260040161311791815260200190565b5f6040518083038186803b15801561312d575f5ffd5b505af415801561313f573d5f5f3e3d5ffd5b50505050565b5f611c5161244d612a11565b5f61315a613074565b60405163771dc6e160e11b81526001600160a01b0380851660048301528316602482015273__$f6f607895dae8739569bdad20c7163daf4$__9063ee3b8dc290604401602060405180830381865af41580156131b8573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061243991906157b3565b6131e461395c565b6001600160a01b03811661320d57604051631e4fbdf760e01b81525f6004820152602401610e3d565b61321681613989565b50565b61322161395c565b5f5b81518110156133365773__$f6f607895dae8739569bdad20c7163daf4$__630284c3f58383815181106132585761325861579f565b60200260200101515f01518484815181106132755761327561579f565b6020026020010151602001518585815181106132935761329361579f565b6020026020010151604001518686815181106132b1576132b161579f565b6020908102919091010151606001516040516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260648101919091526084015f6040518083038186803b158015613314575f5ffd5b505af4158015613326573d5f5f3e3d5ffd5b5050600190920191506132239050565b50613216613074565b613366604080516080810182525f8082526020820181905291810182905290606082015290565b73__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af41580156133ad573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d191906151f8565b6001600160a01b038381165f9081526006929092016020908152604092839020835160808101855281548152600182015484169281019290925260028101549283169382019390935291906060830190600160a01b900460ff16600381111561343c5761343c614c84565b600381111561344d5761344d614c84565b90525092915050565b5f60108190556011819055601255601380546001600160a01b03199081169091556014805490911690556007805460085491829055604080519283526020830182905290917fc78a70f3b27748d5fa327f6a3c1104b9b007d6a80d20c41f7c0dc4543fbdbdcd910160405180910390a150565b5f61168782613ba0565b5f6001826040516020016134e89291906157ce565b604051602081830303815290604052805190602001209050919050565b5f61350f85612e76565b61351b5760075461351f565b6008545b905073__$a4c28011a2e5925604ad1989bc2650e6d7$__6379514e856040518061010001604052808b81526020018881526020018781526020018681526020018481526020018581526020017f000000000000000000000000000000000000000000000000000000000000000081526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681525060055f016040518363ffffffff1660e01b81526004016135df929190615975565b5f6040518083038186803b1580156135f5575f5ffd5b505af4158015613607573d5f5f3e3d5ffd5b50505050610d8f88606001516060015188888886613bd2565b613628614186565b5f600581613637600187615a6f565b81526020019081526020015f205f016040518060a00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905060405180608001604052806040518060a001604052806136a385613d31565b81526020858101519101906136bc9060608b0135613d55565b81526020016136ce60808a018a614ddb565b6136df916102889161026891615a82565b6136e891615aa9565b815260608501516020909101906137039060408b0135613d55565b81526020908101879052908252873582820152870135604082015260600161372e6080880188614ddb565b61373f916101b49161019491615a82565b61374891615aa9565b905295945050505050565b5f5f600283101561376857505f928392509050565b5f60018180805b87156137e8578784165f036137975760019390931b928261378f816151e0565b93505061376f565b845f036137a15750815b6137ab8489615a6f565b5f036137b5578291505b6137bf8489615a6f565b975060019390931b92826137d2816151e0565b93505084806137e0906151e0565b95505061376f565b846001036137fd575096879650945050505050565b5f600161380a878461520f565b6138149190615a6f565b90505f61382284600161520f565b919a91995090975050505050505050565b6008548111801561384657506007548111155b156132165760088190555f61385a82612479565b905080158061386a575060105481115b156138ca576040805160a0810182528281525f602082018190529181018290526060810182905233608090910181905260108390556011829055601291909155601380546001600160a01b03199081169091556014805490911690911790555b5050565b5f516020615b645f395f51905f52545f516020615ba45f395f51905f5280545f92906138fa9085615a6f565b6124399190615ada565b5f516020615b845f395f51905f52545f906116879083615ada565b5f516020615b845f395f51905f52545f906116879083615aed565b60605f61243983613d60565b5f6124398284615a6f565b5f612439828461520f565b6002546001600160a01b031633146123f05760405163118cdaa760e01b8152336004820152602401610e3d565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f815f036139ea57505f19919050565b5f8281527f9bd0cd65f3d2d8103fe75b0f150f04a46bd0e603fd1819b64700ff42b24ee3aa60208190526040909120600101548015613a2a579392505050565b815f613a37866001613946565b81526020019081526020015f20600201549050805f14613a58579392505050565b506001015492915050565b6060611c517f00000000000000000000000000000000000000000000000000000000000000005f613db8565b6060611c517f00000000000000000000000000000000000000000000000000000000000000006001613db8565b5f611687825490565b5f6124398383613e61565b5f61168782613e87565b5f611687613ae6613f08565b8360405161190160f01b8152600281019290925260228201526042902090565b5f516020615b645f395f51905f52545f516020615b845f395f51905f52545f915f516020615ba45f395f51905f5291613b3f9190615b00565b81546138fa9085615a6f565b5f61168782614031565b5f516020615ba45f395f51905f5280545f516020615b645f395f51905f52545f929161243991611db69086615b00565b5f516020615b845f395f51905f52545f906116879083615b00565b5f815f0151826080015183606001518460400151613bbe919061520f565b613bc8919061520f565b611687919061520f565b5f613bdc836138ce565b90508086808214613c09576040516309ba91ff60e01b815260048101929092526024820152604401610e3d565b50505f613c1587613904565b90505f613c2185613b06565b90508082808214613c4e57604051631e36b2f360e11b815260048101929092526024820152604401610e3d565b505073__$e9020b12d3d7a8dada1f2211c57e4d352c$__63621f1ef073__$f6f607895dae8739569bdad20c7163daf4$__633408f73a6040518163ffffffff1660e01b8152600401602060405180830381865af4158015613cb1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613cd591906151f8565b8a858b8b8a6040518763ffffffff1660e01b8152600401613cfb969594939291906153c0565b5f6040518083038186803b158015613d11575f5ffd5b505af4158015613d23573d5f5f3e3d5ffd5b505050505050505050505050565b5f6116878260400151835f0151613d48919061520f565b613d556305f5e100615b17565b5f6124398383614047565b6060815f018054806020026020016040519081016040528092919081815260200182805480156122c657602002820191905f5260205f20905b815481526020019060010190808311613d995750505050509050919050565b606060ff8314613dd257613dcb8361408e565b9050611687565b818054613dde90615b31565b80601f0160208091040260200160405190810160405280929190818152602001828054613e0a90615b31565b8015613e555780601f10613e2c57610100808354040283529160200191613e55565b820191905f5260205f20905b815481529060010190602001808311613e3857829003601f168201915b50505050509050611687565b5f825f018281548110613e7657613e7661579f565b905f5260205f200154905092915050565b5f7f87ad602ba7da8fbd0870ea16b81fedb3d066c92bd5549f066c4512db6b28fb9d825f015183602001518460400151856060015186608001516040516020016134e8969594939291909586526020860194909452604085019290925260608401526001600160a01b0316608083015263ffffffff1660a082015260c00190565b5f306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015613f6057507f000000000000000000000000000000000000000000000000000000000000000046145b15613f8a57507f000000000000000000000000000000000000000000000000000000000000000090565b611c51604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f6116876402540be4008364174876e8006140cb565b5f5f82126140625761405882614136565b613dcb908461520f565b60ff82901d80830118808411156140855761407d8185615a6f565b915050611687565b505f9392505050565b60605f61409a8361415f565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f600181806140da8588615b00565b90505b8015614121576140ed818361520f565b91506140f98386615b00565b6141038783615b00565b61410d9190615ada565b905061411a60018461520f565b92506140dd565b61412b8583615ada565b979650505050505050565b5f5f82121561415b57604051635467221960e11b815260048101839052602401610e3d565b5090565b5f60ff8216601f81111561168757604051632cd44ac360e21b815260040160405180910390fd5b60405180608001604052806141be6040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b81526020015f81526020015f81526020015f81525090565b6001600160a01b0381168114613216575f5ffd5b5f5f5f5f608085870312156141fd575f5ffd5b8435614208816141d6565b93506020850135614218816141d6565b92506040850135614228816141d6565b9396929550929360600135925050565b5f5f60408385031215614249575f5ffd5b8235614254816141d6565b946020939093013593505050565b5f60208284031215614272575f5ffd5b5035919050565b5f60c08284031215614289575f5ffd5b50919050565b634e487b7160e01b5f52604160045260245ffd5b604051608081016001600160401b03811182821017156142c5576142c561428f565b60405290565b604080519081016001600160401b03811182821017156142c5576142c561428f565b60405160a081016001600160401b03811182821017156142c5576142c561428f565b60405161010081016001600160401b03811182821017156142c5576142c561428f565b60405160c081016001600160401b03811182821017156142c5576142c561428f565b604051601f8201601f191681016001600160401b038111828210171561437c5761437c61428f565b604052919050565b5f6001600160401b0382111561439c5761439c61428f565b5060051b60200190565b8015158114613216575f5ffd5b803560ff81168114612a0c575f5ffd5b5f82601f8301126143d2575f5ffd5b81356143e56143e082614384565b614354565b8082825260208201915060208360071b860101925085831115614406575f5ffd5b602085015b838110156144705760808188031215614422575f5ffd5b61442a6142a3565b8135614435816143a6565b8152614443602083016143b3565b6020828101919091526040838101359083015260608084013590830152908452929092019160800161440b565b5095945050505050565b5f5f83601f84011261448a575f5ffd5b5081356001600160401b038111156144a0575f5ffd5b602083019150836020828501011115611a88575f5ffd5b5f5f5f5f5f5f608087890312156144cc575f5ffd5b86356001600160401b038111156144e1575f5ffd5b6144ed89828a01614279565b96505060208701356001600160401b03811115614508575f5ffd5b61451489828a016143c3565b95505060408701356001600160401b0381111561452f575f5ffd5b61453b89828a0161447a565b90955093505060608701356001600160401b03811115614559575f5ffd5b61456589828a0161447a565b979a9699509497509295939492505050565b602080825282518282018190525f918401906040840190835b818110156145b75783516001600160a01b0316835260209384019390920191600101614590565b509095945050505050565b5f6101208284031215614289575f5ffd5b5f5f61014083850312156145e5575f5ffd5b823591506145f684602085016145c2565b90509250929050565b5f5f60408385031215614610575f5ffd5b50508035926020909101359150565b5f5f5f5f5f5f5f87890360e0811215614636575f5ffd5b88356001600160401b0381111561464b575f5ffd5b6146578b828c0161447a565b90995097505060208901356001600160401b03811115614675575f5ffd5b6146818b828c016143c3565b965050604089810135955060608a0135945060808a01359350609f19820112156146a9575f5ffd5b506146b26142cb565b60a08901356146c0816143a6565b815260c08901356146d0816143a6565b806020830152508091505092959891949750929550565b5f602082840312156146f7575f5ffd5b8135612439816141d6565b5f6101208284031215614713575f5ffd5b61243983836145c2565b815181526020808301519082015260408101611687565b5f5f5f5f5f5f5f6101a0888a03121561474b575f5ffd5b87356001600160401b03811115614760575f5ffd5b61476c8a828b01614279565b97505060208801356001600160401b03811115614787575f5ffd5b6147938a828b016143c3565b96505060408801356001600160401b038111156147ae575f5ffd5b6147ba8a828b0161447a565b90965094505060608801356001600160401b038111156147d8575f5ffd5b6147e48a828b0161447a565b90945092506147f890508960808a016145c2565b905092959891949750929550565b5f5f60408385031215614817575f5ffd5b823591506020830135614829816143a6565b809150509250929050565b60a08101611687828480518252602081015160208301526040810151604083015260608101516060830152608081015160808301525050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60ff60f81b8816815260e060208201525f6148b960e083018961486d565b82810360408401526148cb818961486d565b606084018890526001600160a01b038716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015614920578351835260209384019390920191600101614902565b50909b9a5050505050505050505050565b5f5f60208385031215614942575f5ffd5b82356001600160401b03811115614957575f5ffd5b6149638582860161447a565b90969095509350505050565b5f8151808452602084019350602083015f5b8281101561499f578151865260209586019590910190600101614981565b5093949350505050565b606081525f6149bb606083018661496f565b60208301949094525060400152919050565b5f5f5f5f5f5f5f5f610160898b0312156149e5575f5ffd5b8835975061010089018a8111156149fa575f5ffd5b60208a019750356001600160401b03811115614a14575f5ffd5b8901601f81018b13614a24575f5ffd5b80356001600160401b03811115614a39575f5ffd5b8b60208260051b8401011115614a4d575f5ffd5b602091909101965094506101208901356001600160401b03811115614a70575f5ffd5b614a7c8b828c0161447a565b9095509350506101408901356001600160401b03811115614a9b575f5ffd5b614aa78b828c0161447a565b999c989b5096995094979396929594505050565b602081525f612439602083018461496f565b63ffffffff81168114613216575f5ffd5b5f60a0828403128015614aef575f5ffd5b50614af86142ed565b8235815260208084013590820152604080840135908201526060830135614b1e816141d6565b60608201526080830135614b3181614acd565b60808201529392505050565b5f60208284031215614b4d575f5ffd5b81356001600160401b03811115614b62575f5ffd5b82016101808185031215612439575f5ffd5b5f5f60408385031215614b85575f5ffd5b8235614b90816141d6565b91506020830135614829816141d6565b5f60208284031215614bb0575f5ffd5b81356001600160401b03811115614bc5575f5ffd5b8201601f81018413614bd5575f5ffd5b8035614be36143e082614384565b8082825260208201915060208360071b850101925086831115614c04575f5ffd5b6020840193505b82841015614c7a5760808488031215614c22575f5ffd5b614c2a6142a3565b8435614c35816141d6565b81526020850135614c45816141d6565b60208201526040850135614c58816141d6565b6040820152606085810135908201528252608090930192602090910190614c0b565b9695505050505050565b634e487b7160e01b5f52602160045260245ffd5b815181526020808301516001600160a01b0390811691830191909152604080840151909116908201526060820151608082019060048110614cdb57614cdb614c84565b8060608401525092915050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b604081525f614d23604083018587614ce8565b90508215156020830152949350505050565b5f82601f830112614d44575f5ffd5b8151614d526143e082614384565b8082825260208201915060208360051b860101925085831115614d73575f5ffd5b602085015b83811015614470578051835260209283019201614d78565b5f5f5f60608486031215614da2575f5ffd5b83516001600160401b03811115614db7575f5ffd5b614dc386828701614d35565b60208601516040909601519097959650949350505050565b5f5f8335601e19843603018112614df0575f5ffd5b8301803591506001600160401b03821115614e09575f5ffd5b602001915036819003821315611a88575f5ffd5b602081525f6123d7602083018486614ce8565b5f60408284031215614e40575f5ffd5b614e486142cb565b825181526020830151909150614e5d81614acd565b602082015292915050565b5f818303610140811215614e7a575f5ffd5b614e826142cb565b9150614e8e8484614e30565b8252610100603f1982011215614ea2575f5ffd5b50614eab6142a3565b614eb88460408501614e30565b8152614ec78460808501614e30565b6020820152614ed98460c08501614e30565b6040820152614eec846101008501614e30565b6060820152602082015292915050565b5f60408284031215614f0c575f5ffd5b614f146142cb565b825181526020928301519281019290925250919050565b5f6101208284031215614f3c575f5ffd5b614f4461430f565b825181526020808401519082015260408084015190820152606080840151908201526080808401519082015260a0830151909150614f81816141d6565b60a082015260c08281015190820152614f9d8360e08401614efc565b60e082015292915050565b5f81830361036081128015614fbb575f5ffd5b50614fc4614332565b614fce8585614e30565b81526080603f1983011215614fe1575f5ffd5b614fe96142a3565b604085810151825260608087015160208085019190915260808801519284019290925260a087015190830152820181905291506150298560c08601614e68565b604082015261503c856102008601614f2b565b606082015261032084015160808201526103409093015160a0840152509092915050565b5f82601f83011261506f575f5ffd5b81356001600160401b038111156150885761508861428f565b61509b601f8201601f1916602001614354565b8181528460208386010111156150af575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f82601f8301126150da575f5ffd5b81356150e86143e082614384565b8082825260208201915060208360051b860101925085831115615109575f5ffd5b602085015b8381101561447057803583526020928301920161510e565b5f81360360c0811215615137575f5ffd5b61513f6142ed565b83358152602080850135908201526040603f198301121561515e575f5ffd5b6151666142cb565b604085810135825260608601356020830152820152608084013591506001600160401b03821115615195575f5ffd5b6151a136838601615060565b606082015260a084013591506001600160401b038211156151c0575f5ffd5b614b31368386016150cb565b634e487b7160e01b5f52601160045260245ffd5b5f600182016151f1576151f16151cc565b5060010190565b5f60208284031215615208575f5ffd5b5051919050565b80820180821115611687576116876151cc565b5f60208284031215615232575f5ffd5b8151612439816141d6565b5f6020828403121561524d575f5ffd5b81516001600160401b03811115615262575f5ffd5b8201601f81018413615272575f5ffd5b80516152806143e082614384565b8082825260208201915060208360051b8501019250868311156152a1575f5ffd5b6020840193505b82841015614c7a5783516152bb816141d6565b8252602093840193909101906152a8565b8a81526001600160a01b038a1660208083019190915260408083018b905260608084018b9052893560808501529189013560a084015288013560c083015261024082019088013561531c816141d6565b6001600160a01b031660e0830152608088013561533881614acd565b63ffffffff1661010083015260a0880135615352816143a6565b151561012083015260ff61536860c08a016143b3565b1661014083015260e0880135610160830152610100909701356101808201526101a08101959095526101c08501939093526101e08401919091526102008301526001600160a01b031661022090910152949350505050565b5f60e0820188835287602084015286604084015260e06060840152808651808352610100850191506020880192505f5b8181101561543957835180511515845260ff60208201511660208501526040810151604085015260608101516060850152506080830192506020840193506001810190506153f0565b5050608084018690528451151560a08501526020850151151560c0850152915061412b9050565b5f60208284031215615470575f5ffd5b813561243981614acd565b84815260a08101615499602083018680518252602090810151910152565b60608201939093526080015292915050565b5f60a08284031280156154bc575f5ffd5b506154c56142ed565b825181526020808401519082015260408084015190820152606080840151908201526080928301519281019290925250919050565b8183525f6001600160fb1b03831115615511575f5ffd5b8260051b80836020870137939093016020019392505050565b89815288602082015260e08860408301376101806101208201525f6155546101808301888a6154fa565b828103610140840152615568818789614ce8565b905082810361016084015261557e818587614ce8565b9c9b505050505050505050505050565b5f6020828403121561559e575f5ffd5b81516001600160401b038111156155b3575f5ffd5b6123d784828501614d35565b5f5f8335601e198436030181126155d4575f5ffd5b83016020810192503590506001600160401b038111156155f2575f5ffd5b803603821315611a88575f5ffd5b8881526101e060208201525f5f89359050806101e08401525060e060208a01610200840137610100890135601e198a360301811261563c575f5ffd5b89016020810190356001600160401b03811115615657575f5ffd5b8060051b3603821315615668575f5ffd5b6101806102e0850152615680610360850182846154fa565b9150506156916101208b018b6155bf565b8483036101df19016103008601526156aa838284614ce8565b925050506156bc6101408b018b6155bf565b8483036101df19016103208601526156d5838284614ce8565b925050506156e76101608b018b6155bf565b8483036101df1901610340860152615700838284614ce8565b935050505061575f60408301898051825260208101516020830152604081015160408301526060810151606083015260808101511515608083015260a0810151151560a083015260c081015160c083015260e081015160e08301525050565b6001600160a01b039687166101408301529486166101608201529285166101808401529084166101a08301529092166101c0909201919091529392505050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156157c3575f5ffd5b8151612439816143a6565b5f600284106157df576157df614c84565b838252604060208301528251604083015260208301516060830152604083015180516080840152602081015160a084015250606083015160c08084015261582a61010084018261486d565b6080850151848203603f190160e08601528051808352602091820193505f9291909101905b80831015615872578351825260208201915060208401935060018301925061584f565b509695505050505050565b6158988282518051825260209081015163ffffffff16910152565b60208101516158bb6040840182518051825260209081015163ffffffff16910152565b6020818101518051608086015281015163ffffffff90811660a08601526040830151805160c0870152820151811660e086015260609092015180516101008601520151166101209092019190915250565b505050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260018060a01b0360a08201511660a083015260c081015160c083015260e081015161590c60e084018280518252602090810151910152565b825180518051835260209081015163ffffffff16908301526104808201906020810151805160408501526020810151606085015260408101516080850152606081015160a08501525060408101516159d060c085018261587d565b5060608101516159e4610200850182615911565b5060808181015161032085015260a0918201516103408501526020860151610360850152604086015161038085015260608601516103a08501528501516103c0840152840151615a466103e08401828051151582526020908101511515910152565b5060c084015161042083015260e0909301516001600160a01b0316610440820152610460015290565b81810381811115611687576116876151cc565b5f5f85851115615a90575f5ffd5b83861115615a9c575f5ffd5b5050820193919092039150565b80356020831015611687575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601260045260245ffd5b5f82615ae857615ae8615ac6565b500490565b5f82615afb57615afb615ac6565b500690565b8082028115828204841417611687576116876151cc565b5f600160ff1b8201615b2b57615b2b6151cc565b505f0390565b600181811c90821680615b4557607f821691505b60208210810361428957634e487b7160e01b5f52602260045260245ffdfecc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe1cc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe2cc2bde3d21ba778aa5c156bb6fc47381978b0054c8a1ef73f44234164324cbe0a26469706673582212204a45279b94bddf0e8bb6c85297d6575a0f322ae5dcd71390d0c3652ed355f41364736f6c634300081b003360a060405234801561000f575f5ffd5b5060405161125e38038061125e83398101604081905261002e9161009c565b3330838360405161003e9061008f565b6001600160a01b03948516815293909216602084015260408301526060820152608001604051809103905ff08015801561007a573d5f5f3e3d5ffd5b506001600160a01b0316608052506100be9050565b610bfe8061066083390190565b5f5f604083850312156100ad575f5ffd5b505080516020909101519092909150565b6080516105856100db5f395f8181603d015260a301526105855ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063bffa7f0f14610038578063c96be4cb1461007c575b5f5ffd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b61008f61008a3660046102af565b61009f565b6040519015158152602001610073565b5f337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0381168214610102576040516344c1f74f60e01b81526001600160a01b0392831660048201529116602482015260440160405180910390fd5b50505f826001600160a01b031663504d080b6040518163ffffffff1660e01b81526004015f60405180830381865afa158015610140573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610167919081019061033f565b90505f5b815181101561028e575f5f838381518110610188576101886104b8565b60200260200101515f01516001600160a01b03168484815181106101ae576101ae6104b8565b6020026020010151602001516040516101c791906104cc565b5f604051808303815f865af19150503d805f8114610200576040519150601f19603f3d011682016040523d82523d5f602084013e610205565b606091505b509150915081610284577f606461c3c22ef5d2f9fa14ff2480c0ec357ce58718c1b2d6f360f603b14cb3e5848481518110610242576102426104b8565b60200260200101515f015185858151811061025f5761025f6104b8565b6020026020010151602001518360405161027b93929190610510565b60405180910390a15b505060010161016b565b5060019392505050565b6001600160a01b03811681146102ac575f5ffd5b50565b5f602082840312156102bf575f5ffd5b81356102ca81610298565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715610308576103086102d1565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610337576103376102d1565b604052919050565b5f6020828403121561034f575f5ffd5b815167ffffffffffffffff811115610365575f5ffd5b8201601f81018413610375575f5ffd5b805167ffffffffffffffff81111561038f5761038f6102d1565b8060051b61039f6020820161030e565b918252602081840181019290810190878411156103ba575f5ffd5b6020850192505b838310156104ad57825167ffffffffffffffff8111156103df575f5ffd5b85016040818a03601f190112156103f4575f5ffd5b6103fc6102e5565b602082015161040a81610298565b8152604082015167ffffffffffffffff811115610425575f5ffd5b60208184010192505089601f83011261043c575f5ffd5b815167ffffffffffffffff811115610456576104566102d1565b610469601f8201601f191660200161030e565b8181528b602083860101111561047d575f5ffd5b8160208501602083015e5f60208383010152806020840152505080845250506020820191506020830192506103c1565b979650505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160a01b03841681526060602082018190525f90610533908301856104e2565b828103604084015261054581856104e2565b969550505050505056fea26469706673582212200c477f9e6b9fa96ccb633536c309fc1f4ed29f2f57964502271ef73735fd77d664736f6c634300081b0033610100604052348015610010575f5ffd5b50604051610bfe380380610bfe83398101604081905261002f916100e2565b608082905260a08190528181610046600282610127565b60805160a0519091821161007b576040516365424f5b60e11b8152600481019290925260248201526044015b60405180910390fd5b505060a05160805190808211156100ae5760405163103804ad60e11b815260048101929092526024820152604401610072565b5050506001600160a01b0394851660c0525050501660e052610146565b6001600160a01b03811681146100df575f5ffd5b50565b5f5f5f5f608085870312156100f5575f5ffd5b8451610100816100cb565b6020860151909450610111816100cb565b6040860151606090960151949790965092505050565b5f8261014157634e487b7160e01b5f52601260045260245ffd5b500490565b60805160a05160c05160e051610a556101a95f395f818160e201528181610197015261086b01525f818161027d015281816102a1015281816102c8015261058501525f8181610173015261081f01525f8181610243015261048e0152610a555ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c8063a97f36a81161006e578063a97f36a8146101ce578063b59c46fb146101d6578063c9e525df1461023e578063d11eb2b214610265578063d15db8b414610278578063de7b5d141461029f575f5ffd5b80630d61b519146100b55780635db93dfa146100dd57806362c69d721461011c578063693f917e1461016e5780636c1032af146101955780636dd7d8ea146101bb575b5f5ffd5b6100c86100c33660046108d7565b6102c5565b60405190151581526020015b60405180910390f35b6101047f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d4565b61016061012a366004610905565b6001600160a01b038084165f90815260208181526040808320868452825280832093851683526002909301905220549392505050565b6040519081526020016100d4565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610104565b6100c86101c9366004610944565b610582565b610160600581565b6102196101e4366004610966565b5f602081815292815260408082209093529081522080546001909101546001600160a01b03811690600160a01b900460ff1683565b604080519384526001600160a01b0390921660208401521515908201526060016100d4565b6101607f000000000000000000000000000000000000000000000000000000000000000081565b6101606102733660046108d7565b610819565b6101047f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610104565b5f7f0000000000000000000000000000000000000000000000000000000000000000806001600160a01b0381163b61032157604051635fa9262560e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610363573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103879190610990565b90505f61039382610819565b90508086106103b55760405163117e3a7760e31b815260040160405180910390fd5b806103c16005886109a7565b1015868290916103ed5760405163c3d7aa4f60e01b815260048101929092526024820152604401610318565b50506001600160a01b0384165f90815260208181526040808320898452909152902060018101548790600160a01b900460ff16156104415760405163058240ed60e31b815260040161031891815260200190565b5060018101546001600160a01b031661046d57604051630b560ca160e11b815260040160405180910390fd5b60018101546001600160a01b03165f908152600282016020526040902054807f0000000000000000000000000000000000000000000000000000000000000000808210156104d7576040516357d5327960e11b815260048101929092526024820152604401610318565b505060018201805460ff60a01b198116600160a01b1790915560405189916001600160a01b0316907f7bfd03e44f31b1867e10c41d419cd8073b4719d321ccc5c3a3c79ac2babab3c3905f90a3600182015461053b906001600160a01b031661084a565b60018301546001600160a01b031690610573576040516323653eff60e21b81526001600160a01b039091166004820152602401610318565b50600198975050505050505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000806001600160a01b0381163b6105d957604051635fa9262560e01b81526001600160a01b039091166004820152602401610318565b505f8190505f816001600160a01b031663d8e3784c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561061b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061063f9190610990565b90505f61064b82610819565b6001600160a01b0385165f9081526020818152604080832084845290915290208054919250908311839061069557604051631d30a86560e11b815260040161031891815260200190565b505f846001600160a01b0316633b10244b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106d3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f791906109c6565b905033816001600160a01b038116821461073757604051633a8db46b60e21b81526001600160a01b03928316600482015291166024820152604401610318565b50506001600160a01b0388165f90815260028301602052604081208054600192906107639084906109a7565b909155505083825560018201546001600160a01b038981169116148015906107b1575060018201546001600160a01b039081165f90815260028401602052604080822054928b168252902054115b156107d4576001820180546001600160a01b0319166001600160a01b038a161790555b604051339084906001600160a01b038b16907f75b35ca960bbb2cc550471a4098b1a96255dd657fe926e331754cd7c2e4489b3905f90a4506001979650505050505050565b5f6108447f0000000000000000000000000000000000000000000000000000000000000000836109e1565b92915050565b60405163c96be4cb60e01b81526001600160a01b0382811660048301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063c96be4cb906024016020604051808303815f875af11580156108b3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108449190610a00565b5f602082840312156108e7575f5ffd5b5035919050565b6001600160a01b0381168114610902575f5ffd5b50565b5f5f5f60608486031215610917575f5ffd5b8335610922816108ee565b9250602084013591506040840135610939816108ee565b809150509250925092565b5f60208284031215610954575f5ffd5b813561095f816108ee565b9392505050565b5f5f60408385031215610977575f5ffd5b8235610982816108ee565b946020939093013593505050565b5f602082840312156109a0575f5ffd5b5051919050565b8082018082111561084457634e487b7160e01b5f52601160045260245ffd5b5f602082840312156109d6575f5ffd5b815161095f816108ee565b5f826109fb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610a10575f5ffd5b8151801515811461095f575f5ffdfea26469706673582212201ffa9b3d235be78f7fd248511f81d6921f4bcbf5cd0e6aac77b2ccada9b6b7d064736f6c634300081b003360e060405234801561000f575f5ffd5b50604051610a14380380610a1483398101604081905261002e9161006f565b6001600160a01b0380841660a052841660c05261004b81836100b4565b608052506100dd92505050565b6001600160a01b038116811461006c575f5ffd5b50565b5f5f5f5f60808587031215610082575f5ffd5b845161008d81610058565b602086015190945061009e81610058565b6040860151606090960151949790965092505050565b80820281158282048414176100d757634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c0516108dd6101375f395f818161016a015281816101fb0152818161046b015261065e01525f81816101a9015281816102e001526103ab01525f818160e001528181610248015261053e01526108dd5ff3fe608060405234801561000f575f5ffd5b50600436106100b1575f3560e01c80639611c5c21161006e5780639611c5c2146101a4578063b6b55f25146101cb578063c60d588d146101de578063f8fd9795146101f1578063fc0c546a146101f9578063fc7e286d1461021f575f5ffd5b806308b4af71146100b55780630d5e5fff146100db5780631c87b6ac146101025780632c865e301461011757806352df49ec1461012a57806382bfefc814610165575b5f5ffd5b6100c86100c33660046107e4565b61023e565b6040519081526020015b60405180910390f35b6100c87f000000000000000000000000000000000000000000000000000000000000000081565b61011561011036600461080e565b6102d5565b005b61011561012536600461080e565b6103a0565b610150610138366004610836565b600160208190525f9182526040909120805491015482565b604080519283526020830191909152016100d2565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d2565b61018c7f000000000000000000000000000000000000000000000000000000000000000081565b6101156101d9366004610856565b61045e565b6101156101ec366004610856565b6104ef565b6101156105bf565b7f000000000000000000000000000000000000000000000000000000000000000061018c565b6100c861022d366004610836565b5f6020819052908152604090205481565b5f6102728361026d7f000000000000000000000000000000000000000000000000000000000000000042610881565b111590565b1561027e57505f6102cf565b6001600160a01b0382165f90815260208181526040808320546001928390529220015484106102cc576001600160a01b0383165f908152600160205260409020546102c99082610894565b90505b90505b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016811461033057604051632ac332c160e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b506001600160a01b0382165f9081526020819052604081208054839290610358908490610894565b90915550506040518181526001600160a01b038316907f8c2455f4b82f1285751e0f21f0cda7612aa81cf700ab606c3e2250253ff1e400906020015b60405180910390a25050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001681146103f657604051632ac332c160e01b81526001600160a01b039091166004820152602401610327565b506001600160a01b0382165f908152602081905260408120805483929061041e908490610881565b90915550506040518181526001600160a01b038316907f6567969aa8387adeedb0b23fd1b47a09157bfb8fdb2a11e8b1c03b8b0e78b48f90602001610394565b6104936001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163330846106ba565b335f90815260208190526040812080548392906104b1908490610881565b909155505060405181815233907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c906020015b60405180910390a250565b335f908152602081905260409020548180821015610529576040516309b8b78960e01b815260048101929092526024820152604401610327565b505060405180604001604052808281526020017f0000000000000000000000000000000000000000000000000000000000000000426105689190610881565b9052335f818152600160208181526040928390208551815594015193018390555190917f9d22371eec6fd87e081855b42b28f152e79799fa5a89bf4e30f8acf26d29ed95916104e491858252602082015260400190565b335f90815260016020818152604092839020835180850190945280548452909101549082018190524290808210156106135760405163b32ab8a760e01b815260048101929092526024820152604401610327565b5050335f908152600160208181526040808420848155909201839055835190839052908220805491929091610649908490610894565b90915550508051610686906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016903390610727565b805160405190815233907fa5b1c510c6d1fc318ad8a59c08331317c170ad7f42e0bff2ece9b32d0feb6859906020016104e4565b6040516001600160a01b0384811660248301528381166044830152606482018390526107219186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061075d565b50505050565b6040516001600160a01b0383811660248301526044820183905261075891859182169063a9059cbb906064016106ef565b505050565b5f5f60205f8451602086015f885af18061077c576040513d5f823e3d81fd5b50505f513d915081156107935780600114156107a0565b6001600160a01b0384163b155b1561072157604051635274afe760e01b81526001600160a01b0385166004820152602401610327565b80356001600160a01b03811681146107df575f5ffd5b919050565b5f5f604083850312156107f5575f5ffd5b82359150610805602084016107c9565b90509250929050565b5f5f6040838503121561081f575f5ffd5b610828836107c9565b946020939093013593505050565b5f60208284031215610846575f5ffd5b61084f826107c9565b9392505050565b5f60208284031215610866575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156102cf576102cf61086d565b818103818111156102cf576102cf61086d56fea2646970667358221220207c3cff79ea94bb53d7741d62548b883e234bc65430407918f1cb32963a8a7c64736f6c634300081b0033610100604052610010600180610375565b5f555f600355348015610021575f5ffd5b50604051610f77380380610f7783398101604081905261004091610388565b6001600160a01b03821660805260a081905261005d8160026104a2565b60c05261006b600182610099565b60a05160c0515f8054815260026020526040902061008e92909160019190610142565b60e0525061055c9050565b5f8080526020839052604081205560015b81811161013d5761011d835f6100c16001856104b4565b81526020019081526020015f2054845f015f6001856100e091906104b4565b81526020019081526020015f2054604051602001610108929190918252602082015260400190565b60408051601f1981840301815291905261029b565b5f8281526020859052604090205580610135816104c7565b9150506100aa565b505050565b83545f908082036101625750505f82815260208490526040902054610293565b8281036101805750505f828152600185016020526040902054610293565b5f61018c6001836104b4565b90505f61019882610336565b5f81815260018a01602052604090205490915082821c825b8881101561028a57600180831614801561024f575f82815260018d01602052604090205484900361021c5760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b604482015260640160405180910390fd5b5f82815260018d0160209081526040918290205482519182015290810185905261024890606001610108565b935061027d565b5f82815260208c815260409182902054915161027a9261010892889201918252602082015260400190565b93505b50600191821c91016101b0565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516102c991906104f6565b602060405180830381855afa1580156102e4573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103079190610501565b604051602001610318929190610518565b60405160208183030381529060405261033090610536565b92915050565b5f80825b8060011660010361035a578161034f816104c7565b92505060011c61033a565b5092915050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561033057610330610361565b5f5f60408385031215610399575f5ffd5b82516001600160a01b03811681146103af575f5ffd5b6020939093015192949293505050565b6001815b60018411156103fa578085048111156103de576103de610361565b60018416156103ec57908102905b60019390931c9280026103c3565b935093915050565b5f8261041057506001610330565b8161041c57505f610330565b8160018114610432576002811461043c57610458565b6001915050610330565b60ff84111561044d5761044d610361565b50506001821b610330565b5060208310610133831016604e8410600b841016171561047b575081810a610330565b6104875f1984846103bf565b805f190482111561049a5761049a610361565b029392505050565b5f6104ad8383610402565b9392505050565b8181038181111561033057610330610361565b5f600182016104d8576104d8610361565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f6104ad82846104df565b5f60208284031215610511575f5ffd5b5051919050565b5f61052382856104df565b60ff199390931683525050601f01919050565b80516020808301519190811015610556575f198160200360031b1b821691505b50919050565b60805160a05160c05160e0516109c56105b25f395f6103ed01525f8181610240015281816102920152818161044b01526104d701525f818161042a01526104b601525f8181610101015261038c01526109c55ff3fe608060405234801561000f575f5ffd5b506004361061007a575f3560e01c80637a508022116100585780637a508022146100d557806387351813146100f45780639611c5c2146100fc5780639b24b3b01461013b575f5ffd5b8063086dc8d41461007e5780631f6d510b1461009a578063483f31ab146100c2575b5f5ffd5b61008760035481565b6040519081526020015b60405180910390f35b6100ad6100a8366004610813565b61014e565b60408051928352602083019190915201610091565b6100876100d036600461088b565b610380565b6100876100e336600461088b565b60026020525f908152604090205481565b6100875f5481565b6101237f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610091565b61008761014936600461088b565b6104a1565b82515f9081907f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101a1576040516353bb503760e11b815260040161019891815260200190565b60405180910390fd5b50837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000008111156101e7576040516311d1480560e21b815260040161019891815260200190565b50827f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000081111561022d57604051633b379f8b60e21b815260040161019891815260200190565b505f8054815260026020526040902080547f00000000000000000000000000000000000000000000000000000000000000000361028b5760015f5f82825461027591906108b6565b90915550505f8054815260026020526040902090505b5f815f01547f000000000000000000000000000000000000000000000000000000000000000060015f546102bf91906108c9565b6102c991906108dc565b6102d391906108b6565b6040805160e0810182523360a082019081524660c08301528152602081018a905290810188905260608101879052608081018290529091505f610315826104fb565b9050610321848261057d565b5060038054905f610331836108f3565b9190505550805f547f1f0faf82fa8c7b10dd392417c6976d0ed764deb80fb07211d5928c2944ddb80d8560405161036a91815260200190565b60405180910390a3989197509095505050505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103ca5760405163e5336a6b60e01b815260040160405180910390fd5b5f5482106103eb5760405163c490199960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001831115610472575f83815260026020526040902061046f9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b90505b5f5461047f8460016108b6565b0361049b5760015f5f82825461049591906108b6565b90915550505b92915050565b5f81815260026020526040812061049b9060017f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006105fe565b5f61049b825f0151836020015184604001518560600151866080015160405160200161056995949392919085516001600160a01b03168152602095860151868201528451604082015293909401516060840152608083019190915260a082015260c081019190915260e00190565b604051602081830303815290604052610753565b81545f908161058b826107e8565b9050835f5b828110156105ce575f818152600188016020908152604091829020548251918201529081018390526105c490606001610569565b9150600101610590565b505f828152600187016020526040812082905586549087906105ef836108f3565b90915550929695505050505050565b83545f9080820361061e5750505f8281526020849052604090205461074b565b82810361063c5750505f82815260018501602052604090205461074b565b5f6106486001836108c9565b90505f610654826107e8565b5f81815260018a01602052604090205490915082821c825b88811015610742576001808316148015610707575f82815260018d0160205260409020548490036106d45760405162461bcd60e51b81526020600482015260126024820152714d697374616b65732077657265206d61646560701b6044820152606401610198565b5f82815260018d0160209081526040918290205482519182015290810185905261070090606001610569565b9350610735565b5f82815260208c81526040918290205491516107329261056992889201918252602082015260400190565b93505b50600191821c910161066c565b50909450505050505b949350505050565b6040805160018082528183019092525f91602082018180368337019050506002836040516107819190610922565b602060405180830381855afa15801561079c573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906107bf9190610934565b6040516020016107d092919061094b565b60405160208183030381529060405261049b90610969565b5f80825b8060011660010361080c5781610801816108f3565b92505060011c6107ec565b5092915050565b5f5f5f8385036080811215610826575f5ffd5b6040811215610833575f5ffd5b506040516040810181811067ffffffffffffffff8211171561086357634e487b7160e01b5f52604160045260245ffd5b6040908152853582526020808701359083015290969085013595506060909401359392505050565b5f6020828403121561089b575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561049b5761049b6108a2565b8181038181111561049b5761049b6108a2565b808202811582820484141761049b5761049b6108a2565b5f60018201610904576109046108a2565b5060010190565b5f81518060208401855e5f93019283525090919050565b5f61092d828461090b565b9392505050565b5f60208284031215610944575f5ffd5b5051919050565b5f610956828561090b565b60ff199390931683525050601f01919050565b80516020808301519190811015610989575f198160200360031b1b821691505b5091905056fea2646970667358221220db03c307dff71df520bb93e830aff3e0732dd94f0f3e267061da809e06ebcc8a64736f6c634300081b003360a060405234801561000f575f5ffd5b50604051610a36380380610a3683398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f5ffd5b81516001600160a01b0381168114610065575f5ffd5b9392505050565b60805161099e6100985f395f818160f201528181610130015281816101e50152610276015261099e5ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80632249f653146100595780633d96c2c9146100865780637fb349671461009b57806384f15db2146100ae5780639611c5c2146100ed575b5f5ffd5b61006c6100673660046106b1565b61012c565b604080519283526020830191909152015b60405180910390f35b6100996100943660046106c8565b6101da565b005b6100996100a93660046106f1565b610274565b6100dd6100bc36600461078a565b5f918252602082815260408084209284526002909201905290205460ff1690565b604051901515815260200161007d565b6101147f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161007d565b5f5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b67d057b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561018a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101ae91906107aa565b8311156101bf57505f928392509050565b50505f90815260208190526040902080546001909101549091565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102235760405163164a486160e11b815260040160405180910390fd5b5f83815260208181526040918290208481556001018390559051828152839185917fd3fab397eb3e47fb43090430543ca9623e09aeddf27bfde1bf7bdca871ee9ebc910160405180910390a3505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b67d057b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102d0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102f491906107aa565b841115849061032257604051630e194a6d60e01b815260040161031991815260200190565b60405180910390fd5b5061033360608601604087016107dc565b6001600160a01b0316331461034e60608701604088016107dc565b339091610381576040516357aad58160e01b81526001600160a01b03928316600482015291166024820152604401610319565b5050466060860135146103a7576040516315dfb1f160e21b815260040160405180910390fd5b5f848152602081905260409020805485816103d857604051635228479160e11b815260040161031991815260200190565b505f8581526002830160205260409020548690869060ff161561041757604051633f5c70b560e21b815260048101929092526024820152604401610319565b5050600182015480848082111561044a57604051631206f36760e21b815260048101929092526024820152604401610319565b505f9050610465610460368b90038b018b610860565b6104d9565b90506104748686838a8761053b565b5f87815260028501602052604090819020805460ff1916600117905551819084908a907f34bc3301c4660a5642d2246e175e7fea498c94258d39dcaa555a52464dbb083d906104c6908c815260200190565b60405180910390a4505050505050505050565b80516020808301516040808501518151855181860152948401519185019190915281516001600160a01b03166060850152910151608083015260a08201525f906105359060c0015b60405160208183030381529060405261061c565b92915050565b82825f5b868110156105d4576001808316148061058e57610589848a8a85818110610568576105686108ee565b90506020020135604051602001610521929190918252602082015260400190565b6105c5565b6105c58989848181106105a3576105a36108ee565b9050602002013585604051602001610521929190918252602082015260400190565b935050600191821c910161053f565b508282868682841461060f57604051635f216bf160e01b81526004810194909452602484019290925260448301526064820152608401610319565b5050505050505050505050565b6040805160018082528183019092525f916020820181803683370190505060028360405161064a9190610919565b602060405180830381855afa158015610665573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061068891906107aa565b604051602001610699929190610924565b60405160208183030381529060405261053590610942565b5f602082840312156106c1575f5ffd5b5035919050565b5f5f5f606084860312156106da575f5ffd5b505081359360208301359350604090920135919050565b5f5f5f5f5f858703610100811215610707575f5ffd5b60a0811215610714575f5ffd5b5085945060a0850135935060c0850135925060e085013567ffffffffffffffff81111561073f575f5ffd5b8601601f8101881361074f575f5ffd5b803567ffffffffffffffff811115610765575f5ffd5b8860208260051b8401011115610779575f5ffd5b959894975092955050506020019190565b5f5f6040838503121561079b575f5ffd5b50508035926020909101359150565b5f602082840312156107ba575f5ffd5b5051919050565b80356001600160a01b03811681146107d7575f5ffd5b919050565b5f602082840312156107ec575f5ffd5b6107f5826107c1565b9392505050565b6040516060810167ffffffffffffffff8111828210171561082b57634e487b7160e01b5f52604160045260245ffd5b60405290565b6040805190810167ffffffffffffffff8111828210171561082b57634e487b7160e01b5f52604160045260245ffd5b5f81830360a081128015610872575f5ffd5b5061087b6107fc565b6040821215610888575f5ffd5b610890610831565b843581526020808601359082015281526040603f19830112156108b1575f5ffd5b6108b9610831565b91506108c7604085016107c1565b82526060840135602080840191909152810191909152608090920135604083015250919050565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f6107f58284610902565b5f61092f8285610902565b60ff199390931683525050601f01919050565b80516020808301519190811015610962575f198160200360031b1b821691505b5091905056fea264697066735822122051bc7fa10ead357ef9561c31d1721a4127c3d1342c00f5a947ab1332661effaa64736f6c634300081b00336080604052348015600e575f5ffd5b506101578061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004561003b366004610059565b6001949350505050565b604051901515815260200160405180910390f35b5f5f5f5f6040858703121561006c575f5ffd5b843567ffffffffffffffff811115610082575f5ffd5b8501601f81018713610092575f5ffd5b803567ffffffffffffffff8111156100a8575f5ffd5b8760208284010111156100b9575f5ffd5b60209182019550935085013567ffffffffffffffff8111156100d9575f5ffd5b8501601f810187136100e9575f5ffd5b803567ffffffffffffffff8111156100ff575f5ffd5b8760208260051b8401011115610113575f5ffd5b94979396506020019450505056fea2646970667358221220b347706a3dc7f76b5cbd0f02b652482a8592c3334d7013c40fe86559709bd69964736f6c634300081b0033";
|
|
5
|
-
/**
|
|
6
|
-
* Rollup link references.
|
|
7
|
-
*/
|
|
8
|
-
export const RollupLinkReferences = {
|
|
9
|
-
"src/core/libraries/RollupLibs/ExtRollupLib.sol": {
|
|
10
|
-
"ExtRollupLib": [
|
|
11
|
-
{
|
|
12
|
-
"start": 1766,
|
|
13
|
-
"length": 20
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"start": 7060,
|
|
17
|
-
"length": 20
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"start": 7179,
|
|
21
|
-
"length": 20
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"start": 9332,
|
|
25
|
-
"length": 20
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"start": 10180,
|
|
29
|
-
"length": 20
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"start": 10928,
|
|
33
|
-
"length": 20
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
"start": 12237,
|
|
37
|
-
"length": 20
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"start": 13371,
|
|
41
|
-
"length": 20
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"start": 13556,
|
|
45
|
-
"length": 20
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
"start": 14693,
|
|
49
|
-
"length": 20
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"start": 16837,
|
|
53
|
-
"length": 20
|
|
54
|
-
}
|
|
55
|
-
]
|
|
56
|
-
},
|
|
57
|
-
"src/core/libraries/ValidatorSelectionLib/ValidatorSelectionLib.sol": {
|
|
58
|
-
"ValidatorSelectionLib": [
|
|
59
|
-
{
|
|
60
|
-
"start": 8760,
|
|
61
|
-
"length": 20
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"start": 9022,
|
|
65
|
-
"length": 20
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"start": 9787,
|
|
69
|
-
"length": 20
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"start": 12836,
|
|
73
|
-
"length": 20
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"start": 14107,
|
|
77
|
-
"length": 20
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"start": 15640,
|
|
81
|
-
"length": 20
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"start": 18676,
|
|
85
|
-
"length": 20
|
|
86
|
-
}
|
|
87
|
-
]
|
|
88
|
-
},
|
|
89
|
-
"src/core/libraries/staking/StakingLib.sol": {
|
|
90
|
-
"StakingLib": [
|
|
91
|
-
{
|
|
92
|
-
"start": 615,
|
|
93
|
-
"length": 20
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"start": 6636,
|
|
97
|
-
"length": 20
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
"start": 6752,
|
|
101
|
-
"length": 20
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
"start": 8786,
|
|
105
|
-
"length": 20
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
"start": 9048,
|
|
109
|
-
"length": 20
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"start": 9813,
|
|
113
|
-
"length": 20
|
|
114
|
-
},
|
|
115
|
-
{
|
|
116
|
-
"start": 10359,
|
|
117
|
-
"length": 20
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"start": 10610,
|
|
121
|
-
"length": 20
|
|
122
|
-
},
|
|
123
|
-
{
|
|
124
|
-
"start": 10693,
|
|
125
|
-
"length": 20
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
"start": 11568,
|
|
129
|
-
"length": 20
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
"start": 11821,
|
|
133
|
-
"length": 20
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"start": 12719,
|
|
137
|
-
"length": 20
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
"start": 12862,
|
|
141
|
-
"length": 20
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
"start": 13079,
|
|
145
|
-
"length": 20
|
|
146
|
-
},
|
|
147
|
-
{
|
|
148
|
-
"start": 13194,
|
|
149
|
-
"length": 20
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"start": 13694,
|
|
153
|
-
"length": 20
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"start": 13843,
|
|
157
|
-
"length": 20
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"start": 14133,
|
|
161
|
-
"length": 20
|
|
162
|
-
},
|
|
163
|
-
{
|
|
164
|
-
"start": 14398,
|
|
165
|
-
"length": 20
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"start": 15023,
|
|
169
|
-
"length": 20
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"start": 15398,
|
|
173
|
-
"length": 20
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
"start": 15482,
|
|
177
|
-
"length": 20
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
"start": 15666,
|
|
181
|
-
"length": 20
|
|
182
|
-
},
|
|
183
|
-
{
|
|
184
|
-
"start": 15906,
|
|
185
|
-
"length": 20
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
"start": 16080,
|
|
189
|
-
"length": 20
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"start": 16394,
|
|
193
|
-
"length": 20
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
"start": 18702,
|
|
197
|
-
"length": 20
|
|
198
|
-
}
|
|
199
|
-
]
|
|
200
|
-
}
|
|
201
|
-
} as const;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rollup storage.
|
|
3
|
-
*/
|
|
4
|
-
export const RollupStorage = [
|
|
5
|
-
{
|
|
6
|
-
"astId": 6828,
|
|
7
|
-
"contract": "src/core/Rollup.sol:Rollup",
|
|
8
|
-
"label": "_nameFallback",
|
|
9
|
-
"offset": 0,
|
|
10
|
-
"slot": "0",
|
|
11
|
-
"type": "t_string_storage"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"astId": 6830,
|
|
15
|
-
"contract": "src/core/Rollup.sol:Rollup",
|
|
16
|
-
"label": "_versionFallback",
|
|
17
|
-
"offset": 0,
|
|
18
|
-
"slot": "1",
|
|
19
|
-
"type": "t_string_storage"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"astId": 4579,
|
|
23
|
-
"contract": "src/core/Rollup.sol:Rollup",
|
|
24
|
-
"label": "_owner",
|
|
25
|
-
"offset": 0,
|
|
26
|
-
"slot": "2",
|
|
27
|
-
"type": "t_address"
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"astId": 12754,
|
|
31
|
-
"contract": "src/core/Rollup.sol:Rollup",
|
|
32
|
-
"label": "gap",
|
|
33
|
-
"offset": 0,
|
|
34
|
-
"slot": "3",
|
|
35
|
-
"type": "t_uint256"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"astId": 12757,
|
|
39
|
-
"contract": "src/core/Rollup.sol:Rollup",
|
|
40
|
-
"label": "checkBlob",
|
|
41
|
-
"offset": 0,
|
|
42
|
-
"slot": "4",
|
|
43
|
-
"type": "t_bool"
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
"astId": 12760,
|
|
47
|
-
"contract": "src/core/Rollup.sol:Rollup",
|
|
48
|
-
"label": "rollupStore",
|
|
49
|
-
"offset": 0,
|
|
50
|
-
"slot": "5",
|
|
51
|
-
"type": "t_struct(RollupStore)14700_storage"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"astId": 12762,
|
|
55
|
-
"contract": "src/core/Rollup.sol:Rollup",
|
|
56
|
-
"label": "assumeProvenThroughBlockNumber",
|
|
57
|
-
"offset": 0,
|
|
58
|
-
"slot": "22",
|
|
59
|
-
"type": "t_uint256"
|
|
60
|
-
}
|
|
61
|
-
] as const;
|