From 813039c9d2782efce23a7d0e3576f8136f0edb78 Mon Sep 17 00:00:00 2001 From: kitanovicd Date: Thu, 30 May 2024 18:43:13 +0200 Subject: [PATCH 1/3] feat: rewards controller deployment --- .../8453/run-1717086645.json | 57 +++++++++++ .../8453/run-1717086890.json | 96 +++++++++++++++++++ .../8453/run-latest.json | 77 ++++++++------- lib/seamless-aave-v3-periphery | 2 +- 4 files changed, 194 insertions(+), 38 deletions(-) create mode 100644 broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json create mode 100644 broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json b/broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json new file mode 100644 index 0000000..daab381 --- /dev/null +++ b/broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json @@ -0,0 +1,57 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "RewardsController", + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "function": null, + "arguments": [ + "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" + ], + "transaction": { + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": null, + "gas": "0x54c498", + "value": "0x0", + "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004d7a38038062004d7a83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614cb0620000ca600039600081816104d0015281816105fb01528181610df0015281816110e4015281816117c901528181611ad901528181611b820152611c9d0152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806392074b081161010f578063c4d66de8116100a2578063dde43cba11610071578063dde43cba1461061d578063e15ac62314610625578063f5cf673b14610638578063f996868b1461064b57600080fd5b8063c4d66de8146105bd578063c5a7b538146105d0578063ca2d94f8146105e3578063cbcbb507146105f657600080fd5b8063b022418c116100de578063b022418c1461057c578063b45ac1a91461058f578063bb492bf514610597578063bf90f63a146105aa57600080fd5b806392074b08146104ce578063955c2ad7146104f45780639efd6f72146105075780639ff55db91461056957600080fd5b806357b898831161018757806374d945ec1161015657806374d945ec1461037a5780637eff4ba8146103b3578063886fe70b146104865780639085c503146104ae57600080fd5b806357b89883146102fb5780635f130b241461030e5780636657732f1461034757806370674ab91461036757600080fd5b806333028b99116101c357806333028b99146102a15780634c0369c3146102b4578063533f542a146102d55780635453ba10146102e857600080fd5b80631b839c77146101f5578063236300dc1461021b5780632a17bf601461022e57806331873e2e1461028c575b600080fd5b6102086102033660046141eb565b61065e565b6040519081526020015b60405180910390f35b610208610229366004614269565b6106be565b61026761023c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610212565b61029f61029a366004614301565b61075b565b005b6102086102af366004614336565b61076c565b6102c76102c23660046143bb565b610918565b604051610212929190614463565b6102086102e33660046144ba565b610c68565b61029f6102f63660046141eb565b610dd8565b6102086103093660046144fa565b610e85565b61026761031c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61035a6103553660046142dd565b610e9f565b6040516102129190614559565b61020861037536600461456c565b610ff1565b6102676103883660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104666103c13660046141eb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610212565b6104996104943660046141eb565b611008565b60408051928352602083019190915201610212565b603c546102679073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b61029f6105023660046146a4565b6110cc565b6105576105153660046142dd565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610212565b6102c761057736600461456c565b6112cc565b61020861058a3660046141eb565b61147b565b61035a611534565b6102c76105a53660046143bb565b6115a3565b6102c76105b83660046147d2565b61163c565b61029f6105cb3660046142dd565b611657565b61029f6105de366004614808565b6117b1565b61029f6105f136600461484f565b611956565b6102677f000000000000000000000000000000000000000000000000000000000000000081565b610208600381565b61029f6106333660046141eb565b611ac1565b61029f6106463660046141eb565b611b6a565b61029f6106593660046148be565b611c85565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b610751868686333388886120ee565b9695505050505050565b61076733848385612385565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff861661087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85166108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61090b898989338a8a8a6120ee565b9998505050505050505050565b606080600061092886868661253c565b60035490915067ffffffffffffffff811115610946576109466145c9565b60405190808252806020026020018201604052801561096f578160200160208202803683370190505b509250825167ffffffffffffffff81111561098c5761098c6145c9565b6040519080825280602002602001820160405280156109b5578160200160208202803683370190505b50915060005b8151811015610c5e5760005b8451811015610c4b57600381815481106109e3576109e3614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858281518110610a2057610a20614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a7057610a70614941565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610acd57610acd614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b9357610b93614941565b60200260200101818151610ba7919061499f565b9052508251839083908110610bbe57610bbe614941565b60200260200101516020015160000315610c3957610c0f86868381518110610be857610be8614941565b6020026020010151858581518110610c0257610c02614941565b602002602001015161273a565b848281518110610c2157610c21614941565b60200260200101818151610c35919061499f565b9052505b80610c43816149b2565b9150506109c7565b5080610c56816149b2565b9150506109bb565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610d07575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610dd05773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d5790700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610dc2906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b610dcc9190614b30565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e8182826128b8565b5050565b6000610e96858585333333886120ee565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610ef957610ef96145c9565b604051908082528060200260200182016040528015610f22578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fe95773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610fb257610fb2614941565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610fe181614b6b565b915050610f28565b509392505050565b6000610e96838361100388888861253c565b612a0c565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110bf9385939263b1bf962d92600480830193928290030181865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190614b9a565b612baa565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b60005b81518110156112bf5781818151811061118957611189614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190614b9a565b82828151811061121557611215614941565b6020026020010151602001818152505061126982828151811061123a5761123a614941565b60200260200101516080015183838151811061125857611258614941565b602002602001015160a00151612cb5565b6112ad82828151811061127e5761127e614941565b60200260200101516080015183838151811061129c5761129c614941565b602002602001015160c001516128b8565b806112b7816149b2565b91505061116e565b506112c981612e1b565b50565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260396020526040902054606091829133918691168214611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff86166113e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff851661145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61146c88883389896136cc565b93509350505094509492505050565b60008060005b600454811015610fe95760016000600483815481106114a2576114a2614941565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611520906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b91508061152c816149b2565b915050611481565b6060600380548060200260200160405190810160405280929190818152602001828054801561159957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161156e575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61163085853333876136cc565b91509150935093915050565b60608061164c84843333336136cc565b915091509250929050565b60065460039060ff168061166a5750303b155b80611676575060055481115b611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a65640000000000000000000000000000000000006064820152608401610739565b60065460ff1615801561174057600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a22179055801561076757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b603c5473ffffffffffffffffffffffffffffffffffffffff1633146119d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e0000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85811660008181526001602081815260408084208a8716808652908352818520968a1680865287850184529482902093840189905583547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff166d01000000000000000000000000006fffffffffffffffffffffffffffffffff8a16908102919091179094556002870154825190815292830189905290820192909252919290917f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe89060600160405180910390a4505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e818282612cb5565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b828114611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e505554000000000000000000000000000000000000006044820152606401610739565b60005b838110156120e65773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611dd257611dd2614941565b9050602002016020810190611de791906142dd565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611e5d575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f455849535400000000006044820152606401610739565b6000611f3d838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f389190614b9a565b613bb3565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611f7357611f73614941565b9050602002016020810190611f889190614bb3565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611fe357611fe3614941565b9050602002016020810190611ff891906142dd565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b81811061205957612059614941565b905060200201602081019061206e9190614bb3565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a3505050505080806120de906149b2565b915050611d90565b505050505050565b6000856000036121005750600061237a565b6000612116856121118b8b8961253c565b613c98565b60005b888110156122fd5760008a8a8381811061213557612135614941565b905060200201602081019061214a91906142dd565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d16845293909101905220549091506121ba906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168461499f565b925088831161222d5773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff1690556122ea565b60006122398a85614bce565b90506122458185614bce565b935061225081613d19565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff90931692909217909155506122fd565b50806122f5816149b2565b915050612119565b508060000361231057600091505061237a565b61231b848483613dbf565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff909116908190036123ec575050612536565b60005b81816fffffffffffffffffffffffffffffffff1610156125325773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806124688389613bb3565b9150915060008061247c858d8d878d613eeb565b9150915082806124895750805b15612520578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612517939291909283526020830191909152604082015260600190565b60405180910390a45b5050600190940193506123ef92505050565b5050505b50505050565b60608267ffffffffffffffff811115612557576125576145c9565b6040519080825280602002602001820160405280156125c257816020015b6125af6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001906001900390816125755790505b50905060005b83811015610fe9578484828181106125e2576125e2614941565b90506020020160208101906125f791906142dd565b82828151811061260957612609614941565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff909116905284848281811061264057612640614941565b905060200201602081019061265591906142dd565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190614be1565b8383815181106126f8576126f8614941565b602002602001015160200184848151811061271557612715614941565b6020908102919091010151604001919091525280612732816149b2565b9150506125c8565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612784908390612baa565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808601602052604090912001549092509050801580156127f7575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156128a957845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461284890700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600186016020526040902054909150819061289b906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b6128a59190614b30565b9150505b61237a85602001518383614104565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129299190614b9a565b13612990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f505249434500000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fe957828181518110612a2b57612a2b614941565b602002602001015160200151600003612ad95760016000848381518110612a5457612a54614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054612ad2906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b9150612b98565b60016000848381518110612aef57612aef614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff1690612b819087908790879086908110610c0257610c02614941565b612b8b919061499f565b612b95908361499f565b91505b80612ba2816149b2565b915050612a10565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612c26575086155b80612c3057504281145b80612c3b5750828110155b15612c4f57838495509550505050506110c5565b6000834211612c5e5742612c60565b835b90506000612c6e8383614bce565b905060006b033b2e3c9fd0803ce8000000612c898387614b19565b612c939190614b19565b8a9004905086612ca3818361499f565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f00000000000000006044820152606401610739565b6001813b151514612d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e5452414354000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e815760016000838381518110612e3d57612e3d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612f17576004828281518110612eb257612eb2614941565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612f2957612f29614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa39190614c05565b60016000848481518110612fb957612fb9614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061303257613032614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600084848151811061308f5761308f614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff166000036133095782828151811061310b5761310b614941565b6020026020010151608001516001600085858151811061312d5761312d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006001600087878151811061318e5761318e614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600084848151811061327a5761327a614941565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916132d183614b6b565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061331f5761331f614941565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff161515900361344f5760016002600085858151811061337957613379614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038383815181106133ea576133ea614941565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006134788285858151811061346757613467614941565b602002602001015160200151613bb3565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106134d9576134d9614941565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455855186908690811061354157613541614941565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106135b0576135b0614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106135e4576135e4614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc58489898151811061363a5761363a614941565b602002602001015160000151858b8b8151811061365957613659614941565b602002602001015160400151896040516136ad9594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806136c4906149b2565b915050612e1e565b60035460609081908067ffffffffffffffff8111156136ed576136ed6145c9565b604051908082528060200260200182016040528015613716578160200160208202803683370190505b5092508067ffffffffffffffff811115613732576137326145c9565b60405190808252806020026020018201604052801561375b578160200160208202803683370190505b50915061376d856121118a8a8961253c565b60005b87811015613a7b57600089898381811061378c5761378c614941565b90506020020160208101906137a191906142dd565b905060005b83811015613a6657600073ffffffffffffffffffffffffffffffffffffffff168682815181106137d8576137d8614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613886576003818154811061380e5761380e614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686828151811061384b5761384b614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106138c1576138c1614941565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613a53578086838151811061394557613945614941565b60200260200101818151613959919061499f565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a908690811061399757613997614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613a5e816149b2565b9150506137a6565b50508080613a73906149b2565b915050613770565b5060005b81811015613ba757613ac485858381518110613a9d57613a9d614941565b6020026020010151858481518110613ab757613ab7614941565b6020026020010151613dbf565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613aed57613aed614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a878681518110613b5657613b56614941565b6020026020010151604051613b8d92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a480613b9f816149b2565b915050613a7f565b50509550959350505050565b600080600080613bc38686612baa565b915091506000828214613c355750600286018190556001613be342614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c8c565b613c3e42614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561076757613d07828281518110613cb957613cb9614941565b60200260200101516000015184848481518110613cd857613cd8614941565b602002602001015160200151858581518110613cf657613cf6614941565b602002602001015160400151612385565b80613d11816149b2565b915050613c9b565b60006fffffffffffffffffffffffffffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610739565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e769190614c28565b9050600181151514613ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f520000000000000000000000000000000000006044820152606401610739565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f5a575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b1561400f5773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613faf906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b613fb99190614b30565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b60008186148015906140f55773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140f557614059888885614104565b915061406482613d19565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140be9084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614c4a565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141118385614bce565b61411b9086614b19565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610739565b73ffffffffffffffffffffffffffffffffffffffff811681146112c957600080fd5b600080604083850312156141fe57600080fd5b8235614209816141c9565b91506020830135614219816141c9565b809150509250929050565b60008083601f84011261423657600080fd5b50813567ffffffffffffffff81111561424e57600080fd5b6020830191508360208260051b85010111156110c557600080fd5b60008060008060006080868803121561428157600080fd5b853567ffffffffffffffff81111561429857600080fd5b6142a488828901614224565b9096509450506020860135925060408601356142bf816141c9565b915060608601356142cf816141c9565b809150509295509295909350565b6000602082840312156142ef57600080fd5b81356142fa816141c9565b9392505050565b60008060006060848603121561431657600080fd5b8335614321816141c9565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434f57600080fd5b863567ffffffffffffffff81111561436657600080fd5b61437289828a01614224565b90975095505060208701359350604087013561438d816141c9565b9250606087013561439d816141c9565b915060808701356143ad816141c9565b809150509295509295509295565b6000806000604084860312156143d057600080fd5b833567ffffffffffffffff8111156143e757600080fd5b6143f386828701614224565b9094509250506020840135614407816141c9565b809150509250925092565b600081518084526020808501945080840160005b8381101561445857815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614426565b509495945050505050565b6040815260006144766040830185614412565b82810360208481019190915284518083528582019282019060005b818110156144ad57845183529383019391830191600101614491565b5090979650505050505050565b6000806000606084860312156144cf57600080fd5b83356144da816141c9565b925060208401356144ea816141c9565b91506040840135614407816141c9565b6000806000806060858703121561451057600080fd5b843567ffffffffffffffff81111561452757600080fd5b61453387828801614224565b90955093505060208501359150604085013561454e816141c9565b939692955090935050565b6020815260006142fa6020830184614412565b6000806000806060858703121561458257600080fd5b843567ffffffffffffffff81111561459957600080fd5b6145a587828801614224565b90955093505060208501356145b9816141c9565b9150604085013561454e816141c9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561461b5761461b6145c9565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614668576146686145c9565b604052919050565b80356affffffffffffffffffffff8116811461468b57600080fd5b919050565b803563ffffffff8116811461468b57600080fd5b600060208083850312156146b757600080fd5b823567ffffffffffffffff808211156146cf57600080fd5b818501915085601f8301126146e357600080fd5b8135818111156146f5576146f56145c9565b614703848260051b01614621565b818152848101925060e091820284018501918883111561472257600080fd5b938501935b828510156147c65780858a03121561473f5760008081fd5b6147476145f8565b61475086614670565b815286860135878201526040614767818801614690565b9082015260608681013561477a816141c9565b9082015260808681013561478d816141c9565b9082015260a0868101356147a0816141c9565b9082015260c0868101356147b3816141c9565b9082015284529384019392850192614727565b50979650505050505050565b600080602083850312156147e557600080fd5b823567ffffffffffffffff8111156147fc57600080fd5b613c8c85828601614224565b60008060006060848603121561481d57600080fd5b8335614828816141c9565b92506020840135614838816141c9565b915061484660408501614690565b90509250925092565b600080600080600060a0868803121561486757600080fd5b8535614872816141c9565b94506020860135614882816141c9565b93506040860135614892816141c9565b92506060860135915060808601356fffffffffffffffffffffffffffffffff811681146142cf57600080fd5b6000806000806000606086880312156148d657600080fd5b85356148e1816141c9565b9450602086013567ffffffffffffffff808211156148fe57600080fd5b61490a89838a01614224565b9096509450604088013591508082111561492357600080fd5b5061493088828901614224565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106b8576106b8614970565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149e3576149e3614970565b5060010190565b600181815b80851115614a4357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a2957614a29614970565b80851615614a3657918102915b93841c93908002906149ef565b509250929050565b600082614a5a575060016106b8565b81614a67575060006106b8565b8160018114614a7d5760028114614a8757614aa3565b60019150506106b8565b60ff841115614a9857614a98614970565b50506001821b6106b8565b5060208310610133831016604e8410600b8410161715614ac6575081810a6106b8565b614ad083836149ea565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614b0257614b02614970565b029392505050565b60006142fa60ff841683614a4b565b80820281158282048414176106b8576106b8614970565b600082614b66577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b9057614b90614970565b6001019392505050565b600060208284031215614bac57600080fd5b5051919050565b600060208284031215614bc557600080fd5b6142fa82614670565b818103818111156106b8576106b8614970565b60008060408385031215614bf457600080fd5b505080516020909101519092909150565b600060208284031215614c1757600080fd5b815160ff811681146142fa57600080fd5b600060208284031215614c3a57600080fd5b815180151581146142fa57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614c7357614c73614970565b509291505056fea2646970667358221220aa74be29a67492a844dd5846f4b36fbcaa6ce4b825496bc280ea1d9f1ae0392464736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2db", + "chainId": "0x2105", + "accessList": null, + "type": null + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "RewardsController", + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "function": "initialize(address)", + "arguments": [ + "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" + ], + "transaction": { + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "gas": "0x17f25", + "value": "0x0", + "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2dc", + "chainId": "0x2105", + "accessList": null, + "type": null + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1717086645, + "chain": 8453, + "commit": "9db0798" +} \ No newline at end of file diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json b/broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json new file mode 100644 index 0000000..6c6c8de --- /dev/null +++ b/broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json @@ -0,0 +1,96 @@ +{ + "transactions": [ + { + "hash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", + "transactionType": "CREATE", + "contractName": "RewardsController", + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "function": null, + "arguments": [ + "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" + ], + "transaction": { + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": null, + "gas": "0x54c498", + "value": "0x0", + "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004d7a38038062004d7a83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614cb0620000ca600039600081816104d0015281816105fb01528181610df0015281816110e4015281816117c901528181611ad901528181611b820152611c9d0152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806392074b081161010f578063c4d66de8116100a2578063dde43cba11610071578063dde43cba1461061d578063e15ac62314610625578063f5cf673b14610638578063f996868b1461064b57600080fd5b8063c4d66de8146105bd578063c5a7b538146105d0578063ca2d94f8146105e3578063cbcbb507146105f657600080fd5b8063b022418c116100de578063b022418c1461057c578063b45ac1a91461058f578063bb492bf514610597578063bf90f63a146105aa57600080fd5b806392074b08146104ce578063955c2ad7146104f45780639efd6f72146105075780639ff55db91461056957600080fd5b806357b898831161018757806374d945ec1161015657806374d945ec1461037a5780637eff4ba8146103b3578063886fe70b146104865780639085c503146104ae57600080fd5b806357b89883146102fb5780635f130b241461030e5780636657732f1461034757806370674ab91461036757600080fd5b806333028b99116101c357806333028b99146102a15780634c0369c3146102b4578063533f542a146102d55780635453ba10146102e857600080fd5b80631b839c77146101f5578063236300dc1461021b5780632a17bf601461022e57806331873e2e1461028c575b600080fd5b6102086102033660046141eb565b61065e565b6040519081526020015b60405180910390f35b610208610229366004614269565b6106be565b61026761023c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610212565b61029f61029a366004614301565b61075b565b005b6102086102af366004614336565b61076c565b6102c76102c23660046143bb565b610918565b604051610212929190614463565b6102086102e33660046144ba565b610c68565b61029f6102f63660046141eb565b610dd8565b6102086103093660046144fa565b610e85565b61026761031c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61035a6103553660046142dd565b610e9f565b6040516102129190614559565b61020861037536600461456c565b610ff1565b6102676103883660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104666103c13660046141eb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610212565b6104996104943660046141eb565b611008565b60408051928352602083019190915201610212565b603c546102679073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b61029f6105023660046146a4565b6110cc565b6105576105153660046142dd565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610212565b6102c761057736600461456c565b6112cc565b61020861058a3660046141eb565b61147b565b61035a611534565b6102c76105a53660046143bb565b6115a3565b6102c76105b83660046147d2565b61163c565b61029f6105cb3660046142dd565b611657565b61029f6105de366004614808565b6117b1565b61029f6105f136600461484f565b611956565b6102677f000000000000000000000000000000000000000000000000000000000000000081565b610208600381565b61029f6106333660046141eb565b611ac1565b61029f6106463660046141eb565b611b6a565b61029f6106593660046148be565b611c85565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b610751868686333388886120ee565b9695505050505050565b61076733848385612385565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff861661087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85166108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61090b898989338a8a8a6120ee565b9998505050505050505050565b606080600061092886868661253c565b60035490915067ffffffffffffffff811115610946576109466145c9565b60405190808252806020026020018201604052801561096f578160200160208202803683370190505b509250825167ffffffffffffffff81111561098c5761098c6145c9565b6040519080825280602002602001820160405280156109b5578160200160208202803683370190505b50915060005b8151811015610c5e5760005b8451811015610c4b57600381815481106109e3576109e3614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858281518110610a2057610a20614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a7057610a70614941565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610acd57610acd614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b9357610b93614941565b60200260200101818151610ba7919061499f565b9052508251839083908110610bbe57610bbe614941565b60200260200101516020015160000315610c3957610c0f86868381518110610be857610be8614941565b6020026020010151858581518110610c0257610c02614941565b602002602001015161273a565b848281518110610c2157610c21614941565b60200260200101818151610c35919061499f565b9052505b80610c43816149b2565b9150506109c7565b5080610c56816149b2565b9150506109bb565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610d07575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610dd05773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d5790700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610dc2906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b610dcc9190614b30565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e8182826128b8565b5050565b6000610e96858585333333886120ee565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610ef957610ef96145c9565b604051908082528060200260200182016040528015610f22578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fe95773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610fb257610fb2614941565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610fe181614b6b565b915050610f28565b509392505050565b6000610e96838361100388888861253c565b612a0c565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110bf9385939263b1bf962d92600480830193928290030181865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190614b9a565b612baa565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b60005b81518110156112bf5781818151811061118957611189614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190614b9a565b82828151811061121557611215614941565b6020026020010151602001818152505061126982828151811061123a5761123a614941565b60200260200101516080015183838151811061125857611258614941565b602002602001015160a00151612cb5565b6112ad82828151811061127e5761127e614941565b60200260200101516080015183838151811061129c5761129c614941565b602002602001015160c001516128b8565b806112b7816149b2565b91505061116e565b506112c981612e1b565b50565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260396020526040902054606091829133918691168214611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff86166113e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff851661145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61146c88883389896136cc565b93509350505094509492505050565b60008060005b600454811015610fe95760016000600483815481106114a2576114a2614941565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611520906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b91508061152c816149b2565b915050611481565b6060600380548060200260200160405190810160405280929190818152602001828054801561159957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161156e575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61163085853333876136cc565b91509150935093915050565b60608061164c84843333336136cc565b915091509250929050565b60065460039060ff168061166a5750303b155b80611676575060055481115b611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a65640000000000000000000000000000000000006064820152608401610739565b60065460ff1615801561174057600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a22179055801561076757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b603c5473ffffffffffffffffffffffffffffffffffffffff1633146119d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e0000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85811660008181526001602081815260408084208a8716808652908352818520968a1680865287850184529482902093840189905583547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff166d01000000000000000000000000006fffffffffffffffffffffffffffffffff8a16908102919091179094556002870154825190815292830189905290820192909252919290917f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe89060600160405180910390a4505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e818282612cb5565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b828114611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e505554000000000000000000000000000000000000006044820152606401610739565b60005b838110156120e65773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611dd257611dd2614941565b9050602002016020810190611de791906142dd565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611e5d575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f455849535400000000006044820152606401610739565b6000611f3d838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f389190614b9a565b613bb3565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611f7357611f73614941565b9050602002016020810190611f889190614bb3565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611fe357611fe3614941565b9050602002016020810190611ff891906142dd565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b81811061205957612059614941565b905060200201602081019061206e9190614bb3565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a3505050505080806120de906149b2565b915050611d90565b505050505050565b6000856000036121005750600061237a565b6000612116856121118b8b8961253c565b613c98565b60005b888110156122fd5760008a8a8381811061213557612135614941565b905060200201602081019061214a91906142dd565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d16845293909101905220549091506121ba906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168461499f565b925088831161222d5773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff1690556122ea565b60006122398a85614bce565b90506122458185614bce565b935061225081613d19565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff90931692909217909155506122fd565b50806122f5816149b2565b915050612119565b508060000361231057600091505061237a565b61231b848483613dbf565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff909116908190036123ec575050612536565b60005b81816fffffffffffffffffffffffffffffffff1610156125325773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806124688389613bb3565b9150915060008061247c858d8d878d613eeb565b9150915082806124895750805b15612520578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612517939291909283526020830191909152604082015260600190565b60405180910390a45b5050600190940193506123ef92505050565b5050505b50505050565b60608267ffffffffffffffff811115612557576125576145c9565b6040519080825280602002602001820160405280156125c257816020015b6125af6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001906001900390816125755790505b50905060005b83811015610fe9578484828181106125e2576125e2614941565b90506020020160208101906125f791906142dd565b82828151811061260957612609614941565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff909116905284848281811061264057612640614941565b905060200201602081019061265591906142dd565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190614be1565b8383815181106126f8576126f8614941565b602002602001015160200184848151811061271557612715614941565b6020908102919091010151604001919091525280612732816149b2565b9150506125c8565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612784908390612baa565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808601602052604090912001549092509050801580156127f7575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156128a957845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461284890700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600186016020526040902054909150819061289b906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b6128a59190614b30565b9150505b61237a85602001518383614104565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129299190614b9a565b13612990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f505249434500000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fe957828181518110612a2b57612a2b614941565b602002602001015160200151600003612ad95760016000848381518110612a5457612a54614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054612ad2906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b9150612b98565b60016000848381518110612aef57612aef614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff1690612b819087908790879086908110610c0257610c02614941565b612b8b919061499f565b612b95908361499f565b91505b80612ba2816149b2565b915050612a10565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612c26575086155b80612c3057504281145b80612c3b5750828110155b15612c4f57838495509550505050506110c5565b6000834211612c5e5742612c60565b835b90506000612c6e8383614bce565b905060006b033b2e3c9fd0803ce8000000612c898387614b19565b612c939190614b19565b8a9004905086612ca3818361499f565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f00000000000000006044820152606401610739565b6001813b151514612d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e5452414354000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e815760016000838381518110612e3d57612e3d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612f17576004828281518110612eb257612eb2614941565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612f2957612f29614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa39190614c05565b60016000848481518110612fb957612fb9614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061303257613032614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600084848151811061308f5761308f614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff166000036133095782828151811061310b5761310b614941565b6020026020010151608001516001600085858151811061312d5761312d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006001600087878151811061318e5761318e614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600084848151811061327a5761327a614941565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916132d183614b6b565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061331f5761331f614941565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff161515900361344f5760016002600085858151811061337957613379614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038383815181106133ea576133ea614941565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006134788285858151811061346757613467614941565b602002602001015160200151613bb3565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106134d9576134d9614941565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455855186908690811061354157613541614941565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106135b0576135b0614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106135e4576135e4614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc58489898151811061363a5761363a614941565b602002602001015160000151858b8b8151811061365957613659614941565b602002602001015160400151896040516136ad9594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806136c4906149b2565b915050612e1e565b60035460609081908067ffffffffffffffff8111156136ed576136ed6145c9565b604051908082528060200260200182016040528015613716578160200160208202803683370190505b5092508067ffffffffffffffff811115613732576137326145c9565b60405190808252806020026020018201604052801561375b578160200160208202803683370190505b50915061376d856121118a8a8961253c565b60005b87811015613a7b57600089898381811061378c5761378c614941565b90506020020160208101906137a191906142dd565b905060005b83811015613a6657600073ffffffffffffffffffffffffffffffffffffffff168682815181106137d8576137d8614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613886576003818154811061380e5761380e614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686828151811061384b5761384b614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106138c1576138c1614941565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613a53578086838151811061394557613945614941565b60200260200101818151613959919061499f565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a908690811061399757613997614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613a5e816149b2565b9150506137a6565b50508080613a73906149b2565b915050613770565b5060005b81811015613ba757613ac485858381518110613a9d57613a9d614941565b6020026020010151858481518110613ab757613ab7614941565b6020026020010151613dbf565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613aed57613aed614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a878681518110613b5657613b56614941565b6020026020010151604051613b8d92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a480613b9f816149b2565b915050613a7f565b50509550959350505050565b600080600080613bc38686612baa565b915091506000828214613c355750600286018190556001613be342614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c8c565b613c3e42614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561076757613d07828281518110613cb957613cb9614941565b60200260200101516000015184848481518110613cd857613cd8614941565b602002602001015160200151858581518110613cf657613cf6614941565b602002602001015160400151612385565b80613d11816149b2565b915050613c9b565b60006fffffffffffffffffffffffffffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610739565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e769190614c28565b9050600181151514613ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f520000000000000000000000000000000000006044820152606401610739565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f5a575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b1561400f5773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613faf906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b613fb99190614b30565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b60008186148015906140f55773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140f557614059888885614104565b915061406482613d19565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140be9084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614c4a565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141118385614bce565b61411b9086614b19565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610739565b73ffffffffffffffffffffffffffffffffffffffff811681146112c957600080fd5b600080604083850312156141fe57600080fd5b8235614209816141c9565b91506020830135614219816141c9565b809150509250929050565b60008083601f84011261423657600080fd5b50813567ffffffffffffffff81111561424e57600080fd5b6020830191508360208260051b85010111156110c557600080fd5b60008060008060006080868803121561428157600080fd5b853567ffffffffffffffff81111561429857600080fd5b6142a488828901614224565b9096509450506020860135925060408601356142bf816141c9565b915060608601356142cf816141c9565b809150509295509295909350565b6000602082840312156142ef57600080fd5b81356142fa816141c9565b9392505050565b60008060006060848603121561431657600080fd5b8335614321816141c9565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434f57600080fd5b863567ffffffffffffffff81111561436657600080fd5b61437289828a01614224565b90975095505060208701359350604087013561438d816141c9565b9250606087013561439d816141c9565b915060808701356143ad816141c9565b809150509295509295509295565b6000806000604084860312156143d057600080fd5b833567ffffffffffffffff8111156143e757600080fd5b6143f386828701614224565b9094509250506020840135614407816141c9565b809150509250925092565b600081518084526020808501945080840160005b8381101561445857815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614426565b509495945050505050565b6040815260006144766040830185614412565b82810360208481019190915284518083528582019282019060005b818110156144ad57845183529383019391830191600101614491565b5090979650505050505050565b6000806000606084860312156144cf57600080fd5b83356144da816141c9565b925060208401356144ea816141c9565b91506040840135614407816141c9565b6000806000806060858703121561451057600080fd5b843567ffffffffffffffff81111561452757600080fd5b61453387828801614224565b90955093505060208501359150604085013561454e816141c9565b939692955090935050565b6020815260006142fa6020830184614412565b6000806000806060858703121561458257600080fd5b843567ffffffffffffffff81111561459957600080fd5b6145a587828801614224565b90955093505060208501356145b9816141c9565b9150604085013561454e816141c9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561461b5761461b6145c9565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614668576146686145c9565b604052919050565b80356affffffffffffffffffffff8116811461468b57600080fd5b919050565b803563ffffffff8116811461468b57600080fd5b600060208083850312156146b757600080fd5b823567ffffffffffffffff808211156146cf57600080fd5b818501915085601f8301126146e357600080fd5b8135818111156146f5576146f56145c9565b614703848260051b01614621565b818152848101925060e091820284018501918883111561472257600080fd5b938501935b828510156147c65780858a03121561473f5760008081fd5b6147476145f8565b61475086614670565b815286860135878201526040614767818801614690565b9082015260608681013561477a816141c9565b9082015260808681013561478d816141c9565b9082015260a0868101356147a0816141c9565b9082015260c0868101356147b3816141c9565b9082015284529384019392850192614727565b50979650505050505050565b600080602083850312156147e557600080fd5b823567ffffffffffffffff8111156147fc57600080fd5b613c8c85828601614224565b60008060006060848603121561481d57600080fd5b8335614828816141c9565b92506020840135614838816141c9565b915061484660408501614690565b90509250925092565b600080600080600060a0868803121561486757600080fd5b8535614872816141c9565b94506020860135614882816141c9565b93506040860135614892816141c9565b92506060860135915060808601356fffffffffffffffffffffffffffffffff811681146142cf57600080fd5b6000806000806000606086880312156148d657600080fd5b85356148e1816141c9565b9450602086013567ffffffffffffffff808211156148fe57600080fd5b61490a89838a01614224565b9096509450604088013591508082111561492357600080fd5b5061493088828901614224565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106b8576106b8614970565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149e3576149e3614970565b5060010190565b600181815b80851115614a4357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a2957614a29614970565b80851615614a3657918102915b93841c93908002906149ef565b509250929050565b600082614a5a575060016106b8565b81614a67575060006106b8565b8160018114614a7d5760028114614a8757614aa3565b60019150506106b8565b60ff841115614a9857614a98614970565b50506001821b6106b8565b5060208310610133831016604e8410600b8410161715614ac6575081810a6106b8565b614ad083836149ea565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614b0257614b02614970565b029392505050565b60006142fa60ff841683614a4b565b80820281158282048414176106b8576106b8614970565b600082614b66577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b9057614b90614970565b6001019392505050565b600060208284031215614bac57600080fd5b5051919050565b600060208284031215614bc557600080fd5b6142fa82614670565b818103818111156106b8576106b8614970565b60008060408385031215614bf457600080fd5b505080516020909101519092909150565b600060208284031215614c1757600080fd5b815160ff811681146142fa57600080fd5b600060208284031215614c3a57600080fd5b815180151581146142fa57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614c7357614c73614970565b509291505056fea2646970667358221220aa74be29a67492a844dd5846f4b36fbcaa6ce4b825496bc280ea1d9f1ae0392464736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2db", + "chainId": "0x2105", + "accessList": null, + "type": null + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", + "transactionType": "CALL", + "contractName": "RewardsController", + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "function": "initialize(address)", + "arguments": [ + "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" + ], + "transaction": { + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "gas": "0x17f25", + "value": "0x0", + "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2dc", + "chainId": "0x2105", + "accessList": null, + "type": null + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xb3969e", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", + "transactionIndex": "0x21", + "blockHash": "0x675dbaa5be973816fd5ba7eb7bcbf8fa216fbc175992a5099fc4c42581a1e5ff", + "blockNumber": "0xe726d5", + "gasUsed": "0x41399e", + "effectiveGasPrice": "0x11c65ea", + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": null, + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "l1Fee": "0x5682376595b", + "l1GasPrice": "0x45baabba4", + "l1GasUsed": "0x466d4" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x628220", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", + "transactionIndex": "0x26", + "blockHash": "0x74e9a7c62c47e70b18c0f303b7f7cef35cf37a9ff88f092240c3e129afab897a", + "blockNumber": "0xe726d9", + "gasUsed": "0x11564", + "effectiveGasPrice": "0x11c6a54", + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "contractAddress": null, + "l1Fee": "0xb1da33a32", + "l1GasPrice": "0x481d62173", + "l1GasUsed": "0x8c0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1717086890, + "chain": 8453, + "commit": "9db0798" +} \ No newline at end of file diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-latest.json b/broadcast/DeployRewardsController.s.sol/8453/run-latest.json index 77644f4..6c6c8de 100644 --- a/broadcast/DeployRewardsController.s.sol/8453/run-latest.json +++ b/broadcast/DeployRewardsController.s.sol/8453/run-latest.json @@ -1,42 +1,47 @@ { "transactions": [ { - "hash": "0x428c8e3aa388238d70f6604d6ec28af4b1efbc72b1c747d89f56c3feb76e1c06", + "hash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", "transactionType": "CREATE", "contractName": "RewardsController", - "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", "function": null, "arguments": [ "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" ], "transaction": { "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "gas": "0x54404f", + "to": null, + "gas": "0x54c498", "value": "0x0", - "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004cff38038062004cff83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614c35620000ca6000396000818161049a015281816105b201528181610da70152818161109b0152818161174a015281816118ef015281816119980152611ab30152614c356000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806392074b0811610104578063bf90f63a116100a2578063dde43cba11610071578063dde43cba146105d4578063e15ac623146105dc578063f5cf673b146105ef578063f996868b1461060257600080fd5b8063bf90f63a14610574578063c4d66de814610587578063c5a7b5381461059a578063cbcbb507146105ad57600080fd5b80639ff55db9116100de5780639ff55db914610533578063b022418c14610546578063b45ac1a914610559578063bb492bf51461056157600080fd5b806392074b0814610498578063955c2ad7146104be5780639efd6f72146104d157600080fd5b80635453ba101161017c57806370674ab91161014b57806370674ab91461035157806374d945ec146103645780637eff4ba81461039d578063886fe70b1461047057600080fd5b80635453ba10146102d257806357b89883146102e55780635f130b24146102f85780636657732f1461033157600080fd5b806331873e2e116101b857806331873e2e1461027657806333028b991461028b5780634c0369c31461029e578063533f542a146102bf57600080fd5b80631b839c77146101df578063236300dc146102055780632a17bf6014610218575b600080fd5b6101f26101ed3660046141df565b610615565b6040519081526020015b60405180910390f35b6101f261021336600461425d565b610675565b6102516102263660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fc565b6102896102843660046142f5565b610712565b005b6101f261029936600461432a565b610723565b6102b16102ac3660046143af565b6108cf565b6040516101fc929190614457565b6101f26102cd3660046144ae565b610c1f565b6102896102e03660046141df565b610d8f565b6101f26102f33660046144ee565b610e3c565b6102516103063660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61034461033f3660046142d1565b610e56565b6040516101fc919061454d565b6101f261035f366004614560565b610fa8565b6102516103723660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104506103ab3660046141df565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b6040805194855260208501939093529183015260608201526080016101fc565b61048361047e3660046141df565b610fbf565b604080519283526020830191909152016101fc565b7f0000000000000000000000000000000000000000000000000000000000000000610251565b6102896104cc366004614698565b611083565b6105216104df3660046142d1565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff90911681526020016101fc565b6102b1610541366004614560565b611283565b6101f26105543660046141df565b611432565b6103446114eb565b6102b161056f3660046143af565b61155a565b6102b16105823660046147c6565b6115f3565b6102896105953660046142d1565b61160e565b6102896105a83660046147fc565b611732565b6102517f000000000000000000000000000000000000000000000000000000000000000081565b6101f2600281565b6102896105ea3660046141df565b6118d7565b6102896105fd3660046141df565b611980565b610289610610366004614843565b611a9b565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff83166106f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b61070886868633338888611f04565b9695505050505050565b61071e3384838561219b565b505050565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152603960205260408120549091339186911682146107b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8616610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff85166108b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b6108c2898989338a8a8a611f04565b9998505050505050505050565b60608060006108df868686612352565b60035490915067ffffffffffffffff8111156108fd576108fd6145bd565b604051908082528060200260200182016040528015610926578160200160208202803683370190505b509250825167ffffffffffffffff811115610943576109436145bd565b60405190808252806020026020018201604052801561096c578160200160208202803683370190505b50915060005b8151811015610c155760005b8451811015610c02576003818154811061099a5761099a6148c6565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168582815181106109d7576109d76148c6565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a2757610a276148c6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610a8457610a846148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b4a57610b4a6148c6565b60200260200101818151610b5e9190614924565b9052508251839083908110610b7557610b756148c6565b60200260200101516020015160000315610bf057610bc686868381518110610b9f57610b9f6148c6565b6020026020010151858581518110610bb957610bb96148c6565b6020026020010151612550565b848281518110610bd857610bd86148c6565b60200260200101818151610bec9190614924565b9052505b80610bfa81614937565b91505061097e565b5080610c0d81614937565b915050610972565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610cbe575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610d875773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d0e90700100000000000000000000000000000000900460ff16600a614a8f565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610d79906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b610d839190614ab5565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b610e3882826126ce565b5050565b6000610e4d85858533333388611f04565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610eb057610eb06145bd565b604051908082528060200260200182016040528015610ed9578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fa05773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610f6957610f696148c6565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610f9881614af0565b915050610edf565b509392505050565b6000610e4d8383610fba888888612352565b612822565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110769385939263b1bf962d92600480830193928290030181865afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110719190614b1f565b6129c0565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b60005b815181101561127657818181518110611140576111406148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190614b1f565b8282815181106111cc576111cc6148c6565b602002602001015160200181815250506112208282815181106111f1576111f16148c6565b60200260200101516080015183838151811061120f5761120f6148c6565b602002602001015160a00151612acb565b611264828281518110611235576112356148c6565b602002602001015160800151838381518110611253576112536148c6565b602002602001015160c001516126ce565b8061126e81614937565b915050611125565b5061128081612c31565b50565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526039602052604090205460609182913391869116821461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8616611399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8516611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b61142388883389896134e2565b93509350505094509492505050565b60008060005b600454811015610fa0576001600060048381548110611459576114596148c6565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff9081168452838201949094526040928301822088851683528152828220938916825260019093019092529020546114d7906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614924565b9150806114e381614937565b915050611438565b6060600380548060200260200160405190810160405280929190818152602001828054801561155057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611525575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff83166115da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b6115e785853333876134e2565b91509150935093915050565b60608061160384843333336134e2565b915091509250929050565b60065460029060ff16806116215750303b155b8061162d575060055481115b6116b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a656400000000000000000000000000000000000060648201526084016106f0565b60065460ff161580156116f757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b6116ff6139c9565b801561071e57600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146117d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b610e388282612acb565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611a1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b828114611ba3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e5055540000000000000000000000000000000000000060448201526064016106f0565b60005b83811015611efc5773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611be857611be86148c6565b9050602002016020810190611bfd91906142d1565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611c73575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611cd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f4558495354000000000060448201526064016106f0565b6000611d53838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190614b1f565b613bad565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611d8957611d896148c6565b9050602002016020810190611d9e9190614b38565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611df957611df96148c6565b9050602002016020810190611e0e91906142d1565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b818110611e6f57611e6f6148c6565b9050602002016020810190611e849190614b38565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a350505050508080611ef490614937565b915050611ba6565b505050505050565b600085600003611f1657506000612190565b6000611f2c85611f278b8b89612352565b613c92565b60005b888110156121135760008a8a83818110611f4b57611f4b6148c6565b9050602002016020810190611f6091906142d1565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d1684529390910190522054909150611fd0906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1684614924565b92508883116120435773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff169055612100565b600061204f8a85614b53565b905061205b8185614b53565b935061206681613d13565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff9093169290921790915550612113565b508061210b81614937565b915050611f2f565b5080600003612126576000915050612190565b612131848483613db9565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff9091169081900361220257505061234c565b60005b81816fffffffffffffffffffffffffffffffff1610156123485773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff87168552928301825280842054909416808452919052918120908061227e8389613bad565b91509150600080612292858d8d878d613ee5565b91509150828061229f5750805b15612336578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe887888760405161232d939291909283526020830191909152604082015260600190565b60405180910390a45b50506001909401935061220592505050565b5050505b50505050565b60608267ffffffffffffffff81111561236d5761236d6145bd565b6040519080825280602002602001820160405280156123d857816020015b6123c56040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b81526020019060019003908161238b5790505b50905060005b83811015610fa0578484828181106123f8576123f86148c6565b905060200201602081019061240d91906142d1565b82828151811061241f5761241f6148c6565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff9091169052848482818110612456576124566148c6565b905060200201602081019061246b91906142d1565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156124d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fc9190614b66565b83838151811061250e5761250e6148c6565b602002602001015160200184848151811061252b5761252b6148c6565b602090810291909101015160400191909152528061254881614937565b9150506123de565b805173ffffffffffffffffffffffffffffffffffffffff9081166000908152600160209081526040808320938616835292905281812091830151909190829061259a9083906129c0565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260018086016020526040909120015490925090508015801561260d575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156126bf57845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461265e90700100000000000000000000000000000000900460ff16600a614a8f565b73ffffffffffffffffffffffffffffffffffffffff8916600090815260018601602052604090205490915081906126b1906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b6126bb9190614ab5565b9150505b612190856020015183836140f8565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561271b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273f9190614b1f565b136127a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f5052494345000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fa057828181518110612841576128416148c6565b6020026020010151602001516000036128ef576001600084838151811061286a5761286a6148c6565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120888516825282528281209389168152600190930190529020546128e8906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614924565b91506129ae565b60016000848381518110612905576129056148c6565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff16906129979087908790879086908110610bb957610bb96148c6565b6129a19190614924565b6129ab9083614924565b91505b806129b881614937565b915050612826565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612a3c575086155b80612a4657504281145b80612a515750828110155b15612a65578384955095505050505061107c565b6000834211612a745742612a76565b835b90506000612a848383614b53565b905060006b033b2e3c9fd0803ce8000000612a9f8387614a9e565b612aa99190614a9e565b8a9004905086612ab98183614924565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612b48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f000000000000000060448201526064016106f0565b6001813b151514612bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e54524143540000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e385760016000838381518110612c5357612c536148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612d2d576004828281518110612cc857612cc86148c6565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612d3f57612d3f6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db99190614b8a565b60016000848481518110612dcf57612dcf6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff160217905550600060016000848481518110612e4857612e486148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000848481518110612ea557612ea56148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff1660000361311f57828281518110612f2157612f216148c6565b60200260200101516080015160016000858581518110612f4357612f436148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600060016000878781518110612fa457612fa46148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000848481518110613090576130906148c6565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916130e783614af0565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b60026000848481518110613135576131356148c6565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff16151590036132655760016002600085858151811061318f5761318f6148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506003838381518110613200576132006148c6565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b600061328e8285858151811061327d5761327d6148c6565b602002602001015160200151613bad565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106132ef576132ef6148c6565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff9091161784558551869086908110613357576133576148c6565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106133c6576133c66148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106133fa576133fa6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc584898981518110613450576134506148c6565b602002602001015160000151858b8b8151811061346f5761346f6148c6565b602002602001015160400151896040516134c39594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806134da90614937565b915050612c34565b60035460609081908067ffffffffffffffff811115613503576135036145bd565b60405190808252806020026020018201604052801561352c578160200160208202803683370190505b5092508067ffffffffffffffff811115613548576135486145bd565b604051908082528060200260200182016040528015613571578160200160208202803683370190505b50915061358385611f278a8a89612352565b60005b878110156138915760008989838181106135a2576135a26148c6565b90506020020160208101906135b791906142d1565b905060005b8381101561387c57600073ffffffffffffffffffffffffffffffffffffffff168682815181106135ee576135ee6148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361369c5760038181548110613624576136246148c6565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868281518110613661576136616148c6565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106136d7576136d76148c6565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613869578086838151811061375b5761375b6148c6565b6020026020010181815161376f9190614924565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a90869081106137ad576137ad6148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b508061387481614937565b9150506135bc565b5050808061388990614937565b915050613586565b5060005b818110156139bd576138da858583815181106138b3576138b36148c6565b60200260200101518584815181106138cd576138cd6148c6565b6020026020010151613db9565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613903576139036148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a87868151811061396c5761396c6148c6565b60200260200101516040516139a392919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a4806139b581614937565b915050613895565b50509550959350505050565b60005b600454811015611280576000600482815481106139eb576139eb6148c6565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600190915260408220909250905b60028201546fffffffffffffffffffffffffffffffff9081169082161015613b97576fffffffffffffffffffffffffffffffff8116600090815260018301602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1683529084905290206002810154158015613aa8575080546cffffffffffffffffffffffffff1615155b15613b32576002830154613ad490700100000000000000000000000000000000900460ff16600a614a8f565b8154613afc906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b613b069190614ab5565b600282015580547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681555b613b81818573ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2a573d6000803e3d6000fd5b5050508080613b8f90614af0565b915050613a20565b5050508080613ba590614937565b9150506139cc565b600080600080613bbd86866129c0565b915091506000828214613c2f5750600286018190556001613bdd42614127565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c86565b613c3842614127565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561071e57613d01828281518110613cb357613cb36148c6565b60200260200101516000015184848481518110613cd257613cd26148c6565b602002602001015160200151858581518110613cf057613cf06148c6565b60200260200101516040015161219b565b80613d0b81614937565b915050613c95565b60006fffffffffffffffffffffffffffffffff821115613db5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016106f0565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e709190614bad565b9050600181151514613ede576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f5200000000000000000000000000000000000060448201526064016106f0565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f54575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b156140035773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613fa9906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b613fb39190614ab5565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260018a016020526040902080547fffffffffffffffffffffffffffffffffffffff0000000000000000000000000016905590505b60008186148015906140e95773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140e95761404d8888856140f8565b915061405882613d13565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140b29084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614bcf565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141058385614b53565b61410f9086614a9e565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613db5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016106f0565b73ffffffffffffffffffffffffffffffffffffffff8116811461128057600080fd5b600080604083850312156141f257600080fd5b82356141fd816141bd565b9150602083013561420d816141bd565b809150509250929050565b60008083601f84011261422a57600080fd5b50813567ffffffffffffffff81111561424257600080fd5b6020830191508360208260051b850101111561107c57600080fd5b60008060008060006080868803121561427557600080fd5b853567ffffffffffffffff81111561428c57600080fd5b61429888828901614218565b9096509450506020860135925060408601356142b3816141bd565b915060608601356142c3816141bd565b809150509295509295909350565b6000602082840312156142e357600080fd5b81356142ee816141bd565b9392505050565b60008060006060848603121561430a57600080fd5b8335614315816141bd565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434357600080fd5b863567ffffffffffffffff81111561435a57600080fd5b61436689828a01614218565b909750955050602087013593506040870135614381816141bd565b92506060870135614391816141bd565b915060808701356143a1816141bd565b809150509295509295509295565b6000806000604084860312156143c457600080fd5b833567ffffffffffffffff8111156143db57600080fd5b6143e786828701614218565b90945092505060208401356143fb816141bd565b809150509250925092565b600081518084526020808501945080840160005b8381101561444c57815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010161441a565b509495945050505050565b60408152600061446a6040830185614406565b82810360208481019190915284518083528582019282019060005b818110156144a157845183529383019391830191600101614485565b5090979650505050505050565b6000806000606084860312156144c357600080fd5b83356144ce816141bd565b925060208401356144de816141bd565b915060408401356143fb816141bd565b6000806000806060858703121561450457600080fd5b843567ffffffffffffffff81111561451b57600080fd5b61452787828801614218565b909550935050602085013591506040850135614542816141bd565b939692955090935050565b6020815260006142ee6020830184614406565b6000806000806060858703121561457657600080fd5b843567ffffffffffffffff81111561458d57600080fd5b61459987828801614218565b90955093505060208501356145ad816141bd565b91506040850135614542816141bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561460f5761460f6145bd565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561465c5761465c6145bd565b604052919050565b80356affffffffffffffffffffff8116811461467f57600080fd5b919050565b803563ffffffff8116811461467f57600080fd5b600060208083850312156146ab57600080fd5b823567ffffffffffffffff808211156146c357600080fd5b818501915085601f8301126146d757600080fd5b8135818111156146e9576146e96145bd565b6146f7848260051b01614615565b818152848101925060e091820284018501918883111561471657600080fd5b938501935b828510156147ba5780858a0312156147335760008081fd5b61473b6145ec565b61474486614664565b81528686013587820152604061475b818801614684565b9082015260608681013561476e816141bd565b90820152608086810135614781816141bd565b9082015260a086810135614794816141bd565b9082015260c0868101356147a7816141bd565b908201528452938401939285019261471b565b50979650505050505050565b600080602083850312156147d957600080fd5b823567ffffffffffffffff8111156147f057600080fd5b613c8685828601614218565b60008060006060848603121561481157600080fd5b833561481c816141bd565b9250602084013561482c816141bd565b915061483a60408501614684565b90509250925092565b60008060008060006060868803121561485b57600080fd5b8535614866816141bd565b9450602086013567ffffffffffffffff8082111561488357600080fd5b61488f89838a01614218565b909650945060408801359150808211156148a857600080fd5b506148b588828901614218565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561066f5761066f6148f5565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614968576149686148f5565b5060010190565b600181815b808511156149c857817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156149ae576149ae6148f5565b808516156149bb57918102915b93841c9390800290614974565b509250929050565b6000826149df5750600161066f565b816149ec5750600061066f565b8160018114614a025760028114614a0c57614a28565b600191505061066f565b60ff841115614a1d57614a1d6148f5565b50506001821b61066f565b5060208310610133831016604e8410600b8410161715614a4b575081810a61066f565b614a55838361496f565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a8757614a876148f5565b029392505050565b60006142ee60ff8416836149d0565b808202811582820484141761066f5761066f6148f5565b600082614aeb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b1557614b156148f5565b6001019392505050565b600060208284031215614b3157600080fd5b5051919050565b600060208284031215614b4a57600080fd5b6142ee82614664565b8181038181111561066f5761066f6148f5565b60008060408385031215614b7957600080fd5b505080516020909101519092909150565b600060208284031215614b9c57600080fd5b815160ff811681146142ee57600080fd5b600060208284031215614bbf57600080fd5b815180151581146142ee57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614bf857614bf86148f5565b509291505056fea2646970667358221220ac88f414dbc92c49de3d37268a281369496d507f5ddc70490a1ed1a5307dfa6b64736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2ba", - "chainId": "0x2105" + "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004d7a38038062004d7a83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614cb0620000ca600039600081816104d0015281816105fb01528181610df0015281816110e4015281816117c901528181611ad901528181611b820152611c9d0152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806392074b081161010f578063c4d66de8116100a2578063dde43cba11610071578063dde43cba1461061d578063e15ac62314610625578063f5cf673b14610638578063f996868b1461064b57600080fd5b8063c4d66de8146105bd578063c5a7b538146105d0578063ca2d94f8146105e3578063cbcbb507146105f657600080fd5b8063b022418c116100de578063b022418c1461057c578063b45ac1a91461058f578063bb492bf514610597578063bf90f63a146105aa57600080fd5b806392074b08146104ce578063955c2ad7146104f45780639efd6f72146105075780639ff55db91461056957600080fd5b806357b898831161018757806374d945ec1161015657806374d945ec1461037a5780637eff4ba8146103b3578063886fe70b146104865780639085c503146104ae57600080fd5b806357b89883146102fb5780635f130b241461030e5780636657732f1461034757806370674ab91461036757600080fd5b806333028b99116101c357806333028b99146102a15780634c0369c3146102b4578063533f542a146102d55780635453ba10146102e857600080fd5b80631b839c77146101f5578063236300dc1461021b5780632a17bf601461022e57806331873e2e1461028c575b600080fd5b6102086102033660046141eb565b61065e565b6040519081526020015b60405180910390f35b610208610229366004614269565b6106be565b61026761023c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610212565b61029f61029a366004614301565b61075b565b005b6102086102af366004614336565b61076c565b6102c76102c23660046143bb565b610918565b604051610212929190614463565b6102086102e33660046144ba565b610c68565b61029f6102f63660046141eb565b610dd8565b6102086103093660046144fa565b610e85565b61026761031c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61035a6103553660046142dd565b610e9f565b6040516102129190614559565b61020861037536600461456c565b610ff1565b6102676103883660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104666103c13660046141eb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610212565b6104996104943660046141eb565b611008565b60408051928352602083019190915201610212565b603c546102679073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b61029f6105023660046146a4565b6110cc565b6105576105153660046142dd565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610212565b6102c761057736600461456c565b6112cc565b61020861058a3660046141eb565b61147b565b61035a611534565b6102c76105a53660046143bb565b6115a3565b6102c76105b83660046147d2565b61163c565b61029f6105cb3660046142dd565b611657565b61029f6105de366004614808565b6117b1565b61029f6105f136600461484f565b611956565b6102677f000000000000000000000000000000000000000000000000000000000000000081565b610208600381565b61029f6106333660046141eb565b611ac1565b61029f6106463660046141eb565b611b6a565b61029f6106593660046148be565b611c85565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b610751868686333388886120ee565b9695505050505050565b61076733848385612385565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff861661087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85166108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61090b898989338a8a8a6120ee565b9998505050505050505050565b606080600061092886868661253c565b60035490915067ffffffffffffffff811115610946576109466145c9565b60405190808252806020026020018201604052801561096f578160200160208202803683370190505b509250825167ffffffffffffffff81111561098c5761098c6145c9565b6040519080825280602002602001820160405280156109b5578160200160208202803683370190505b50915060005b8151811015610c5e5760005b8451811015610c4b57600381815481106109e3576109e3614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858281518110610a2057610a20614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a7057610a70614941565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610acd57610acd614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b9357610b93614941565b60200260200101818151610ba7919061499f565b9052508251839083908110610bbe57610bbe614941565b60200260200101516020015160000315610c3957610c0f86868381518110610be857610be8614941565b6020026020010151858581518110610c0257610c02614941565b602002602001015161273a565b848281518110610c2157610c21614941565b60200260200101818151610c35919061499f565b9052505b80610c43816149b2565b9150506109c7565b5080610c56816149b2565b9150506109bb565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610d07575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610dd05773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d5790700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610dc2906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b610dcc9190614b30565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e8182826128b8565b5050565b6000610e96858585333333886120ee565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610ef957610ef96145c9565b604051908082528060200260200182016040528015610f22578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fe95773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610fb257610fb2614941565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610fe181614b6b565b915050610f28565b509392505050565b6000610e96838361100388888861253c565b612a0c565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110bf9385939263b1bf962d92600480830193928290030181865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190614b9a565b612baa565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b60005b81518110156112bf5781818151811061118957611189614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190614b9a565b82828151811061121557611215614941565b6020026020010151602001818152505061126982828151811061123a5761123a614941565b60200260200101516080015183838151811061125857611258614941565b602002602001015160a00151612cb5565b6112ad82828151811061127e5761127e614941565b60200260200101516080015183838151811061129c5761129c614941565b602002602001015160c001516128b8565b806112b7816149b2565b91505061116e565b506112c981612e1b565b50565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260396020526040902054606091829133918691168214611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff86166113e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff851661145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61146c88883389896136cc565b93509350505094509492505050565b60008060005b600454811015610fe95760016000600483815481106114a2576114a2614941565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611520906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b91508061152c816149b2565b915050611481565b6060600380548060200260200160405190810160405280929190818152602001828054801561159957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161156e575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61163085853333876136cc565b91509150935093915050565b60608061164c84843333336136cc565b915091509250929050565b60065460039060ff168061166a5750303b155b80611676575060055481115b611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a65640000000000000000000000000000000000006064820152608401610739565b60065460ff1615801561174057600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a22179055801561076757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b603c5473ffffffffffffffffffffffffffffffffffffffff1633146119d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e0000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85811660008181526001602081815260408084208a8716808652908352818520968a1680865287850184529482902093840189905583547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff166d01000000000000000000000000006fffffffffffffffffffffffffffffffff8a16908102919091179094556002870154825190815292830189905290820192909252919290917f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe89060600160405180910390a4505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e818282612cb5565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b828114611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e505554000000000000000000000000000000000000006044820152606401610739565b60005b838110156120e65773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611dd257611dd2614941565b9050602002016020810190611de791906142dd565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611e5d575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f455849535400000000006044820152606401610739565b6000611f3d838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f389190614b9a565b613bb3565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611f7357611f73614941565b9050602002016020810190611f889190614bb3565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611fe357611fe3614941565b9050602002016020810190611ff891906142dd565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b81811061205957612059614941565b905060200201602081019061206e9190614bb3565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a3505050505080806120de906149b2565b915050611d90565b505050505050565b6000856000036121005750600061237a565b6000612116856121118b8b8961253c565b613c98565b60005b888110156122fd5760008a8a8381811061213557612135614941565b905060200201602081019061214a91906142dd565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d16845293909101905220549091506121ba906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168461499f565b925088831161222d5773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff1690556122ea565b60006122398a85614bce565b90506122458185614bce565b935061225081613d19565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff90931692909217909155506122fd565b50806122f5816149b2565b915050612119565b508060000361231057600091505061237a565b61231b848483613dbf565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff909116908190036123ec575050612536565b60005b81816fffffffffffffffffffffffffffffffff1610156125325773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806124688389613bb3565b9150915060008061247c858d8d878d613eeb565b9150915082806124895750805b15612520578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612517939291909283526020830191909152604082015260600190565b60405180910390a45b5050600190940193506123ef92505050565b5050505b50505050565b60608267ffffffffffffffff811115612557576125576145c9565b6040519080825280602002602001820160405280156125c257816020015b6125af6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001906001900390816125755790505b50905060005b83811015610fe9578484828181106125e2576125e2614941565b90506020020160208101906125f791906142dd565b82828151811061260957612609614941565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff909116905284848281811061264057612640614941565b905060200201602081019061265591906142dd565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190614be1565b8383815181106126f8576126f8614941565b602002602001015160200184848151811061271557612715614941565b6020908102919091010151604001919091525280612732816149b2565b9150506125c8565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612784908390612baa565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808601602052604090912001549092509050801580156127f7575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156128a957845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461284890700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600186016020526040902054909150819061289b906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b6128a59190614b30565b9150505b61237a85602001518383614104565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129299190614b9a565b13612990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f505249434500000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fe957828181518110612a2b57612a2b614941565b602002602001015160200151600003612ad95760016000848381518110612a5457612a54614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054612ad2906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b9150612b98565b60016000848381518110612aef57612aef614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff1690612b819087908790879086908110610c0257610c02614941565b612b8b919061499f565b612b95908361499f565b91505b80612ba2816149b2565b915050612a10565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612c26575086155b80612c3057504281145b80612c3b5750828110155b15612c4f57838495509550505050506110c5565b6000834211612c5e5742612c60565b835b90506000612c6e8383614bce565b905060006b033b2e3c9fd0803ce8000000612c898387614b19565b612c939190614b19565b8a9004905086612ca3818361499f565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f00000000000000006044820152606401610739565b6001813b151514612d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e5452414354000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e815760016000838381518110612e3d57612e3d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612f17576004828281518110612eb257612eb2614941565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612f2957612f29614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa39190614c05565b60016000848481518110612fb957612fb9614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061303257613032614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600084848151811061308f5761308f614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff166000036133095782828151811061310b5761310b614941565b6020026020010151608001516001600085858151811061312d5761312d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006001600087878151811061318e5761318e614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600084848151811061327a5761327a614941565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916132d183614b6b565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061331f5761331f614941565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff161515900361344f5760016002600085858151811061337957613379614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038383815181106133ea576133ea614941565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006134788285858151811061346757613467614941565b602002602001015160200151613bb3565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106134d9576134d9614941565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455855186908690811061354157613541614941565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106135b0576135b0614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106135e4576135e4614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc58489898151811061363a5761363a614941565b602002602001015160000151858b8b8151811061365957613659614941565b602002602001015160400151896040516136ad9594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806136c4906149b2565b915050612e1e565b60035460609081908067ffffffffffffffff8111156136ed576136ed6145c9565b604051908082528060200260200182016040528015613716578160200160208202803683370190505b5092508067ffffffffffffffff811115613732576137326145c9565b60405190808252806020026020018201604052801561375b578160200160208202803683370190505b50915061376d856121118a8a8961253c565b60005b87811015613a7b57600089898381811061378c5761378c614941565b90506020020160208101906137a191906142dd565b905060005b83811015613a6657600073ffffffffffffffffffffffffffffffffffffffff168682815181106137d8576137d8614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613886576003818154811061380e5761380e614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686828151811061384b5761384b614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106138c1576138c1614941565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613a53578086838151811061394557613945614941565b60200260200101818151613959919061499f565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a908690811061399757613997614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613a5e816149b2565b9150506137a6565b50508080613a73906149b2565b915050613770565b5060005b81811015613ba757613ac485858381518110613a9d57613a9d614941565b6020026020010151858481518110613ab757613ab7614941565b6020026020010151613dbf565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613aed57613aed614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a878681518110613b5657613b56614941565b6020026020010151604051613b8d92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a480613b9f816149b2565b915050613a7f565b50509550959350505050565b600080600080613bc38686612baa565b915091506000828214613c355750600286018190556001613be342614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c8c565b613c3e42614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561076757613d07828281518110613cb957613cb9614941565b60200260200101516000015184848481518110613cd857613cd8614941565b602002602001015160200151858581518110613cf657613cf6614941565b602002602001015160400151612385565b80613d11816149b2565b915050613c9b565b60006fffffffffffffffffffffffffffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610739565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e769190614c28565b9050600181151514613ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f520000000000000000000000000000000000006044820152606401610739565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f5a575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b1561400f5773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613faf906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b613fb99190614b30565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b60008186148015906140f55773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140f557614059888885614104565b915061406482613d19565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140be9084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614c4a565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141118385614bce565b61411b9086614b19565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610739565b73ffffffffffffffffffffffffffffffffffffffff811681146112c957600080fd5b600080604083850312156141fe57600080fd5b8235614209816141c9565b91506020830135614219816141c9565b809150509250929050565b60008083601f84011261423657600080fd5b50813567ffffffffffffffff81111561424e57600080fd5b6020830191508360208260051b85010111156110c557600080fd5b60008060008060006080868803121561428157600080fd5b853567ffffffffffffffff81111561429857600080fd5b6142a488828901614224565b9096509450506020860135925060408601356142bf816141c9565b915060608601356142cf816141c9565b809150509295509295909350565b6000602082840312156142ef57600080fd5b81356142fa816141c9565b9392505050565b60008060006060848603121561431657600080fd5b8335614321816141c9565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434f57600080fd5b863567ffffffffffffffff81111561436657600080fd5b61437289828a01614224565b90975095505060208701359350604087013561438d816141c9565b9250606087013561439d816141c9565b915060808701356143ad816141c9565b809150509295509295509295565b6000806000604084860312156143d057600080fd5b833567ffffffffffffffff8111156143e757600080fd5b6143f386828701614224565b9094509250506020840135614407816141c9565b809150509250925092565b600081518084526020808501945080840160005b8381101561445857815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614426565b509495945050505050565b6040815260006144766040830185614412565b82810360208481019190915284518083528582019282019060005b818110156144ad57845183529383019391830191600101614491565b5090979650505050505050565b6000806000606084860312156144cf57600080fd5b83356144da816141c9565b925060208401356144ea816141c9565b91506040840135614407816141c9565b6000806000806060858703121561451057600080fd5b843567ffffffffffffffff81111561452757600080fd5b61453387828801614224565b90955093505060208501359150604085013561454e816141c9565b939692955090935050565b6020815260006142fa6020830184614412565b6000806000806060858703121561458257600080fd5b843567ffffffffffffffff81111561459957600080fd5b6145a587828801614224565b90955093505060208501356145b9816141c9565b9150604085013561454e816141c9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561461b5761461b6145c9565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614668576146686145c9565b604052919050565b80356affffffffffffffffffffff8116811461468b57600080fd5b919050565b803563ffffffff8116811461468b57600080fd5b600060208083850312156146b757600080fd5b823567ffffffffffffffff808211156146cf57600080fd5b818501915085601f8301126146e357600080fd5b8135818111156146f5576146f56145c9565b614703848260051b01614621565b818152848101925060e091820284018501918883111561472257600080fd5b938501935b828510156147c65780858a03121561473f5760008081fd5b6147476145f8565b61475086614670565b815286860135878201526040614767818801614690565b9082015260608681013561477a816141c9565b9082015260808681013561478d816141c9565b9082015260a0868101356147a0816141c9565b9082015260c0868101356147b3816141c9565b9082015284529384019392850192614727565b50979650505050505050565b600080602083850312156147e557600080fd5b823567ffffffffffffffff8111156147fc57600080fd5b613c8c85828601614224565b60008060006060848603121561481d57600080fd5b8335614828816141c9565b92506020840135614838816141c9565b915061484660408501614690565b90509250925092565b600080600080600060a0868803121561486757600080fd5b8535614872816141c9565b94506020860135614882816141c9565b93506040860135614892816141c9565b92506060860135915060808601356fffffffffffffffffffffffffffffffff811681146142cf57600080fd5b6000806000806000606086880312156148d657600080fd5b85356148e1816141c9565b9450602086013567ffffffffffffffff808211156148fe57600080fd5b61490a89838a01614224565b9096509450604088013591508082111561492357600080fd5b5061493088828901614224565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106b8576106b8614970565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149e3576149e3614970565b5060010190565b600181815b80851115614a4357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a2957614a29614970565b80851615614a3657918102915b93841c93908002906149ef565b509250929050565b600082614a5a575060016106b8565b81614a67575060006106b8565b8160018114614a7d5760028114614a8757614aa3565b60019150506106b8565b60ff841115614a9857614a98614970565b50506001821b6106b8565b5060208310610133831016604e8410600b8410161715614ac6575081810a6106b8565b614ad083836149ea565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614b0257614b02614970565b029392505050565b60006142fa60ff841683614a4b565b80820281158282048414176106b8576106b8614970565b600082614b66577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b9057614b90614970565b6001019392505050565b600060208284031215614bac57600080fd5b5051919050565b600060208284031215614bc557600080fd5b6142fa82614670565b818103818111156106b8576106b8614970565b60008060408385031215614bf457600080fd5b505080516020909101519092909150565b600060208284031215614c1757600080fd5b815160ff811681146142fa57600080fd5b600060208284031215614c3a57600080fd5b815180151581146142fa57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614c7357614c73614970565b509291505056fea2646970667358221220aa74be29a67492a844dd5846f4b36fbcaa6ce4b825496bc280ea1d9f1ae0392464736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2db", + "chainId": "0x2105", + "accessList": null, + "type": null }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xe9de15aaa5666456303269c9252db99b067a47bcd4fb91e49b7bc97a94141765", + "hash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", "transactionType": "CALL", "contractName": "RewardsController", - "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", "function": "initialize(address)", "arguments": [ "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" ], "transaction": { "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", - "gas": "0x13a8a", + "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "gas": "0x17f25", "value": "0x0", "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2bb", - "chainId": "0x2105" + "nonce": "0x2dc", + "chainId": "0x2105", + "accessList": null, + "type": null }, "additionalContracts": [], "isFixedGasLimit": false @@ -45,49 +50,47 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x922f3c", + "cumulativeGasUsed": "0xb3969e", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x428c8e3aa388238d70f6604d6ec28af4b1efbc72b1c747d89f56c3feb76e1c06", - "transactionIndex": "0x18", - "blockHash": "0x7c8db8b0acdc44df69f0579131a00c4d12f0b70f5b11920fd835a81aeaff9f90", - "blockNumber": "0xdcb5fd", - "gasUsed": "0x40d3d4", - "effectiveGasPrice": "0x34ee7cb", - "blobGasUsed": "0x0", + "transactionHash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", + "transactionIndex": "0x21", + "blockHash": "0x675dbaa5be973816fd5ba7eb7bcbf8fa216fbc175992a5099fc4c42581a1e5ff", + "blockNumber": "0xe726d5", + "gasUsed": "0x41399e", + "effectiveGasPrice": "0x11c65ea", "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", "to": null, - "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", - "l1Fee": "0x1ce1c341fef", - "l1GasPrice": "0x1764cb6d9", - "l1GasUsed": "0x46158" + "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "l1Fee": "0x5682376595b", + "l1GasPrice": "0x45baabba4", + "l1GasUsed": "0x466d4" }, { "status": "0x1", - "cumulativeGasUsed": "0x626fca", + "cumulativeGasUsed": "0x628220", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xe9de15aaa5666456303269c9252db99b067a47bcd4fb91e49b7bc97a94141765", - "transactionIndex": "0x14", - "blockHash": "0x8ac86acbe379cabd7e9305c7648f3a19396ff568cc9bfbeb955262bcf71daeab", - "blockNumber": "0xdcb601", - "gasUsed": "0xd712", - "effectiveGasPrice": "0x34bad71", - "blobGasUsed": "0x0", + "transactionHash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", + "transactionIndex": "0x26", + "blockHash": "0x74e9a7c62c47e70b18c0f303b7f7cef35cf37a9ff88f092240c3e129afab897a", + "blockNumber": "0xe726d9", + "gasUsed": "0x11564", + "effectiveGasPrice": "0x11c6a54", "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", "contractAddress": null, - "l1Fee": "0x37721e5cf", - "l1GasPrice": "0x167b5e2e6", + "l1Fee": "0xb1da33a32", + "l1GasPrice": "0x481d62173", "l1GasUsed": "0x8c0" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1715718394, + "timestamp": 1717086890, "chain": 8453, - "commit": "07aca23" + "commit": "9db0798" } \ No newline at end of file diff --git a/lib/seamless-aave-v3-periphery b/lib/seamless-aave-v3-periphery index e74a34b..6814e3f 160000 --- a/lib/seamless-aave-v3-periphery +++ b/lib/seamless-aave-v3-periphery @@ -1 +1 @@ -Subproject commit e74a34bea56b1894ed38417402e6cf166874836e +Subproject commit 6814e3f47a138e610ddb65d1907c8c9eec355b31 From 3a53dfb1668953d1c47b6e205a68235e3c6aff57 Mon Sep 17 00:00:00 2001 From: kitanovicd Date: Thu, 30 May 2024 19:55:21 +0200 Subject: [PATCH 2/3] Revert "feat: rewards controller deployment" This reverts commit 813039c9d2782efce23a7d0e3576f8136f0edb78. --- .../8453/run-1717086645.json | 57 ----------- .../8453/run-1717086890.json | 96 ------------------- .../8453/run-latest.json | 77 +++++++-------- lib/seamless-aave-v3-periphery | 2 +- 4 files changed, 38 insertions(+), 194 deletions(-) delete mode 100644 broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json delete mode 100644 broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json b/broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json deleted file mode 100644 index daab381..0000000 --- a/broadcast/DeployRewardsController.s.sol/8453/run-1717086645.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "transactions": [ - { - "hash": null, - "transactionType": "CREATE", - "contractName": "RewardsController", - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "function": null, - "arguments": [ - "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" - ], - "transaction": { - "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": null, - "gas": "0x54c498", - "value": "0x0", - "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004d7a38038062004d7a83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614cb0620000ca600039600081816104d0015281816105fb01528181610df0015281816110e4015281816117c901528181611ad901528181611b820152611c9d0152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806392074b081161010f578063c4d66de8116100a2578063dde43cba11610071578063dde43cba1461061d578063e15ac62314610625578063f5cf673b14610638578063f996868b1461064b57600080fd5b8063c4d66de8146105bd578063c5a7b538146105d0578063ca2d94f8146105e3578063cbcbb507146105f657600080fd5b8063b022418c116100de578063b022418c1461057c578063b45ac1a91461058f578063bb492bf514610597578063bf90f63a146105aa57600080fd5b806392074b08146104ce578063955c2ad7146104f45780639efd6f72146105075780639ff55db91461056957600080fd5b806357b898831161018757806374d945ec1161015657806374d945ec1461037a5780637eff4ba8146103b3578063886fe70b146104865780639085c503146104ae57600080fd5b806357b89883146102fb5780635f130b241461030e5780636657732f1461034757806370674ab91461036757600080fd5b806333028b99116101c357806333028b99146102a15780634c0369c3146102b4578063533f542a146102d55780635453ba10146102e857600080fd5b80631b839c77146101f5578063236300dc1461021b5780632a17bf601461022e57806331873e2e1461028c575b600080fd5b6102086102033660046141eb565b61065e565b6040519081526020015b60405180910390f35b610208610229366004614269565b6106be565b61026761023c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610212565b61029f61029a366004614301565b61075b565b005b6102086102af366004614336565b61076c565b6102c76102c23660046143bb565b610918565b604051610212929190614463565b6102086102e33660046144ba565b610c68565b61029f6102f63660046141eb565b610dd8565b6102086103093660046144fa565b610e85565b61026761031c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61035a6103553660046142dd565b610e9f565b6040516102129190614559565b61020861037536600461456c565b610ff1565b6102676103883660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104666103c13660046141eb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610212565b6104996104943660046141eb565b611008565b60408051928352602083019190915201610212565b603c546102679073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b61029f6105023660046146a4565b6110cc565b6105576105153660046142dd565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610212565b6102c761057736600461456c565b6112cc565b61020861058a3660046141eb565b61147b565b61035a611534565b6102c76105a53660046143bb565b6115a3565b6102c76105b83660046147d2565b61163c565b61029f6105cb3660046142dd565b611657565b61029f6105de366004614808565b6117b1565b61029f6105f136600461484f565b611956565b6102677f000000000000000000000000000000000000000000000000000000000000000081565b610208600381565b61029f6106333660046141eb565b611ac1565b61029f6106463660046141eb565b611b6a565b61029f6106593660046148be565b611c85565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b610751868686333388886120ee565b9695505050505050565b61076733848385612385565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff861661087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85166108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61090b898989338a8a8a6120ee565b9998505050505050505050565b606080600061092886868661253c565b60035490915067ffffffffffffffff811115610946576109466145c9565b60405190808252806020026020018201604052801561096f578160200160208202803683370190505b509250825167ffffffffffffffff81111561098c5761098c6145c9565b6040519080825280602002602001820160405280156109b5578160200160208202803683370190505b50915060005b8151811015610c5e5760005b8451811015610c4b57600381815481106109e3576109e3614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858281518110610a2057610a20614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a7057610a70614941565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610acd57610acd614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b9357610b93614941565b60200260200101818151610ba7919061499f565b9052508251839083908110610bbe57610bbe614941565b60200260200101516020015160000315610c3957610c0f86868381518110610be857610be8614941565b6020026020010151858581518110610c0257610c02614941565b602002602001015161273a565b848281518110610c2157610c21614941565b60200260200101818151610c35919061499f565b9052505b80610c43816149b2565b9150506109c7565b5080610c56816149b2565b9150506109bb565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610d07575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610dd05773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d5790700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610dc2906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b610dcc9190614b30565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e8182826128b8565b5050565b6000610e96858585333333886120ee565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610ef957610ef96145c9565b604051908082528060200260200182016040528015610f22578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fe95773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610fb257610fb2614941565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610fe181614b6b565b915050610f28565b509392505050565b6000610e96838361100388888861253c565b612a0c565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110bf9385939263b1bf962d92600480830193928290030181865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190614b9a565b612baa565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b60005b81518110156112bf5781818151811061118957611189614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190614b9a565b82828151811061121557611215614941565b6020026020010151602001818152505061126982828151811061123a5761123a614941565b60200260200101516080015183838151811061125857611258614941565b602002602001015160a00151612cb5565b6112ad82828151811061127e5761127e614941565b60200260200101516080015183838151811061129c5761129c614941565b602002602001015160c001516128b8565b806112b7816149b2565b91505061116e565b506112c981612e1b565b50565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260396020526040902054606091829133918691168214611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff86166113e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff851661145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61146c88883389896136cc565b93509350505094509492505050565b60008060005b600454811015610fe95760016000600483815481106114a2576114a2614941565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611520906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b91508061152c816149b2565b915050611481565b6060600380548060200260200160405190810160405280929190818152602001828054801561159957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161156e575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61163085853333876136cc565b91509150935093915050565b60608061164c84843333336136cc565b915091509250929050565b60065460039060ff168061166a5750303b155b80611676575060055481115b611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a65640000000000000000000000000000000000006064820152608401610739565b60065460ff1615801561174057600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a22179055801561076757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b603c5473ffffffffffffffffffffffffffffffffffffffff1633146119d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e0000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85811660008181526001602081815260408084208a8716808652908352818520968a1680865287850184529482902093840189905583547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff166d01000000000000000000000000006fffffffffffffffffffffffffffffffff8a16908102919091179094556002870154825190815292830189905290820192909252919290917f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe89060600160405180910390a4505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e818282612cb5565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b828114611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e505554000000000000000000000000000000000000006044820152606401610739565b60005b838110156120e65773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611dd257611dd2614941565b9050602002016020810190611de791906142dd565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611e5d575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f455849535400000000006044820152606401610739565b6000611f3d838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f389190614b9a565b613bb3565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611f7357611f73614941565b9050602002016020810190611f889190614bb3565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611fe357611fe3614941565b9050602002016020810190611ff891906142dd565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b81811061205957612059614941565b905060200201602081019061206e9190614bb3565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a3505050505080806120de906149b2565b915050611d90565b505050505050565b6000856000036121005750600061237a565b6000612116856121118b8b8961253c565b613c98565b60005b888110156122fd5760008a8a8381811061213557612135614941565b905060200201602081019061214a91906142dd565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d16845293909101905220549091506121ba906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168461499f565b925088831161222d5773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff1690556122ea565b60006122398a85614bce565b90506122458185614bce565b935061225081613d19565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff90931692909217909155506122fd565b50806122f5816149b2565b915050612119565b508060000361231057600091505061237a565b61231b848483613dbf565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff909116908190036123ec575050612536565b60005b81816fffffffffffffffffffffffffffffffff1610156125325773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806124688389613bb3565b9150915060008061247c858d8d878d613eeb565b9150915082806124895750805b15612520578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612517939291909283526020830191909152604082015260600190565b60405180910390a45b5050600190940193506123ef92505050565b5050505b50505050565b60608267ffffffffffffffff811115612557576125576145c9565b6040519080825280602002602001820160405280156125c257816020015b6125af6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001906001900390816125755790505b50905060005b83811015610fe9578484828181106125e2576125e2614941565b90506020020160208101906125f791906142dd565b82828151811061260957612609614941565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff909116905284848281811061264057612640614941565b905060200201602081019061265591906142dd565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190614be1565b8383815181106126f8576126f8614941565b602002602001015160200184848151811061271557612715614941565b6020908102919091010151604001919091525280612732816149b2565b9150506125c8565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612784908390612baa565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808601602052604090912001549092509050801580156127f7575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156128a957845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461284890700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600186016020526040902054909150819061289b906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b6128a59190614b30565b9150505b61237a85602001518383614104565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129299190614b9a565b13612990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f505249434500000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fe957828181518110612a2b57612a2b614941565b602002602001015160200151600003612ad95760016000848381518110612a5457612a54614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054612ad2906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b9150612b98565b60016000848381518110612aef57612aef614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff1690612b819087908790879086908110610c0257610c02614941565b612b8b919061499f565b612b95908361499f565b91505b80612ba2816149b2565b915050612a10565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612c26575086155b80612c3057504281145b80612c3b5750828110155b15612c4f57838495509550505050506110c5565b6000834211612c5e5742612c60565b835b90506000612c6e8383614bce565b905060006b033b2e3c9fd0803ce8000000612c898387614b19565b612c939190614b19565b8a9004905086612ca3818361499f565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f00000000000000006044820152606401610739565b6001813b151514612d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e5452414354000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e815760016000838381518110612e3d57612e3d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612f17576004828281518110612eb257612eb2614941565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612f2957612f29614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa39190614c05565b60016000848481518110612fb957612fb9614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061303257613032614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600084848151811061308f5761308f614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff166000036133095782828151811061310b5761310b614941565b6020026020010151608001516001600085858151811061312d5761312d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006001600087878151811061318e5761318e614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600084848151811061327a5761327a614941565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916132d183614b6b565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061331f5761331f614941565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff161515900361344f5760016002600085858151811061337957613379614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038383815181106133ea576133ea614941565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006134788285858151811061346757613467614941565b602002602001015160200151613bb3565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106134d9576134d9614941565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455855186908690811061354157613541614941565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106135b0576135b0614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106135e4576135e4614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc58489898151811061363a5761363a614941565b602002602001015160000151858b8b8151811061365957613659614941565b602002602001015160400151896040516136ad9594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806136c4906149b2565b915050612e1e565b60035460609081908067ffffffffffffffff8111156136ed576136ed6145c9565b604051908082528060200260200182016040528015613716578160200160208202803683370190505b5092508067ffffffffffffffff811115613732576137326145c9565b60405190808252806020026020018201604052801561375b578160200160208202803683370190505b50915061376d856121118a8a8961253c565b60005b87811015613a7b57600089898381811061378c5761378c614941565b90506020020160208101906137a191906142dd565b905060005b83811015613a6657600073ffffffffffffffffffffffffffffffffffffffff168682815181106137d8576137d8614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613886576003818154811061380e5761380e614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686828151811061384b5761384b614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106138c1576138c1614941565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613a53578086838151811061394557613945614941565b60200260200101818151613959919061499f565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a908690811061399757613997614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613a5e816149b2565b9150506137a6565b50508080613a73906149b2565b915050613770565b5060005b81811015613ba757613ac485858381518110613a9d57613a9d614941565b6020026020010151858481518110613ab757613ab7614941565b6020026020010151613dbf565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613aed57613aed614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a878681518110613b5657613b56614941565b6020026020010151604051613b8d92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a480613b9f816149b2565b915050613a7f565b50509550959350505050565b600080600080613bc38686612baa565b915091506000828214613c355750600286018190556001613be342614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c8c565b613c3e42614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561076757613d07828281518110613cb957613cb9614941565b60200260200101516000015184848481518110613cd857613cd8614941565b602002602001015160200151858581518110613cf657613cf6614941565b602002602001015160400151612385565b80613d11816149b2565b915050613c9b565b60006fffffffffffffffffffffffffffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610739565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e769190614c28565b9050600181151514613ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f520000000000000000000000000000000000006044820152606401610739565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f5a575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b1561400f5773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613faf906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b613fb99190614b30565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b60008186148015906140f55773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140f557614059888885614104565b915061406482613d19565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140be9084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614c4a565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141118385614bce565b61411b9086614b19565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610739565b73ffffffffffffffffffffffffffffffffffffffff811681146112c957600080fd5b600080604083850312156141fe57600080fd5b8235614209816141c9565b91506020830135614219816141c9565b809150509250929050565b60008083601f84011261423657600080fd5b50813567ffffffffffffffff81111561424e57600080fd5b6020830191508360208260051b85010111156110c557600080fd5b60008060008060006080868803121561428157600080fd5b853567ffffffffffffffff81111561429857600080fd5b6142a488828901614224565b9096509450506020860135925060408601356142bf816141c9565b915060608601356142cf816141c9565b809150509295509295909350565b6000602082840312156142ef57600080fd5b81356142fa816141c9565b9392505050565b60008060006060848603121561431657600080fd5b8335614321816141c9565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434f57600080fd5b863567ffffffffffffffff81111561436657600080fd5b61437289828a01614224565b90975095505060208701359350604087013561438d816141c9565b9250606087013561439d816141c9565b915060808701356143ad816141c9565b809150509295509295509295565b6000806000604084860312156143d057600080fd5b833567ffffffffffffffff8111156143e757600080fd5b6143f386828701614224565b9094509250506020840135614407816141c9565b809150509250925092565b600081518084526020808501945080840160005b8381101561445857815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614426565b509495945050505050565b6040815260006144766040830185614412565b82810360208481019190915284518083528582019282019060005b818110156144ad57845183529383019391830191600101614491565b5090979650505050505050565b6000806000606084860312156144cf57600080fd5b83356144da816141c9565b925060208401356144ea816141c9565b91506040840135614407816141c9565b6000806000806060858703121561451057600080fd5b843567ffffffffffffffff81111561452757600080fd5b61453387828801614224565b90955093505060208501359150604085013561454e816141c9565b939692955090935050565b6020815260006142fa6020830184614412565b6000806000806060858703121561458257600080fd5b843567ffffffffffffffff81111561459957600080fd5b6145a587828801614224565b90955093505060208501356145b9816141c9565b9150604085013561454e816141c9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561461b5761461b6145c9565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614668576146686145c9565b604052919050565b80356affffffffffffffffffffff8116811461468b57600080fd5b919050565b803563ffffffff8116811461468b57600080fd5b600060208083850312156146b757600080fd5b823567ffffffffffffffff808211156146cf57600080fd5b818501915085601f8301126146e357600080fd5b8135818111156146f5576146f56145c9565b614703848260051b01614621565b818152848101925060e091820284018501918883111561472257600080fd5b938501935b828510156147c65780858a03121561473f5760008081fd5b6147476145f8565b61475086614670565b815286860135878201526040614767818801614690565b9082015260608681013561477a816141c9565b9082015260808681013561478d816141c9565b9082015260a0868101356147a0816141c9565b9082015260c0868101356147b3816141c9565b9082015284529384019392850192614727565b50979650505050505050565b600080602083850312156147e557600080fd5b823567ffffffffffffffff8111156147fc57600080fd5b613c8c85828601614224565b60008060006060848603121561481d57600080fd5b8335614828816141c9565b92506020840135614838816141c9565b915061484660408501614690565b90509250925092565b600080600080600060a0868803121561486757600080fd5b8535614872816141c9565b94506020860135614882816141c9565b93506040860135614892816141c9565b92506060860135915060808601356fffffffffffffffffffffffffffffffff811681146142cf57600080fd5b6000806000806000606086880312156148d657600080fd5b85356148e1816141c9565b9450602086013567ffffffffffffffff808211156148fe57600080fd5b61490a89838a01614224565b9096509450604088013591508082111561492357600080fd5b5061493088828901614224565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106b8576106b8614970565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149e3576149e3614970565b5060010190565b600181815b80851115614a4357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a2957614a29614970565b80851615614a3657918102915b93841c93908002906149ef565b509250929050565b600082614a5a575060016106b8565b81614a67575060006106b8565b8160018114614a7d5760028114614a8757614aa3565b60019150506106b8565b60ff841115614a9857614a98614970565b50506001821b6106b8565b5060208310610133831016604e8410600b8410161715614ac6575081810a6106b8565b614ad083836149ea565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614b0257614b02614970565b029392505050565b60006142fa60ff841683614a4b565b80820281158282048414176106b8576106b8614970565b600082614b66577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b9057614b90614970565b6001019392505050565b600060208284031215614bac57600080fd5b5051919050565b600060208284031215614bc557600080fd5b6142fa82614670565b818103818111156106b8576106b8614970565b60008060408385031215614bf457600080fd5b505080516020909101519092909150565b600060208284031215614c1757600080fd5b815160ff811681146142fa57600080fd5b600060208284031215614c3a57600080fd5b815180151581146142fa57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614c7357614c73614970565b509291505056fea2646970667358221220aa74be29a67492a844dd5846f4b36fbcaa6ce4b825496bc280ea1d9f1ae0392464736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2db", - "chainId": "0x2105", - "accessList": null, - "type": null - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": null, - "transactionType": "CALL", - "contractName": "RewardsController", - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "function": "initialize(address)", - "arguments": [ - "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" - ], - "transaction": { - "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "gas": "0x17f25", - "value": "0x0", - "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2dc", - "chainId": "0x2105", - "accessList": null, - "type": null - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1717086645, - "chain": 8453, - "commit": "9db0798" -} \ No newline at end of file diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json b/broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json deleted file mode 100644 index 6c6c8de..0000000 --- a/broadcast/DeployRewardsController.s.sol/8453/run-1717086890.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", - "transactionType": "CREATE", - "contractName": "RewardsController", - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "function": null, - "arguments": [ - "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" - ], - "transaction": { - "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": null, - "gas": "0x54c498", - "value": "0x0", - "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004d7a38038062004d7a83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614cb0620000ca600039600081816104d0015281816105fb01528181610df0015281816110e4015281816117c901528181611ad901528181611b820152611c9d0152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806392074b081161010f578063c4d66de8116100a2578063dde43cba11610071578063dde43cba1461061d578063e15ac62314610625578063f5cf673b14610638578063f996868b1461064b57600080fd5b8063c4d66de8146105bd578063c5a7b538146105d0578063ca2d94f8146105e3578063cbcbb507146105f657600080fd5b8063b022418c116100de578063b022418c1461057c578063b45ac1a91461058f578063bb492bf514610597578063bf90f63a146105aa57600080fd5b806392074b08146104ce578063955c2ad7146104f45780639efd6f72146105075780639ff55db91461056957600080fd5b806357b898831161018757806374d945ec1161015657806374d945ec1461037a5780637eff4ba8146103b3578063886fe70b146104865780639085c503146104ae57600080fd5b806357b89883146102fb5780635f130b241461030e5780636657732f1461034757806370674ab91461036757600080fd5b806333028b99116101c357806333028b99146102a15780634c0369c3146102b4578063533f542a146102d55780635453ba10146102e857600080fd5b80631b839c77146101f5578063236300dc1461021b5780632a17bf601461022e57806331873e2e1461028c575b600080fd5b6102086102033660046141eb565b61065e565b6040519081526020015b60405180910390f35b610208610229366004614269565b6106be565b61026761023c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610212565b61029f61029a366004614301565b61075b565b005b6102086102af366004614336565b61076c565b6102c76102c23660046143bb565b610918565b604051610212929190614463565b6102086102e33660046144ba565b610c68565b61029f6102f63660046141eb565b610dd8565b6102086103093660046144fa565b610e85565b61026761031c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61035a6103553660046142dd565b610e9f565b6040516102129190614559565b61020861037536600461456c565b610ff1565b6102676103883660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104666103c13660046141eb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610212565b6104996104943660046141eb565b611008565b60408051928352602083019190915201610212565b603c546102679073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b61029f6105023660046146a4565b6110cc565b6105576105153660046142dd565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610212565b6102c761057736600461456c565b6112cc565b61020861058a3660046141eb565b61147b565b61035a611534565b6102c76105a53660046143bb565b6115a3565b6102c76105b83660046147d2565b61163c565b61029f6105cb3660046142dd565b611657565b61029f6105de366004614808565b6117b1565b61029f6105f136600461484f565b611956565b6102677f000000000000000000000000000000000000000000000000000000000000000081565b610208600381565b61029f6106333660046141eb565b611ac1565b61029f6106463660046141eb565b611b6a565b61029f6106593660046148be565b611c85565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b610751868686333388886120ee565b9695505050505050565b61076733848385612385565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff861661087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85166108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61090b898989338a8a8a6120ee565b9998505050505050505050565b606080600061092886868661253c565b60035490915067ffffffffffffffff811115610946576109466145c9565b60405190808252806020026020018201604052801561096f578160200160208202803683370190505b509250825167ffffffffffffffff81111561098c5761098c6145c9565b6040519080825280602002602001820160405280156109b5578160200160208202803683370190505b50915060005b8151811015610c5e5760005b8451811015610c4b57600381815481106109e3576109e3614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858281518110610a2057610a20614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a7057610a70614941565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610acd57610acd614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b9357610b93614941565b60200260200101818151610ba7919061499f565b9052508251839083908110610bbe57610bbe614941565b60200260200101516020015160000315610c3957610c0f86868381518110610be857610be8614941565b6020026020010151858581518110610c0257610c02614941565b602002602001015161273a565b848281518110610c2157610c21614941565b60200260200101818151610c35919061499f565b9052505b80610c43816149b2565b9150506109c7565b5080610c56816149b2565b9150506109bb565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610d07575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610dd05773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d5790700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610dc2906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b610dcc9190614b30565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e8182826128b8565b5050565b6000610e96858585333333886120ee565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610ef957610ef96145c9565b604051908082528060200260200182016040528015610f22578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fe95773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610fb257610fb2614941565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610fe181614b6b565b915050610f28565b509392505050565b6000610e96838361100388888861253c565b612a0c565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110bf9385939263b1bf962d92600480830193928290030181865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190614b9a565b612baa565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b60005b81518110156112bf5781818151811061118957611189614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190614b9a565b82828151811061121557611215614941565b6020026020010151602001818152505061126982828151811061123a5761123a614941565b60200260200101516080015183838151811061125857611258614941565b602002602001015160a00151612cb5565b6112ad82828151811061127e5761127e614941565b60200260200101516080015183838151811061129c5761129c614941565b602002602001015160c001516128b8565b806112b7816149b2565b91505061116e565b506112c981612e1b565b50565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260396020526040902054606091829133918691168214611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff86166113e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff851661145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61146c88883389896136cc565b93509350505094509492505050565b60008060005b600454811015610fe95760016000600483815481106114a2576114a2614941565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611520906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b91508061152c816149b2565b915050611481565b6060600380548060200260200160405190810160405280929190818152602001828054801561159957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161156e575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61163085853333876136cc565b91509150935093915050565b60608061164c84843333336136cc565b915091509250929050565b60065460039060ff168061166a5750303b155b80611676575060055481115b611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a65640000000000000000000000000000000000006064820152608401610739565b60065460ff1615801561174057600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a22179055801561076757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b603c5473ffffffffffffffffffffffffffffffffffffffff1633146119d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e0000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85811660008181526001602081815260408084208a8716808652908352818520968a1680865287850184529482902093840189905583547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff166d01000000000000000000000000006fffffffffffffffffffffffffffffffff8a16908102919091179094556002870154825190815292830189905290820192909252919290917f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe89060600160405180910390a4505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e818282612cb5565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b828114611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e505554000000000000000000000000000000000000006044820152606401610739565b60005b838110156120e65773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611dd257611dd2614941565b9050602002016020810190611de791906142dd565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611e5d575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f455849535400000000006044820152606401610739565b6000611f3d838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f389190614b9a565b613bb3565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611f7357611f73614941565b9050602002016020810190611f889190614bb3565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611fe357611fe3614941565b9050602002016020810190611ff891906142dd565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b81811061205957612059614941565b905060200201602081019061206e9190614bb3565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a3505050505080806120de906149b2565b915050611d90565b505050505050565b6000856000036121005750600061237a565b6000612116856121118b8b8961253c565b613c98565b60005b888110156122fd5760008a8a8381811061213557612135614941565b905060200201602081019061214a91906142dd565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d16845293909101905220549091506121ba906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168461499f565b925088831161222d5773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff1690556122ea565b60006122398a85614bce565b90506122458185614bce565b935061225081613d19565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff90931692909217909155506122fd565b50806122f5816149b2565b915050612119565b508060000361231057600091505061237a565b61231b848483613dbf565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff909116908190036123ec575050612536565b60005b81816fffffffffffffffffffffffffffffffff1610156125325773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806124688389613bb3565b9150915060008061247c858d8d878d613eeb565b9150915082806124895750805b15612520578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612517939291909283526020830191909152604082015260600190565b60405180910390a45b5050600190940193506123ef92505050565b5050505b50505050565b60608267ffffffffffffffff811115612557576125576145c9565b6040519080825280602002602001820160405280156125c257816020015b6125af6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001906001900390816125755790505b50905060005b83811015610fe9578484828181106125e2576125e2614941565b90506020020160208101906125f791906142dd565b82828151811061260957612609614941565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff909116905284848281811061264057612640614941565b905060200201602081019061265591906142dd565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190614be1565b8383815181106126f8576126f8614941565b602002602001015160200184848151811061271557612715614941565b6020908102919091010151604001919091525280612732816149b2565b9150506125c8565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612784908390612baa565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808601602052604090912001549092509050801580156127f7575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156128a957845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461284890700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600186016020526040902054909150819061289b906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b6128a59190614b30565b9150505b61237a85602001518383614104565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129299190614b9a565b13612990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f505249434500000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fe957828181518110612a2b57612a2b614941565b602002602001015160200151600003612ad95760016000848381518110612a5457612a54614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054612ad2906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b9150612b98565b60016000848381518110612aef57612aef614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff1690612b819087908790879086908110610c0257610c02614941565b612b8b919061499f565b612b95908361499f565b91505b80612ba2816149b2565b915050612a10565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612c26575086155b80612c3057504281145b80612c3b5750828110155b15612c4f57838495509550505050506110c5565b6000834211612c5e5742612c60565b835b90506000612c6e8383614bce565b905060006b033b2e3c9fd0803ce8000000612c898387614b19565b612c939190614b19565b8a9004905086612ca3818361499f565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f00000000000000006044820152606401610739565b6001813b151514612d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e5452414354000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e815760016000838381518110612e3d57612e3d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612f17576004828281518110612eb257612eb2614941565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612f2957612f29614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa39190614c05565b60016000848481518110612fb957612fb9614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061303257613032614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600084848151811061308f5761308f614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff166000036133095782828151811061310b5761310b614941565b6020026020010151608001516001600085858151811061312d5761312d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006001600087878151811061318e5761318e614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600084848151811061327a5761327a614941565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916132d183614b6b565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061331f5761331f614941565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff161515900361344f5760016002600085858151811061337957613379614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038383815181106133ea576133ea614941565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006134788285858151811061346757613467614941565b602002602001015160200151613bb3565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106134d9576134d9614941565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455855186908690811061354157613541614941565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106135b0576135b0614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106135e4576135e4614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc58489898151811061363a5761363a614941565b602002602001015160000151858b8b8151811061365957613659614941565b602002602001015160400151896040516136ad9594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806136c4906149b2565b915050612e1e565b60035460609081908067ffffffffffffffff8111156136ed576136ed6145c9565b604051908082528060200260200182016040528015613716578160200160208202803683370190505b5092508067ffffffffffffffff811115613732576137326145c9565b60405190808252806020026020018201604052801561375b578160200160208202803683370190505b50915061376d856121118a8a8961253c565b60005b87811015613a7b57600089898381811061378c5761378c614941565b90506020020160208101906137a191906142dd565b905060005b83811015613a6657600073ffffffffffffffffffffffffffffffffffffffff168682815181106137d8576137d8614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613886576003818154811061380e5761380e614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686828151811061384b5761384b614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106138c1576138c1614941565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613a53578086838151811061394557613945614941565b60200260200101818151613959919061499f565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a908690811061399757613997614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613a5e816149b2565b9150506137a6565b50508080613a73906149b2565b915050613770565b5060005b81811015613ba757613ac485858381518110613a9d57613a9d614941565b6020026020010151858481518110613ab757613ab7614941565b6020026020010151613dbf565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613aed57613aed614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a878681518110613b5657613b56614941565b6020026020010151604051613b8d92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a480613b9f816149b2565b915050613a7f565b50509550959350505050565b600080600080613bc38686612baa565b915091506000828214613c355750600286018190556001613be342614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c8c565b613c3e42614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561076757613d07828281518110613cb957613cb9614941565b60200260200101516000015184848481518110613cd857613cd8614941565b602002602001015160200151858581518110613cf657613cf6614941565b602002602001015160400151612385565b80613d11816149b2565b915050613c9b565b60006fffffffffffffffffffffffffffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610739565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e769190614c28565b9050600181151514613ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f520000000000000000000000000000000000006044820152606401610739565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f5a575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b1561400f5773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613faf906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b613fb99190614b30565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b60008186148015906140f55773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140f557614059888885614104565b915061406482613d19565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140be9084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614c4a565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141118385614bce565b61411b9086614b19565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610739565b73ffffffffffffffffffffffffffffffffffffffff811681146112c957600080fd5b600080604083850312156141fe57600080fd5b8235614209816141c9565b91506020830135614219816141c9565b809150509250929050565b60008083601f84011261423657600080fd5b50813567ffffffffffffffff81111561424e57600080fd5b6020830191508360208260051b85010111156110c557600080fd5b60008060008060006080868803121561428157600080fd5b853567ffffffffffffffff81111561429857600080fd5b6142a488828901614224565b9096509450506020860135925060408601356142bf816141c9565b915060608601356142cf816141c9565b809150509295509295909350565b6000602082840312156142ef57600080fd5b81356142fa816141c9565b9392505050565b60008060006060848603121561431657600080fd5b8335614321816141c9565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434f57600080fd5b863567ffffffffffffffff81111561436657600080fd5b61437289828a01614224565b90975095505060208701359350604087013561438d816141c9565b9250606087013561439d816141c9565b915060808701356143ad816141c9565b809150509295509295509295565b6000806000604084860312156143d057600080fd5b833567ffffffffffffffff8111156143e757600080fd5b6143f386828701614224565b9094509250506020840135614407816141c9565b809150509250925092565b600081518084526020808501945080840160005b8381101561445857815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614426565b509495945050505050565b6040815260006144766040830185614412565b82810360208481019190915284518083528582019282019060005b818110156144ad57845183529383019391830191600101614491565b5090979650505050505050565b6000806000606084860312156144cf57600080fd5b83356144da816141c9565b925060208401356144ea816141c9565b91506040840135614407816141c9565b6000806000806060858703121561451057600080fd5b843567ffffffffffffffff81111561452757600080fd5b61453387828801614224565b90955093505060208501359150604085013561454e816141c9565b939692955090935050565b6020815260006142fa6020830184614412565b6000806000806060858703121561458257600080fd5b843567ffffffffffffffff81111561459957600080fd5b6145a587828801614224565b90955093505060208501356145b9816141c9565b9150604085013561454e816141c9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561461b5761461b6145c9565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614668576146686145c9565b604052919050565b80356affffffffffffffffffffff8116811461468b57600080fd5b919050565b803563ffffffff8116811461468b57600080fd5b600060208083850312156146b757600080fd5b823567ffffffffffffffff808211156146cf57600080fd5b818501915085601f8301126146e357600080fd5b8135818111156146f5576146f56145c9565b614703848260051b01614621565b818152848101925060e091820284018501918883111561472257600080fd5b938501935b828510156147c65780858a03121561473f5760008081fd5b6147476145f8565b61475086614670565b815286860135878201526040614767818801614690565b9082015260608681013561477a816141c9565b9082015260808681013561478d816141c9565b9082015260a0868101356147a0816141c9565b9082015260c0868101356147b3816141c9565b9082015284529384019392850192614727565b50979650505050505050565b600080602083850312156147e557600080fd5b823567ffffffffffffffff8111156147fc57600080fd5b613c8c85828601614224565b60008060006060848603121561481d57600080fd5b8335614828816141c9565b92506020840135614838816141c9565b915061484660408501614690565b90509250925092565b600080600080600060a0868803121561486757600080fd5b8535614872816141c9565b94506020860135614882816141c9565b93506040860135614892816141c9565b92506060860135915060808601356fffffffffffffffffffffffffffffffff811681146142cf57600080fd5b6000806000806000606086880312156148d657600080fd5b85356148e1816141c9565b9450602086013567ffffffffffffffff808211156148fe57600080fd5b61490a89838a01614224565b9096509450604088013591508082111561492357600080fd5b5061493088828901614224565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106b8576106b8614970565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149e3576149e3614970565b5060010190565b600181815b80851115614a4357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a2957614a29614970565b80851615614a3657918102915b93841c93908002906149ef565b509250929050565b600082614a5a575060016106b8565b81614a67575060006106b8565b8160018114614a7d5760028114614a8757614aa3565b60019150506106b8565b60ff841115614a9857614a98614970565b50506001821b6106b8565b5060208310610133831016604e8410600b8410161715614ac6575081810a6106b8565b614ad083836149ea565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614b0257614b02614970565b029392505050565b60006142fa60ff841683614a4b565b80820281158282048414176106b8576106b8614970565b600082614b66577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b9057614b90614970565b6001019392505050565b600060208284031215614bac57600080fd5b5051919050565b600060208284031215614bc557600080fd5b6142fa82614670565b818103818111156106b8576106b8614970565b60008060408385031215614bf457600080fd5b505080516020909101519092909150565b600060208284031215614c1757600080fd5b815160ff811681146142fa57600080fd5b600060208284031215614c3a57600080fd5b815180151581146142fa57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614c7357614c73614970565b509291505056fea2646970667358221220aa74be29a67492a844dd5846f4b36fbcaa6ce4b825496bc280ea1d9f1ae0392464736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2db", - "chainId": "0x2105", - "accessList": null, - "type": null - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", - "transactionType": "CALL", - "contractName": "RewardsController", - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "function": "initialize(address)", - "arguments": [ - "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" - ], - "transaction": { - "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "gas": "0x17f25", - "value": "0x0", - "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2dc", - "chainId": "0x2105", - "accessList": null, - "type": null - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "status": "0x1", - "cumulativeGasUsed": "0xb3969e", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", - "transactionIndex": "0x21", - "blockHash": "0x675dbaa5be973816fd5ba7eb7bcbf8fa216fbc175992a5099fc4c42581a1e5ff", - "blockNumber": "0xe726d5", - "gasUsed": "0x41399e", - "effectiveGasPrice": "0x11c65ea", - "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": null, - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "l1Fee": "0x5682376595b", - "l1GasPrice": "0x45baabba4", - "l1GasUsed": "0x466d4" - }, - { - "status": "0x1", - "cumulativeGasUsed": "0x628220", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "transactionHash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", - "transactionIndex": "0x26", - "blockHash": "0x74e9a7c62c47e70b18c0f303b7f7cef35cf37a9ff88f092240c3e129afab897a", - "blockNumber": "0xe726d9", - "gasUsed": "0x11564", - "effectiveGasPrice": "0x11c6a54", - "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "contractAddress": null, - "l1Fee": "0xb1da33a32", - "l1GasPrice": "0x481d62173", - "l1GasUsed": "0x8c0" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1717086890, - "chain": 8453, - "commit": "9db0798" -} \ No newline at end of file diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-latest.json b/broadcast/DeployRewardsController.s.sol/8453/run-latest.json index 6c6c8de..77644f4 100644 --- a/broadcast/DeployRewardsController.s.sol/8453/run-latest.json +++ b/broadcast/DeployRewardsController.s.sol/8453/run-latest.json @@ -1,47 +1,42 @@ { "transactions": [ { - "hash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", + "hash": "0x428c8e3aa388238d70f6604d6ec28af4b1efbc72b1c747d89f56c3feb76e1c06", "transactionType": "CREATE", "contractName": "RewardsController", - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", "function": null, "arguments": [ "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" ], "transaction": { "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": null, - "gas": "0x54c498", + "gas": "0x54404f", "value": "0x0", - "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004d7a38038062004d7a83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614cb0620000ca600039600081816104d0015281816105fb01528181610df0015281816110e4015281816117c901528181611ad901528181611b820152611c9d0152614cb06000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c806392074b081161010f578063c4d66de8116100a2578063dde43cba11610071578063dde43cba1461061d578063e15ac62314610625578063f5cf673b14610638578063f996868b1461064b57600080fd5b8063c4d66de8146105bd578063c5a7b538146105d0578063ca2d94f8146105e3578063cbcbb507146105f657600080fd5b8063b022418c116100de578063b022418c1461057c578063b45ac1a91461058f578063bb492bf514610597578063bf90f63a146105aa57600080fd5b806392074b08146104ce578063955c2ad7146104f45780639efd6f72146105075780639ff55db91461056957600080fd5b806357b898831161018757806374d945ec1161015657806374d945ec1461037a5780637eff4ba8146103b3578063886fe70b146104865780639085c503146104ae57600080fd5b806357b89883146102fb5780635f130b241461030e5780636657732f1461034757806370674ab91461036757600080fd5b806333028b99116101c357806333028b99146102a15780634c0369c3146102b4578063533f542a146102d55780635453ba10146102e857600080fd5b80631b839c77146101f5578063236300dc1461021b5780632a17bf601461022e57806331873e2e1461028c575b600080fd5b6102086102033660046141eb565b61065e565b6040519081526020015b60405180910390f35b610208610229366004614269565b6106be565b61026761023c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610212565b61029f61029a366004614301565b61075b565b005b6102086102af366004614336565b61076c565b6102c76102c23660046143bb565b610918565b604051610212929190614463565b6102086102e33660046144ba565b610c68565b61029f6102f63660046141eb565b610dd8565b6102086103093660046144fa565b610e85565b61026761031c3660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61035a6103553660046142dd565b610e9f565b6040516102129190614559565b61020861037536600461456c565b610ff1565b6102676103883660046142dd565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104666103c13660046141eb565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610212565b6104996104943660046141eb565b611008565b60408051928352602083019190915201610212565b603c546102679073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610267565b61029f6105023660046146a4565b6110cc565b6105576105153660046142dd565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610212565b6102c761057736600461456c565b6112cc565b61020861058a3660046141eb565b61147b565b61035a611534565b6102c76105a53660046143bb565b6115a3565b6102c76105b83660046147d2565b61163c565b61029f6105cb3660046142dd565b611657565b61029f6105de366004614808565b6117b1565b61029f6105f136600461484f565b611956565b6102677f000000000000000000000000000000000000000000000000000000000000000081565b610208600381565b61029f6106333660046141eb565b611ac1565b61029f6106463660046141eb565b611b6a565b61029f6106593660046148be565b611c85565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b610751868686333388886120ee565b9695505050505050565b61076733848385612385565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610802576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff861661087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85166108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61090b898989338a8a8a6120ee565b9998505050505050505050565b606080600061092886868661253c565b60035490915067ffffffffffffffff811115610946576109466145c9565b60405190808252806020026020018201604052801561096f578160200160208202803683370190505b509250825167ffffffffffffffff81111561098c5761098c6145c9565b6040519080825280602002602001820160405280156109b5578160200160208202803683370190505b50915060005b8151811015610c5e5760005b8451811015610c4b57600381815481106109e3576109e3614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16858281518110610a2057610a20614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a7057610a70614941565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610acd57610acd614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b9357610b93614941565b60200260200101818151610ba7919061499f565b9052508251839083908110610bbe57610bbe614941565b60200260200101516020015160000315610c3957610c0f86868381518110610be857610be8614941565b6020026020010151858581518110610c0257610c02614941565b602002602001015161273a565b848281518110610c2157610c21614941565b60200260200101818151610c35919061499f565b9052505b80610c43816149b2565b9150506109c7565b5080610c56816149b2565b9150506109bb565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610d07575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610dd05773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d5790700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610dc2906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b610dcc9190614b30565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e8182826128b8565b5050565b6000610e96858585333333886120ee565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610ef957610ef96145c9565b604051908082528060200260200182016040528015610f22578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fe95773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610fb257610fb2614941565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610fe181614b6b565b915050610f28565b509392505050565b6000610e96838361100388888861253c565b612a0c565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110bf9385939263b1bf962d92600480830193928290030181865afa158015611096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ba9190614b9a565b612baa565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461116b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b60005b81518110156112bf5781818151811061118957611189614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112039190614b9a565b82828151811061121557611215614941565b6020026020010151602001818152505061126982828151811061123a5761123a614941565b60200260200101516080015183838151811061125857611258614941565b602002602001015160a00151612cb5565b6112ad82828151811061127e5761127e614941565b60200260200101516080015183838151811061129c5761129c614941565b602002602001015160c001516128b8565b806112b7816149b2565b91505061116e565b506112c981612e1b565b50565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260396020526040902054606091829133918691168214611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a45440000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff86166113e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f414444524553530000000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff851661145f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61146c88883389896136cc565b93509350505094509492505050565b60008060005b600454811015610fe95760016000600483815481106114a2576114a2614941565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611520906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b91508061152c816149b2565b915050611481565b6060600380548060200260200160405190810160405280929190818152602001828054801561159957602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831161156e575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f4144445245535300000000000000000000000000006044820152606401610739565b61163085853333876136cc565b91509150935093915050565b60608061164c84843333336136cc565b915091509250929050565b60065460039060ff168061166a5750303b155b80611676575060055481115b611702576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a65640000000000000000000000000000000000006064820152608401610739565b60065460ff1615801561174057600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a22179055801561076757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611850576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b603c5473ffffffffffffffffffffffffffffffffffffffff1633146119d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e0000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff85811660008181526001602081815260408084208a8716808652908352818520968a1680865287850184529482902093840189905583547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff166d01000000000000000000000000006fffffffffffffffffffffffffffffffff8a16908102919091179094556002870154825190815292830189905290820192909252919290917f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe89060600160405180910390a4505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b60576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b610e818282612cb5565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611c09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611d24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e4147455200000000000000000000006044820152606401610739565b828114611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e505554000000000000000000000000000000000000006044820152606401610739565b60005b838110156120e65773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611dd257611dd2614941565b9050602002016020810190611de791906142dd565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611e5d575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f455849535400000000006044820152606401610739565b6000611f3d838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f389190614b9a565b613bb3565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611f7357611f73614941565b9050602002016020810190611f889190614bb3565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611fe357611fe3614941565b9050602002016020810190611ff891906142dd565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b81811061205957612059614941565b905060200201602081019061206e9190614bb3565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a3505050505080806120de906149b2565b915050611d90565b505050505050565b6000856000036121005750600061237a565b6000612116856121118b8b8961253c565b613c98565b60005b888110156122fd5760008a8a8381811061213557612135614941565b905060200201602081019061214a91906142dd565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d16845293909101905220549091506121ba906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168461499f565b925088831161222d5773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff1690556122ea565b60006122398a85614bce565b90506122458185614bce565b935061225081613d19565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff90931692909217909155506122fd565b50806122f5816149b2565b915050612119565b508060000361231057600091505061237a565b61231b848483613dbf565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff909116908190036123ec575050612536565b60005b81816fffffffffffffffffffffffffffffffff1610156125325773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806124688389613bb3565b9150915060008061247c858d8d878d613eeb565b9150915082806124895750805b15612520578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612517939291909283526020830191909152604082015260600190565b60405180910390a45b5050600190940193506123ef92505050565b5050505b50505050565b60608267ffffffffffffffff811115612557576125576145c9565b6040519080825280602002602001820160405280156125c257816020015b6125af6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8152602001906001900390816125755790505b50905060005b83811015610fe9578484828181106125e2576125e2614941565b90506020020160208101906125f791906142dd565b82828151811061260957612609614941565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff909116905284848281811061264057612640614941565b905060200201602081019061265591906142dd565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156126c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e69190614be1565b8383815181106126f8576126f8614941565b602002602001015160200184848151811061271557612715614941565b6020908102919091010151604001919091525280612732816149b2565b9150506125c8565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612784908390612baa565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808601602052604090912001549092509050801580156127f7575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156128a957845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461284890700100000000000000000000000000000000900460ff16600a614b0a565b73ffffffffffffffffffffffffffffffffffffffff89166000908152600186016020526040902054909150819061289b906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b6128a59190614b30565b9150505b61237a85602001518383614104565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129299190614b9a565b13612990576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f505249434500000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fe957828181518110612a2b57612a2b614941565b602002602001015160200151600003612ad95760016000848381518110612a5457612a54614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054612ad2906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff168361499f565b9150612b98565b60016000848381518110612aef57612aef614941565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff1690612b819087908790879086908110610c0257610c02614941565b612b8b919061499f565b612b95908361499f565b91505b80612ba2816149b2565b915050612a10565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612c26575086155b80612c3057504281145b80612c3b5750828110155b15612c4f57838495509550505050506110c5565b6000834211612c5e5742612c60565b835b90506000612c6e8383614bce565b905060006b033b2e3c9fd0803ce8000000612c898387614b19565b612c939190614b19565b8a9004905086612ca3818361499f565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f00000000000000006044820152606401610739565b6001813b151514612d9f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e5452414354000000000000006044820152606401610739565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e815760016000838381518110612e3d57612e3d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612f17576004828281518110612eb257612eb2614941565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612f2957612f29614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa39190614c05565b60016000848481518110612fb957612fb9614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061303257613032614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600084848151811061308f5761308f614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff166000036133095782828151811061310b5761310b614941565b6020026020010151608001516001600085858151811061312d5761312d614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006001600087878151811061318e5761318e614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600084848151811061327a5761327a614941565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916132d183614b6b565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061331f5761331f614941565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff161515900361344f5760016002600085858151811061337957613379614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060038383815181106133ea576133ea614941565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006134788285858151811061346757613467614941565b602002602001015160200151613bb3565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106134d9576134d9614941565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455855186908690811061354157613541614941565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106135b0576135b0614941565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106135e4576135e4614941565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc58489898151811061363a5761363a614941565b602002602001015160000151858b8b8151811061365957613659614941565b602002602001015160400151896040516136ad9594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806136c4906149b2565b915050612e1e565b60035460609081908067ffffffffffffffff8111156136ed576136ed6145c9565b604051908082528060200260200182016040528015613716578160200160208202803683370190505b5092508067ffffffffffffffff811115613732576137326145c9565b60405190808252806020026020018201604052801561375b578160200160208202803683370190505b50915061376d856121118a8a8961253c565b60005b87811015613a7b57600089898381811061378c5761378c614941565b90506020020160208101906137a191906142dd565b905060005b83811015613a6657600073ffffffffffffffffffffffffffffffffffffffff168682815181106137d8576137d8614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613886576003818154811061380e5761380e614941565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686828151811061384b5761384b614941565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106138c1576138c1614941565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613a53578086838151811061394557613945614941565b60200260200101818151613959919061499f565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a908690811061399757613997614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613a5e816149b2565b9150506137a6565b50508080613a73906149b2565b915050613770565b5060005b81811015613ba757613ac485858381518110613a9d57613a9d614941565b6020026020010151858481518110613ab757613ab7614941565b6020026020010151613dbf565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613aed57613aed614941565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a878681518110613b5657613b56614941565b6020026020010151604051613b8d92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a480613b9f816149b2565b915050613a7f565b50509550959350505050565b600080600080613bc38686612baa565b915091506000828214613c355750600286018190556001613be342614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c8c565b613c3e42614133565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561076757613d07828281518110613cb957613cb9614941565b60200260200101516000015184848481518110613cd857613cd8614941565b602002602001015160200151858581518110613cf657613cf6614941565b602002602001015160400151612385565b80613d11816149b2565b915050613c9b565b60006fffffffffffffffffffffffffffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610739565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e769190614c28565b9050600181151514613ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f520000000000000000000000000000000000006044820152606401610739565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f5a575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b1561400f5773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613faf906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614b19565b613fb99190614b30565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b60008186148015906140f55773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140f557614059888885614104565b915061406482613d19565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140be9084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614c4a565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141118385614bce565b61411b9086614b19565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613dbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f32206269747300000000000000000000000000000000000000000000000000006064820152608401610739565b73ffffffffffffffffffffffffffffffffffffffff811681146112c957600080fd5b600080604083850312156141fe57600080fd5b8235614209816141c9565b91506020830135614219816141c9565b809150509250929050565b60008083601f84011261423657600080fd5b50813567ffffffffffffffff81111561424e57600080fd5b6020830191508360208260051b85010111156110c557600080fd5b60008060008060006080868803121561428157600080fd5b853567ffffffffffffffff81111561429857600080fd5b6142a488828901614224565b9096509450506020860135925060408601356142bf816141c9565b915060608601356142cf816141c9565b809150509295509295909350565b6000602082840312156142ef57600080fd5b81356142fa816141c9565b9392505050565b60008060006060848603121561431657600080fd5b8335614321816141c9565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434f57600080fd5b863567ffffffffffffffff81111561436657600080fd5b61437289828a01614224565b90975095505060208701359350604087013561438d816141c9565b9250606087013561439d816141c9565b915060808701356143ad816141c9565b809150509295509295509295565b6000806000604084860312156143d057600080fd5b833567ffffffffffffffff8111156143e757600080fd5b6143f386828701614224565b9094509250506020840135614407816141c9565b809150509250925092565b600081518084526020808501945080840160005b8381101561445857815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614426565b509495945050505050565b6040815260006144766040830185614412565b82810360208481019190915284518083528582019282019060005b818110156144ad57845183529383019391830191600101614491565b5090979650505050505050565b6000806000606084860312156144cf57600080fd5b83356144da816141c9565b925060208401356144ea816141c9565b91506040840135614407816141c9565b6000806000806060858703121561451057600080fd5b843567ffffffffffffffff81111561452757600080fd5b61453387828801614224565b90955093505060208501359150604085013561454e816141c9565b939692955090935050565b6020815260006142fa6020830184614412565b6000806000806060858703121561458257600080fd5b843567ffffffffffffffff81111561459957600080fd5b6145a587828801614224565b90955093505060208501356145b9816141c9565b9150604085013561454e816141c9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561461b5761461b6145c9565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614668576146686145c9565b604052919050565b80356affffffffffffffffffffff8116811461468b57600080fd5b919050565b803563ffffffff8116811461468b57600080fd5b600060208083850312156146b757600080fd5b823567ffffffffffffffff808211156146cf57600080fd5b818501915085601f8301126146e357600080fd5b8135818111156146f5576146f56145c9565b614703848260051b01614621565b818152848101925060e091820284018501918883111561472257600080fd5b938501935b828510156147c65780858a03121561473f5760008081fd5b6147476145f8565b61475086614670565b815286860135878201526040614767818801614690565b9082015260608681013561477a816141c9565b9082015260808681013561478d816141c9565b9082015260a0868101356147a0816141c9565b9082015260c0868101356147b3816141c9565b9082015284529384019392850192614727565b50979650505050505050565b600080602083850312156147e557600080fd5b823567ffffffffffffffff8111156147fc57600080fd5b613c8c85828601614224565b60008060006060848603121561481d57600080fd5b8335614828816141c9565b92506020840135614838816141c9565b915061484660408501614690565b90509250925092565b600080600080600060a0868803121561486757600080fd5b8535614872816141c9565b94506020860135614882816141c9565b93506040860135614892816141c9565b92506060860135915060808601356fffffffffffffffffffffffffffffffff811681146142cf57600080fd5b6000806000806000606086880312156148d657600080fd5b85356148e1816141c9565b9450602086013567ffffffffffffffff808211156148fe57600080fd5b61490a89838a01614224565b9096509450604088013591508082111561492357600080fd5b5061493088828901614224565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156106b8576106b8614970565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149e3576149e3614970565b5060010190565b600181815b80851115614a4357817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a2957614a29614970565b80851615614a3657918102915b93841c93908002906149ef565b509250929050565b600082614a5a575060016106b8565b81614a67575060006106b8565b8160018114614a7d5760028114614a8757614aa3565b60019150506106b8565b60ff841115614a9857614a98614970565b50506001821b6106b8565b5060208310610133831016604e8410600b8410161715614ac6575081810a6106b8565b614ad083836149ea565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614b0257614b02614970565b029392505050565b60006142fa60ff841683614a4b565b80820281158282048414176106b8576106b8614970565b600082614b66577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b9057614b90614970565b6001019392505050565b600060208284031215614bac57600080fd5b5051919050565b600060208284031215614bc557600080fd5b6142fa82614670565b818103818111156106b8576106b8614970565b60008060408385031215614bf457600080fd5b505080516020909101519092909150565b600060208284031215614c1757600080fd5b815160ff811681146142fa57600080fd5b600060208284031215614c3a57600080fd5b815180151581146142fa57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614c7357614c73614970565b509291505056fea2646970667358221220aa74be29a67492a844dd5846f4b36fbcaa6ce4b825496bc280ea1d9f1ae0392464736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2db", - "chainId": "0x2105", - "accessList": null, - "type": null + "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004cff38038062004cff83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614c35620000ca6000396000818161049a015281816105b201528181610da70152818161109b0152818161174a015281816118ef015281816119980152611ab30152614c356000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806392074b0811610104578063bf90f63a116100a2578063dde43cba11610071578063dde43cba146105d4578063e15ac623146105dc578063f5cf673b146105ef578063f996868b1461060257600080fd5b8063bf90f63a14610574578063c4d66de814610587578063c5a7b5381461059a578063cbcbb507146105ad57600080fd5b80639ff55db9116100de5780639ff55db914610533578063b022418c14610546578063b45ac1a914610559578063bb492bf51461056157600080fd5b806392074b0814610498578063955c2ad7146104be5780639efd6f72146104d157600080fd5b80635453ba101161017c57806370674ab91161014b57806370674ab91461035157806374d945ec146103645780637eff4ba81461039d578063886fe70b1461047057600080fd5b80635453ba10146102d257806357b89883146102e55780635f130b24146102f85780636657732f1461033157600080fd5b806331873e2e116101b857806331873e2e1461027657806333028b991461028b5780634c0369c31461029e578063533f542a146102bf57600080fd5b80631b839c77146101df578063236300dc146102055780632a17bf6014610218575b600080fd5b6101f26101ed3660046141df565b610615565b6040519081526020015b60405180910390f35b6101f261021336600461425d565b610675565b6102516102263660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fc565b6102896102843660046142f5565b610712565b005b6101f261029936600461432a565b610723565b6102b16102ac3660046143af565b6108cf565b6040516101fc929190614457565b6101f26102cd3660046144ae565b610c1f565b6102896102e03660046141df565b610d8f565b6101f26102f33660046144ee565b610e3c565b6102516103063660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61034461033f3660046142d1565b610e56565b6040516101fc919061454d565b6101f261035f366004614560565b610fa8565b6102516103723660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104506103ab3660046141df565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b6040805194855260208501939093529183015260608201526080016101fc565b61048361047e3660046141df565b610fbf565b604080519283526020830191909152016101fc565b7f0000000000000000000000000000000000000000000000000000000000000000610251565b6102896104cc366004614698565b611083565b6105216104df3660046142d1565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff90911681526020016101fc565b6102b1610541366004614560565b611283565b6101f26105543660046141df565b611432565b6103446114eb565b6102b161056f3660046143af565b61155a565b6102b16105823660046147c6565b6115f3565b6102896105953660046142d1565b61160e565b6102896105a83660046147fc565b611732565b6102517f000000000000000000000000000000000000000000000000000000000000000081565b6101f2600281565b6102896105ea3660046141df565b6118d7565b6102896105fd3660046141df565b611980565b610289610610366004614843565b611a9b565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff83166106f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b61070886868633338888611f04565b9695505050505050565b61071e3384838561219b565b505050565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152603960205260408120549091339186911682146107b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8616610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff85166108b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b6108c2898989338a8a8a611f04565b9998505050505050505050565b60608060006108df868686612352565b60035490915067ffffffffffffffff8111156108fd576108fd6145bd565b604051908082528060200260200182016040528015610926578160200160208202803683370190505b509250825167ffffffffffffffff811115610943576109436145bd565b60405190808252806020026020018201604052801561096c578160200160208202803683370190505b50915060005b8151811015610c155760005b8451811015610c02576003818154811061099a5761099a6148c6565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168582815181106109d7576109d76148c6565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a2757610a276148c6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610a8457610a846148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b4a57610b4a6148c6565b60200260200101818151610b5e9190614924565b9052508251839083908110610b7557610b756148c6565b60200260200101516020015160000315610bf057610bc686868381518110610b9f57610b9f6148c6565b6020026020010151858581518110610bb957610bb96148c6565b6020026020010151612550565b848281518110610bd857610bd86148c6565b60200260200101818151610bec9190614924565b9052505b80610bfa81614937565b91505061097e565b5080610c0d81614937565b915050610972565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610cbe575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610d875773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d0e90700100000000000000000000000000000000900460ff16600a614a8f565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610d79906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b610d839190614ab5565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b610e3882826126ce565b5050565b6000610e4d85858533333388611f04565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610eb057610eb06145bd565b604051908082528060200260200182016040528015610ed9578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fa05773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610f6957610f696148c6565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610f9881614af0565b915050610edf565b509392505050565b6000610e4d8383610fba888888612352565b612822565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110769385939263b1bf962d92600480830193928290030181865afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110719190614b1f565b6129c0565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b60005b815181101561127657818181518110611140576111406148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190614b1f565b8282815181106111cc576111cc6148c6565b602002602001015160200181815250506112208282815181106111f1576111f16148c6565b60200260200101516080015183838151811061120f5761120f6148c6565b602002602001015160a00151612acb565b611264828281518110611235576112356148c6565b602002602001015160800151838381518110611253576112536148c6565b602002602001015160c001516126ce565b8061126e81614937565b915050611125565b5061128081612c31565b50565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526039602052604090205460609182913391869116821461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8616611399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8516611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b61142388883389896134e2565b93509350505094509492505050565b60008060005b600454811015610fa0576001600060048381548110611459576114596148c6565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff9081168452838201949094526040928301822088851683528152828220938916825260019093019092529020546114d7906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614924565b9150806114e381614937565b915050611438565b6060600380548060200260200160405190810160405280929190818152602001828054801561155057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611525575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff83166115da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b6115e785853333876134e2565b91509150935093915050565b60608061160384843333336134e2565b915091509250929050565b60065460029060ff16806116215750303b155b8061162d575060055481115b6116b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a656400000000000000000000000000000000000060648201526084016106f0565b60065460ff161580156116f757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b6116ff6139c9565b801561071e57600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146117d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b610e388282612acb565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611a1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b828114611ba3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e5055540000000000000000000000000000000000000060448201526064016106f0565b60005b83811015611efc5773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611be857611be86148c6565b9050602002016020810190611bfd91906142d1565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611c73575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611cd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f4558495354000000000060448201526064016106f0565b6000611d53838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190614b1f565b613bad565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611d8957611d896148c6565b9050602002016020810190611d9e9190614b38565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611df957611df96148c6565b9050602002016020810190611e0e91906142d1565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b818110611e6f57611e6f6148c6565b9050602002016020810190611e849190614b38565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a350505050508080611ef490614937565b915050611ba6565b505050505050565b600085600003611f1657506000612190565b6000611f2c85611f278b8b89612352565b613c92565b60005b888110156121135760008a8a83818110611f4b57611f4b6148c6565b9050602002016020810190611f6091906142d1565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d1684529390910190522054909150611fd0906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1684614924565b92508883116120435773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff169055612100565b600061204f8a85614b53565b905061205b8185614b53565b935061206681613d13565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff9093169290921790915550612113565b508061210b81614937565b915050611f2f565b5080600003612126576000915050612190565b612131848483613db9565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff9091169081900361220257505061234c565b60005b81816fffffffffffffffffffffffffffffffff1610156123485773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff87168552928301825280842054909416808452919052918120908061227e8389613bad565b91509150600080612292858d8d878d613ee5565b91509150828061229f5750805b15612336578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe887888760405161232d939291909283526020830191909152604082015260600190565b60405180910390a45b50506001909401935061220592505050565b5050505b50505050565b60608267ffffffffffffffff81111561236d5761236d6145bd565b6040519080825280602002602001820160405280156123d857816020015b6123c56040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b81526020019060019003908161238b5790505b50905060005b83811015610fa0578484828181106123f8576123f86148c6565b905060200201602081019061240d91906142d1565b82828151811061241f5761241f6148c6565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff9091169052848482818110612456576124566148c6565b905060200201602081019061246b91906142d1565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156124d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fc9190614b66565b83838151811061250e5761250e6148c6565b602002602001015160200184848151811061252b5761252b6148c6565b602090810291909101015160400191909152528061254881614937565b9150506123de565b805173ffffffffffffffffffffffffffffffffffffffff9081166000908152600160209081526040808320938616835292905281812091830151909190829061259a9083906129c0565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260018086016020526040909120015490925090508015801561260d575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156126bf57845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461265e90700100000000000000000000000000000000900460ff16600a614a8f565b73ffffffffffffffffffffffffffffffffffffffff8916600090815260018601602052604090205490915081906126b1906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b6126bb9190614ab5565b9150505b612190856020015183836140f8565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561271b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273f9190614b1f565b136127a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f5052494345000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fa057828181518110612841576128416148c6565b6020026020010151602001516000036128ef576001600084838151811061286a5761286a6148c6565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120888516825282528281209389168152600190930190529020546128e8906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614924565b91506129ae565b60016000848381518110612905576129056148c6565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff16906129979087908790879086908110610bb957610bb96148c6565b6129a19190614924565b6129ab9083614924565b91505b806129b881614937565b915050612826565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612a3c575086155b80612a4657504281145b80612a515750828110155b15612a65578384955095505050505061107c565b6000834211612a745742612a76565b835b90506000612a848383614b53565b905060006b033b2e3c9fd0803ce8000000612a9f8387614a9e565b612aa99190614a9e565b8a9004905086612ab98183614924565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612b48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f000000000000000060448201526064016106f0565b6001813b151514612bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e54524143540000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e385760016000838381518110612c5357612c536148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612d2d576004828281518110612cc857612cc86148c6565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612d3f57612d3f6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db99190614b8a565b60016000848481518110612dcf57612dcf6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff160217905550600060016000848481518110612e4857612e486148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000848481518110612ea557612ea56148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff1660000361311f57828281518110612f2157612f216148c6565b60200260200101516080015160016000858581518110612f4357612f436148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600060016000878781518110612fa457612fa46148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000848481518110613090576130906148c6565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916130e783614af0565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b60026000848481518110613135576131356148c6565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff16151590036132655760016002600085858151811061318f5761318f6148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506003838381518110613200576132006148c6565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b600061328e8285858151811061327d5761327d6148c6565b602002602001015160200151613bad565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106132ef576132ef6148c6565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff9091161784558551869086908110613357576133576148c6565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106133c6576133c66148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106133fa576133fa6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc584898981518110613450576134506148c6565b602002602001015160000151858b8b8151811061346f5761346f6148c6565b602002602001015160400151896040516134c39594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806134da90614937565b915050612c34565b60035460609081908067ffffffffffffffff811115613503576135036145bd565b60405190808252806020026020018201604052801561352c578160200160208202803683370190505b5092508067ffffffffffffffff811115613548576135486145bd565b604051908082528060200260200182016040528015613571578160200160208202803683370190505b50915061358385611f278a8a89612352565b60005b878110156138915760008989838181106135a2576135a26148c6565b90506020020160208101906135b791906142d1565b905060005b8381101561387c57600073ffffffffffffffffffffffffffffffffffffffff168682815181106135ee576135ee6148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361369c5760038181548110613624576136246148c6565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868281518110613661576136616148c6565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106136d7576136d76148c6565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613869578086838151811061375b5761375b6148c6565b6020026020010181815161376f9190614924565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a90869081106137ad576137ad6148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b508061387481614937565b9150506135bc565b5050808061388990614937565b915050613586565b5060005b818110156139bd576138da858583815181106138b3576138b36148c6565b60200260200101518584815181106138cd576138cd6148c6565b6020026020010151613db9565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613903576139036148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a87868151811061396c5761396c6148c6565b60200260200101516040516139a392919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a4806139b581614937565b915050613895565b50509550959350505050565b60005b600454811015611280576000600482815481106139eb576139eb6148c6565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600190915260408220909250905b60028201546fffffffffffffffffffffffffffffffff9081169082161015613b97576fffffffffffffffffffffffffffffffff8116600090815260018301602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1683529084905290206002810154158015613aa8575080546cffffffffffffffffffffffffff1615155b15613b32576002830154613ad490700100000000000000000000000000000000900460ff16600a614a8f565b8154613afc906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b613b069190614ab5565b600282015580547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681555b613b81818573ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2a573d6000803e3d6000fd5b5050508080613b8f90614af0565b915050613a20565b5050508080613ba590614937565b9150506139cc565b600080600080613bbd86866129c0565b915091506000828214613c2f5750600286018190556001613bdd42614127565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c86565b613c3842614127565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561071e57613d01828281518110613cb357613cb36148c6565b60200260200101516000015184848481518110613cd257613cd26148c6565b602002602001015160200151858581518110613cf057613cf06148c6565b60200260200101516040015161219b565b80613d0b81614937565b915050613c95565b60006fffffffffffffffffffffffffffffffff821115613db5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016106f0565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e709190614bad565b9050600181151514613ede576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f5200000000000000000000000000000000000060448201526064016106f0565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f54575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b156140035773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613fa9906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b613fb39190614ab5565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260018a016020526040902080547fffffffffffffffffffffffffffffffffffffff0000000000000000000000000016905590505b60008186148015906140e95773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140e95761404d8888856140f8565b915061405882613d13565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140b29084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614bcf565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141058385614b53565b61410f9086614a9e565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613db5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016106f0565b73ffffffffffffffffffffffffffffffffffffffff8116811461128057600080fd5b600080604083850312156141f257600080fd5b82356141fd816141bd565b9150602083013561420d816141bd565b809150509250929050565b60008083601f84011261422a57600080fd5b50813567ffffffffffffffff81111561424257600080fd5b6020830191508360208260051b850101111561107c57600080fd5b60008060008060006080868803121561427557600080fd5b853567ffffffffffffffff81111561428c57600080fd5b61429888828901614218565b9096509450506020860135925060408601356142b3816141bd565b915060608601356142c3816141bd565b809150509295509295909350565b6000602082840312156142e357600080fd5b81356142ee816141bd565b9392505050565b60008060006060848603121561430a57600080fd5b8335614315816141bd565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434357600080fd5b863567ffffffffffffffff81111561435a57600080fd5b61436689828a01614218565b909750955050602087013593506040870135614381816141bd565b92506060870135614391816141bd565b915060808701356143a1816141bd565b809150509295509295509295565b6000806000604084860312156143c457600080fd5b833567ffffffffffffffff8111156143db57600080fd5b6143e786828701614218565b90945092505060208401356143fb816141bd565b809150509250925092565b600081518084526020808501945080840160005b8381101561444c57815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010161441a565b509495945050505050565b60408152600061446a6040830185614406565b82810360208481019190915284518083528582019282019060005b818110156144a157845183529383019391830191600101614485565b5090979650505050505050565b6000806000606084860312156144c357600080fd5b83356144ce816141bd565b925060208401356144de816141bd565b915060408401356143fb816141bd565b6000806000806060858703121561450457600080fd5b843567ffffffffffffffff81111561451b57600080fd5b61452787828801614218565b909550935050602085013591506040850135614542816141bd565b939692955090935050565b6020815260006142ee6020830184614406565b6000806000806060858703121561457657600080fd5b843567ffffffffffffffff81111561458d57600080fd5b61459987828801614218565b90955093505060208501356145ad816141bd565b91506040850135614542816141bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561460f5761460f6145bd565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561465c5761465c6145bd565b604052919050565b80356affffffffffffffffffffff8116811461467f57600080fd5b919050565b803563ffffffff8116811461467f57600080fd5b600060208083850312156146ab57600080fd5b823567ffffffffffffffff808211156146c357600080fd5b818501915085601f8301126146d757600080fd5b8135818111156146e9576146e96145bd565b6146f7848260051b01614615565b818152848101925060e091820284018501918883111561471657600080fd5b938501935b828510156147ba5780858a0312156147335760008081fd5b61473b6145ec565b61474486614664565b81528686013587820152604061475b818801614684565b9082015260608681013561476e816141bd565b90820152608086810135614781816141bd565b9082015260a086810135614794816141bd565b9082015260c0868101356147a7816141bd565b908201528452938401939285019261471b565b50979650505050505050565b600080602083850312156147d957600080fd5b823567ffffffffffffffff8111156147f057600080fd5b613c8685828601614218565b60008060006060848603121561481157600080fd5b833561481c816141bd565b9250602084013561482c816141bd565b915061483a60408501614684565b90509250925092565b60008060008060006060868803121561485b57600080fd5b8535614866816141bd565b9450602086013567ffffffffffffffff8082111561488357600080fd5b61488f89838a01614218565b909650945060408801359150808211156148a857600080fd5b506148b588828901614218565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561066f5761066f6148f5565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614968576149686148f5565b5060010190565b600181815b808511156149c857817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156149ae576149ae6148f5565b808516156149bb57918102915b93841c9390800290614974565b509250929050565b6000826149df5750600161066f565b816149ec5750600061066f565b8160018114614a025760028114614a0c57614a28565b600191505061066f565b60ff841115614a1d57614a1d6148f5565b50506001821b61066f565b5060208310610133831016604e8410600b8410161715614a4b575081810a61066f565b614a55838361496f565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a8757614a876148f5565b029392505050565b60006142ee60ff8416836149d0565b808202811582820484141761066f5761066f6148f5565b600082614aeb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b1557614b156148f5565b6001019392505050565b600060208284031215614b3157600080fd5b5051919050565b600060208284031215614b4a57600080fd5b6142ee82614664565b8181038181111561066f5761066f6148f5565b60008060408385031215614b7957600080fd5b505080516020909101519092909150565b600060208284031215614b9c57600080fd5b815160ff811681146142ee57600080fd5b600060208284031215614bbf57600080fd5b815180151581146142ee57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614bf857614bf86148f5565b509291505056fea2646970667358221220ac88f414dbc92c49de3d37268a281369496d507f5ddc70490a1ed1a5307dfa6b64736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2ba", + "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", + "hash": "0xe9de15aaa5666456303269c9252db99b067a47bcd4fb91e49b7bc97a94141765", "transactionType": "CALL", "contractName": "RewardsController", - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", "function": "initialize(address)", "arguments": [ "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" ], "transaction": { "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "gas": "0x17f25", + "to": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "gas": "0x13a8a", "value": "0x0", "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2dc", - "chainId": "0x2105", - "accessList": null, - "type": null + "nonce": "0x2bb", + "chainId": "0x2105" }, "additionalContracts": [], "isFixedGasLimit": false @@ -50,47 +45,49 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0xb3969e", + "cumulativeGasUsed": "0x922f3c", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x74290a8d4291fee676b09c2de3cf7ce31d6a4c9995a9a94be50c68400eb0dcc9", - "transactionIndex": "0x21", - "blockHash": "0x675dbaa5be973816fd5ba7eb7bcbf8fa216fbc175992a5099fc4c42581a1e5ff", - "blockNumber": "0xe726d5", - "gasUsed": "0x41399e", - "effectiveGasPrice": "0x11c65ea", + "transactionHash": "0x428c8e3aa388238d70f6604d6ec28af4b1efbc72b1c747d89f56c3feb76e1c06", + "transactionIndex": "0x18", + "blockHash": "0x7c8db8b0acdc44df69f0579131a00c4d12f0b70f5b11920fd835a81aeaff9f90", + "blockNumber": "0xdcb5fd", + "gasUsed": "0x40d3d4", + "effectiveGasPrice": "0x34ee7cb", + "blobGasUsed": "0x0", "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", "to": null, - "contractAddress": "0x76e72019f9429c8953fe1533d9e87f221eca9049", - "l1Fee": "0x5682376595b", - "l1GasPrice": "0x45baabba4", - "l1GasUsed": "0x466d4" + "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "l1Fee": "0x1ce1c341fef", + "l1GasPrice": "0x1764cb6d9", + "l1GasUsed": "0x46158" }, { "status": "0x1", - "cumulativeGasUsed": "0x628220", + "cumulativeGasUsed": "0x626fca", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xd6c578c66fa55f166c32772d85ec0a63469243f067ee611e89db6801edd217de", - "transactionIndex": "0x26", - "blockHash": "0x74e9a7c62c47e70b18c0f303b7f7cef35cf37a9ff88f092240c3e129afab897a", - "blockNumber": "0xe726d9", - "gasUsed": "0x11564", - "effectiveGasPrice": "0x11c6a54", + "transactionHash": "0xe9de15aaa5666456303269c9252db99b067a47bcd4fb91e49b7bc97a94141765", + "transactionIndex": "0x14", + "blockHash": "0x8ac86acbe379cabd7e9305c7648f3a19396ff568cc9bfbeb955262bcf71daeab", + "blockNumber": "0xdcb601", + "gasUsed": "0xd712", + "effectiveGasPrice": "0x34bad71", + "blobGasUsed": "0x0", "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x76e72019f9429c8953fe1533d9e87f221eca9049", + "to": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", "contractAddress": null, - "l1Fee": "0xb1da33a32", - "l1GasPrice": "0x481d62173", + "l1Fee": "0x37721e5cf", + "l1GasPrice": "0x167b5e2e6", "l1GasUsed": "0x8c0" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1717086890, + "timestamp": 1715718394, "chain": 8453, - "commit": "9db0798" + "commit": "07aca23" } \ No newline at end of file diff --git a/lib/seamless-aave-v3-periphery b/lib/seamless-aave-v3-periphery index 6814e3f..e74a34b 160000 --- a/lib/seamless-aave-v3-periphery +++ b/lib/seamless-aave-v3-periphery @@ -1 +1 @@ -Subproject commit 6814e3f47a138e610ddb65d1907c8c9eec355b31 +Subproject commit e74a34bea56b1894ed38417402e6cf166874836e From 1ff7e56329b39386d34d111a915d15383b3af840 Mon Sep 17 00:00:00 2001 From: kitanovicd Date: Thu, 30 May 2024 20:00:06 +0200 Subject: [PATCH 3/3] feat: deploy proper version of reward controller --- .../8453/run-1717091889.json | 112 ++++++++++++++++++ .../8453/run-latest.json | 99 +++++++++------- lib/seamless-aave-v3-periphery | 2 +- 3 files changed, 172 insertions(+), 41 deletions(-) create mode 100644 broadcast/DeployRewardsController.s.sol/8453/run-1717091889.json diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-1717091889.json b/broadcast/DeployRewardsController.s.sol/8453/run-1717091889.json new file mode 100644 index 0000000..28dc333 --- /dev/null +++ b/broadcast/DeployRewardsController.s.sol/8453/run-1717091889.json @@ -0,0 +1,112 @@ +{ + "transactions": [ + { + "hash": "0xf05c1195cb25c6bf180245d2995ab9e416a9113ee441897b412cce73d8818f19", + "transactionType": "CREATE", + "contractName": "RewardsController", + "contractAddress": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "function": null, + "arguments": [ + "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" + ], + "transaction": { + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": null, + "gas": "0x5b5e63", + "value": "0x0", + "input": "0x60a060405260006005553480156200001657600080fd5b50604051620053843803806200538483398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b6080516152ba620000ca600039600081816105060152818161061e015281816114830152818161177701528181611e8a0152818161202f015281816120d801526121f301526152ba6000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c8063886fe70b1161012a578063bb492bf5116100bd578063cbcbb5071161008c578063e15ac62311610071578063e15ac62314610648578063f5cf673b1461065b578063f996868b1461066e57600080fd5b8063cbcbb50714610619578063dde43cba1461064057600080fd5b8063bb492bf5146105cd578063bf90f63a146105e0578063c4d66de8146105f3578063c5a7b5381461060657600080fd5b80639efd6f72116100f95780639efd6f721461053d5780639ff55db91461059f578063b022418c146105b2578063b45ac1a9146105c557600080fd5b8063886fe70b146104bc5780639085c503146104e457806392074b0814610504578063955c2ad71461052a57600080fd5b8063533f542a116101a25780636657732f116101715780636657732f1461037d57806370674ab91461039d57806374d945ec146103b05780637eff4ba8146103e957600080fd5b8063533f542a1461030b5780635453ba101461031e57806357b89883146103315780635f130b241461034457600080fd5b806331873e2e116101de57806331873e2e146102bc57806333028b99146102cf5780634a7f3644146102e25780634c0369c3146102ea57600080fd5b806311d78daa146102105780631b839c7714610225578063236300dc1461024b5780632a17bf601461025e575b600080fd5b61022361021e366004614764565b610681565b005b610238610233366004614877565b610c02565b6040519081526020015b60405180910390f35b6102386102593660046148b0565b610c62565b61029761026c366004614924565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610242565b6102236102ca366004614948565b610cfa565b6102386102dd36600461497d565b610d0b565b610223610eb7565b6102fd6102f8366004614a02565b610fab565b604051610242929190614aaa565b610238610319366004614b01565b6112fb565b61022361032c366004614877565b61146b565b61023861033f366004614b41565b611518565b610297610352366004614924565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61039061038b366004614924565b611532565b6040516102429190614ba0565b6102386103ab366004614bb3565b611684565b6102976103be366004614924565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b61049c6103f7366004614877565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610242565b6104cf6104ca366004614877565b61169b565b60408051928352602083019190915201610242565b603c546102979073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610297565b610223610538366004614ceb565b61175f565b61058d61054b366004614924565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610242565b6102fd6105ad366004614bb3565b61195f565b6102386105c0366004614877565b611b0e565b610390611bc7565b6102fd6105db366004614a02565b611c36565b6102fd6105ee366004614e19565b611ccf565b610223610601366004614924565b611cea565b610223610614366004614e4f565b611e72565b6102977f000000000000000000000000000000000000000000000000000000000000000081565b610238600381565b610223610656366004614877565b612017565b610223610669366004614877565b6120c0565b61022361067c366004614e96565b6121db565b603c5473ffffffffffffffffffffffffffffffffffffffff163314610707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e00000060448201526064015b60405180910390fd5b888714801561071557508483145b801561072057508089145b801561072b57508489145b610791576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f504152414d455445525f4c454e475448000000000000000060448201526064016106fe565b60005b89811015610bf5576000600160008d8d858181106107b4576107b4614f19565b90506020020160208101906107c99190614924565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008b8b8581811061081a5761081a614f19565b905060200201602081019061082f9190614924565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010160008a8a8681811061088557610885614f19565b905060200201602081019061089a9190614924565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905060008260010160008b8b878181106108f4576108f4614f19565b90506020020160208101906109099190614924565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16905087878581811061096757610967614f19565b905060200201358360010160008c8c8881811061098657610986614f19565b905060200201602081019061099b9190614924565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020600101558585858181106109d7576109d7614f19565b90506020020160208101906109ec9190614f48565b8360010160008c8c88818110610a0457610a04614f19565b9050602002016020810190610a199190614924565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080546fffffffffffffffffffffffffffffffff929092166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff909216919091179055898985818110610aa257610aa2614f19565b9050602002016020810190610ab79190614924565b73ffffffffffffffffffffffffffffffffffffffff168c8c86818110610adf57610adf614f19565b9050602002016020810190610af49190614924565b73ffffffffffffffffffffffffffffffffffffffff168f8f87818110610b1c57610b1c614f19565b9050602002016020810190610b319190614924565b73ffffffffffffffffffffffffffffffffffffffff167f8b9ba7b93d28c8cc75b6cd35f99111e3e3baea0ff08211126ef1aa29eb8352a685858d8d8b818110610b7c57610b7c614f19565b905060200201358c8c8c818110610b9557610b95614f19565b9050602002016020810190610baa9190614f48565b604080519485526020850193909352918301526fffffffffffffffffffffffffffffffff16606082015260800160405180910390a45050508080610bed90614fa9565b915050610794565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610ce1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b610cf086868633338888612644565b9695505050505050565b610d06338483856128db565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8616610e1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8516610e9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b610eaa898989338a8a8a612644565b9998505050505050505050565b603c5473ffffffffffffffffffffffffffffffffffffffff163314610f38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e00000060448201526064016106fe565b603c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000811690915560405173ffffffffffffffffffffffffffffffffffffffff9091169060009082907f6622677f7aa2d83adfa9d1296da4d78318036d992ef624d17c5034fb1f02d315908390a350565b6060806000610fbb868686612a92565b60035490915067ffffffffffffffff811115610fd957610fd9614c10565b604051908082528060200260200182016040528015611002578160200160208202803683370190505b509250825167ffffffffffffffff81111561101f5761101f614c10565b604051908082528060200260200182016040528015611048578160200160208202803683370190505b50915060005b81518110156112f15760005b84518110156112de576003818154811061107657611076614f19565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168582815181106110b3576110b3614f19565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001600084848151811061110357611103614f19565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600086838151811061116057611160614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1684828151811061122657611226614f19565b6020026020010181815161123a9190614fe1565b905250825183908390811061125157611251614f19565b602002602001015160200151600003156112cc576112a28686838151811061127b5761127b614f19565b602002602001015185858151811061129557611295614f19565b6020026020010151612c90565b8482815181106112b4576112b4614f19565b602002602001018181516112c89190614fe1565b9052505b806112d681614fa9565b91505061105a565b50806112e981614fa9565b91505061104e565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526001602081815260408084208686168552825280842094881684529382019052918120909101548015801561139a575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b156114635773ffffffffffffffffffffffffffffffffffffffff84166000908152600160205260408120600201546113ea90700100000000000000000000000000000000900460ff16600a615114565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190611455906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16615123565b61145f919061513a565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461150a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b6115148282612e0e565b5050565b600061152985858533333388612644565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff81111561158c5761158c614c10565b6040519080825280602002602001820160405280156115b5578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16101561167c5773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff87168086529301909152909120548451921691849190811061164557611645614f19565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101528061167481615175565b9150506115bb565b509392505050565b60006115298383611696888888612a92565b612f62565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936117529385939263b1bf962d92600480830193928290030181865afa158015611729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174d91906151a4565b613100565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146117fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b60005b81518110156119525781818151811061181c5761181c614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611872573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189691906151a4565b8282815181106118a8576118a8614f19565b602002602001015160200181815250506118fc8282815181106118cd576118cd614f19565b6020026020010151608001518383815181106118eb576118eb614f19565b602002602001015160a0015161320b565b61194082828151811061191157611911614f19565b60200260200101516080015183838151811061192f5761192f614f19565b602002602001015160c00151612e0e565b8061194a81614fa9565b915050611801565b5061195c81613371565b50565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152603960205260409020546060918291339186911682146119f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8616611a75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8516611af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b611aff8888338989613c22565b93509350505094509492505050565b60008060005b60045481101561167c576001600060048381548110611b3557611b35614f19565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611bb3906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614fe1565b915080611bbf81614fa9565b915050611b14565b60606003805480602002602001604051908101604052809291908181526020018280548015611c2c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611c01575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b611cc38585333387613c22565b91509150935093915050565b606080611cdf8484333333613c22565b915091509250929050565b60065460039060ff1680611cfd5750303b155b80611d09575060055481115b611d95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a656400000000000000000000000000000000000060648201526084016106fe565b60065460ff16158015611dd357600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a229081179091556040516000907f6622677f7aa2d83adfa9d1296da4d78318036d992ef624d17c5034fb1f02d315908290a38015610d0657600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611f11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146120b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b611514828261320b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461215f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461227a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b8281146122e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e5055540000000000000000000000000000000000000060448201526064016106fe565b60005b8381101561263c5773ffffffffffffffffffffffffffffffffffffffff8616600090815260016020526040812090818188888681811061232857612328614f19565b905060200201602081019061233d9190614924565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff1680158015906123b3575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b612419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f4558495354000000000060448201526064016106fe565b6000612493838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561246a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248e91906151a4565b614109565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff168787878181106124c9576124c9614f19565b90506020020160208101906124de91906151bd565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff90911617845589898781811061253957612539614f19565b905060200201602081019061254e9190614924565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b8181106125af576125af614f19565b90506020020160208101906125c491906151bd565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a35050505050808061263490614fa9565b9150506122e6565b505050505050565b600085600003612656575060006128d0565b600061266c856126678b8b89612a92565b6141ee565b60005b888110156128535760008a8a8381811061268b5761268b614f19565b90506020020160208101906126a09190614924565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d1684529390910190522054909150612710906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1684614fe1565b92508883116127835773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff169055612840565b600061278f8a856151d8565b905061279b81856151d8565b93506127a68161426f565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff9093169290921790915550612853565b508061284b81614fa9565b91505061266f565b50806000036128665760009150506128d0565b612871848483614315565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff90911690819003612942575050612a8c565b60005b81816fffffffffffffffffffffffffffffffff161015612a885773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806129be8389614109565b915091506000806129d2858d8d878d614441565b9150915082806129df5750805b15612a76578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612a6d939291909283526020830191909152604082015260600190565b60405180910390a45b50506001909401935061294592505050565b5050505b50505050565b60608267ffffffffffffffff811115612aad57612aad614c10565b604051908082528060200260200182016040528015612b1857816020015b612b056040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b815260200190600190039081612acb5790505b50905060005b8381101561167c57848482818110612b3857612b38614f19565b9050602002016020810190612b4d9190614924565b828281518110612b5f57612b5f614f19565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff9091169052848482818110612b9657612b96614f19565b9050602002016020810190612bab9190614924565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa158015612c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3c91906151eb565b838381518110612c4e57612c4e614f19565b6020026020010151602001848481518110612c6b57612c6b614f19565b6020908102919091010151604001919091525280612c8881614fa9565b915050612b1e565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612cda908390613100565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600180860160205260409091200154909250905080158015612d4d575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b15612dff57845173ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040812060020154612d9e90700100000000000000000000000000000000900460ff16600a615114565b73ffffffffffffffffffffffffffffffffffffffff891660009081526001860160205260409020549091508190612df1906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16615123565b612dfb919061513a565b9150505b6128d08560200151838361465a565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7f91906151a4565b13612ee6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f5052494345000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b825181101561167c57828181518110612f8157612f81614f19565b60200260200101516020015160000361302f5760016000848381518110612faa57612faa614f19565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054613028906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614fe1565b91506130ee565b6001600084838151811061304557613045614f19565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff16906130d7908790879087908690811061129557611295614f19565b6130e19190614fe1565b6130eb9083614fe1565b91505b806130f881614fa9565b915050612f66565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d01000000000000000000000000008204169178010000000000000000000000000000000000000000000000009091041681158061317c575086155b8061318657504281145b806131915750828110155b156131a55783849550955050505050611758565b60008342116131b457426131b6565b835b905060006131c483836151d8565b905060006b033b2e3c9fd0803ce80000006131df8387615123565b6131e99190615123565b8a90049050866131f98183614fe1565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116613288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f000000000000000060448201526064016106fe565b6001813b1515146132f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e54524143540000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015611514576001600083838151811061339357613393614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff1660000361346d57600482828151811061340857613408614f19565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b81818151811061347f5761347f614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f9919061520f565b6001600084848151811061350f5761350f614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061358857613588614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008484815181106135e5576135e5614f19565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff1660000361385f5782828151811061366157613661614f19565b6020026020010151608001516001600085858151811061368357613683614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600160008787815181106136e4576136e4614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160008484815181106137d0576137d0614f19565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff169161382783615175565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061387557613875614f19565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff16151590036139a5576001600260008585815181106138cf576138cf614f19565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600383838151811061394057613940614f19565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006139ce828585815181106139bd576139bd614f19565b602002602001015160200151614109565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff1690869086908110613a2f57613a2f614f19565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff9091161784558551869086908110613a9757613a97614f19565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161784558551869086908110613b0657613b06614f19565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff16868681518110613b3a57613b3a614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc584898981518110613b9057613b90614f19565b602002602001015160000151858b8b81518110613baf57613baf614f19565b60200260200101516040015189604051613c039594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a3505050508080613c1a90614fa9565b915050613374565b60035460609081908067ffffffffffffffff811115613c4357613c43614c10565b604051908082528060200260200182016040528015613c6c578160200160208202803683370190505b5092508067ffffffffffffffff811115613c8857613c88614c10565b604051908082528060200260200182016040528015613cb1578160200160208202803683370190505b509150613cc3856126678a8a89612a92565b60005b87811015613fd1576000898983818110613ce257613ce2614f19565b9050602002016020810190613cf79190614924565b905060005b83811015613fbc57600073ffffffffffffffffffffffffffffffffffffffff16868281518110613d2e57613d2e614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613ddc5760038181548110613d6457613d64614f19565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868281518110613da157613da1614f19565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040812087518290899085908110613e1757613e17614f19565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613fa95780868381518110613e9b57613e9b614f19565b60200260200101818151613eaf9190614fe1565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a9086908110613eed57613eed614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613fb481614fa9565b915050613cfc565b50508080613fc990614fa9565b915050613cc6565b5060005b818110156140fd5761401a85858381518110613ff357613ff3614f19565b602002602001015185848151811061400d5761400d614f19565b6020026020010151614315565b8473ffffffffffffffffffffffffffffffffffffffff1684828151811061404357614043614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a8786815181106140ac576140ac614f19565b60200260200101516040516140e392919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a4806140f581614fa9565b915050613fd5565b50509550959350505050565b6000806000806141198686613100565b91509150600082821461418b575060028601819055600161413942614689565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787556141e2565b61419442614689565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b8151811015610d065761425d82828151811061420f5761420f614f19565b6020026020010151600001518484848151811061422e5761422e614f19565b60200260200101516020015185858151811061424c5761424c614f19565b6020026020010151604001516128db565b8061426781614fa9565b9150506141f1565b60006fffffffffffffffffffffffffffffffff821115614311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016106fe565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af11580156143a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143cc9190615232565b905060018115151461443a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f5200000000000000000000000000000000000060448201526064016106fe565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260018087016020526040822001548190801580156144b0575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b156145655773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490614505906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16615123565b61450f919061513a565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b600081861480159061464b5773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c01602052604090912001879055871561464b576145af88888561465a565b91506145ba8261426f565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906146149084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16615254565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b60008061466783856151d8565b6146719086615123565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115614311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016106fe565b60008083601f84011261473157600080fd5b50813567ffffffffffffffff81111561474957600080fd5b6020830191508360208260051b850101111561175857600080fd5b60008060008060008060008060008060a08b8d03121561478357600080fd5b8a3567ffffffffffffffff8082111561479b57600080fd5b6147a78e838f0161471f565b909c509a5060208d01359150808211156147c057600080fd5b6147cc8e838f0161471f565b909a50985060408d01359150808211156147e557600080fd5b6147f18e838f0161471f565b909850965060608d013591508082111561480a57600080fd5b6148168e838f0161471f565b909650945060808d013591508082111561482f57600080fd5b5061483c8d828e0161471f565b915080935050809150509295989b9194979a5092959850565b73ffffffffffffffffffffffffffffffffffffffff8116811461195c57600080fd5b6000806040838503121561488a57600080fd5b823561489581614855565b915060208301356148a581614855565b809150509250929050565b6000806000806000608086880312156148c857600080fd5b853567ffffffffffffffff8111156148df57600080fd5b6148eb8882890161471f565b90965094505060208601359250604086013561490681614855565b9150606086013561491681614855565b809150509295509295909350565b60006020828403121561493657600080fd5b813561494181614855565b9392505050565b60008060006060848603121561495d57600080fd5b833561496881614855565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561499657600080fd5b863567ffffffffffffffff8111156149ad57600080fd5b6149b989828a0161471f565b9097509550506020870135935060408701356149d481614855565b925060608701356149e481614855565b915060808701356149f481614855565b809150509295509295509295565b600080600060408486031215614a1757600080fd5b833567ffffffffffffffff811115614a2e57600080fd5b614a3a8682870161471f565b9094509250506020840135614a4e81614855565b809150509250925092565b600081518084526020808501945080840160005b83811015614a9f57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614a6d565b509495945050505050565b604081526000614abd6040830185614a59565b82810360208481019190915284518083528582019282019060005b81811015614af457845183529383019391830191600101614ad8565b5090979650505050505050565b600080600060608486031215614b1657600080fd5b8335614b2181614855565b92506020840135614b3181614855565b91506040840135614a4e81614855565b60008060008060608587031215614b5757600080fd5b843567ffffffffffffffff811115614b6e57600080fd5b614b7a8782880161471f565b909550935050602085013591506040850135614b9581614855565b939692955090935050565b6020815260006149416020830184614a59565b60008060008060608587031215614bc957600080fd5b843567ffffffffffffffff811115614be057600080fd5b614bec8782880161471f565b9095509350506020850135614c0081614855565b91506040850135614b9581614855565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715614c6257614c62614c10565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614caf57614caf614c10565b604052919050565b80356affffffffffffffffffffff81168114614cd257600080fd5b919050565b803563ffffffff81168114614cd257600080fd5b60006020808385031215614cfe57600080fd5b823567ffffffffffffffff80821115614d1657600080fd5b818501915085601f830112614d2a57600080fd5b813581811115614d3c57614d3c614c10565b614d4a848260051b01614c68565b818152848101925060e0918202840185019188831115614d6957600080fd5b938501935b82851015614e0d5780858a031215614d865760008081fd5b614d8e614c3f565b614d9786614cb7565b815286860135878201526040614dae818801614cd7565b90820152606086810135614dc181614855565b90820152608086810135614dd481614855565b9082015260a086810135614de781614855565b9082015260c086810135614dfa81614855565b9082015284529384019392850192614d6e565b50979650505050505050565b60008060208385031215614e2c57600080fd5b823567ffffffffffffffff811115614e4357600080fd5b6141e28582860161471f565b600080600060608486031215614e6457600080fd5b8335614e6f81614855565b92506020840135614e7f81614855565b9150614e8d60408501614cd7565b90509250925092565b600080600080600060608688031215614eae57600080fd5b8535614eb981614855565b9450602086013567ffffffffffffffff80821115614ed657600080fd5b614ee289838a0161471f565b90965094506040880135915080821115614efb57600080fd5b50614f088882890161471f565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215614f5a57600080fd5b81356fffffffffffffffffffffffffffffffff8116811461494157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fda57614fda614f7a565b5060010190565b80820180821115610c5c57610c5c614f7a565b600181815b8085111561504d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561503357615033614f7a565b8085161561504057918102915b93841c9390800290614ff9565b509250929050565b60008261506457506001610c5c565b8161507157506000610c5c565b81600181146150875760028114615091576150ad565b6001915050610c5c565b60ff8411156150a2576150a2614f7a565b50506001821b610c5c565b5060208310610133831016604e8410600b84101617156150d0575081810a610c5c565b6150da8383614ff4565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561510c5761510c614f7a565b029392505050565b600061494160ff841683615055565b8082028115828204841417610c5c57610c5c614f7a565b600082615170577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff80831681810361519a5761519a614f7a565b6001019392505050565b6000602082840312156151b657600080fd5b5051919050565b6000602082840312156151cf57600080fd5b61494182614cb7565b81810381811115610c5c57610c5c614f7a565b600080604083850312156151fe57600080fd5b505080516020909101519092909150565b60006020828403121561522157600080fd5b815160ff8116811461494157600080fd5b60006020828403121561524457600080fd5b8151801515811461494157600080fd5b6fffffffffffffffffffffffffffffffff81811683821601908082111561527d5761527d614f7a565b509291505056fea26469706673582212200de928c2a99fbdf424e37e7c773a87ba0d877bb2c673c6fe239c4d0119d70ba164736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2dd", + "chainId": "0x2105", + "accessList": null, + "type": null + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcd2a3bd5911161a3a94aac9b31825546220656db029ce394aabeb2e69435ee97", + "transactionType": "CALL", + "contractName": "RewardsController", + "contractAddress": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "function": "initialize(address)", + "arguments": [ + "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" + ], + "transaction": { + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "gas": "0x19ce4", + "value": "0x0", + "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2de", + "chainId": "0x2105", + "accessList": null, + "type": null + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0xbbf8a2", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf05c1195cb25c6bf180245d2995ab9e416a9113ee441897b412cce73d8818f19", + "transactionIndex": "0x25", + "blockHash": "0xe3e777841cbafe56b7b48b787121510e5d8b656b7fb7651fb4f9c7140f6cbdaf", + "blockNumber": "0xe7308a", + "gasUsed": "0x464dd7", + "effectiveGasPrice": "0x584284", + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": null, + "contractAddress": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "l1Fee": "0x87d57ce7537", + "l1GasPrice": "0x655aa4374", + "l1GasUsed": "0x4c140" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x86ede1", + "logs": [ + { + "address": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "topics": [ + "0x6622677f7aa2d83adfa9d1296da4d78318036d992ef624d17c5034fb1f02d315", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000a1b5f2cc9b407177cd8a4acf1699fa0b99955a22" + ], + "data": "0x", + "blockHash": "0xa6afa7ebd69de689a6906175f601c8d66443219d3778dbf9cd8f13952be6eb34", + "blockNumber": "0xe7308e", + "transactionHash": "0xcd2a3bd5911161a3a94aac9b31825546220656db029ce394aabeb2e69435ee97", + "transactionIndex": "0x23", + "logIndex": "0xba", + "removed": false + } + ], + "logsBloom": "0x00000000000000000200000000000000000800000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008002000000000000000000000000000000000000000000000800000020000000004000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcd2a3bd5911161a3a94aac9b31825546220656db029ce394aabeb2e69435ee97", + "transactionIndex": "0x23", + "blockHash": "0xa6afa7ebd69de689a6906175f601c8d66443219d3778dbf9cd8f13952be6eb34", + "blockNumber": "0xe7308e", + "gasUsed": "0x11a52", + "effectiveGasPrice": "0x580326", + "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", + "to": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "contractAddress": null, + "l1Fee": "0xf82d91b6a", + "l1GasPrice": "0x655aa4374", + "l1GasUsed": "0x8b0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1717091889, + "chain": 8453, + "commit": "3a53dfb" +} \ No newline at end of file diff --git a/broadcast/DeployRewardsController.s.sol/8453/run-latest.json b/broadcast/DeployRewardsController.s.sol/8453/run-latest.json index 77644f4..28dc333 100644 --- a/broadcast/DeployRewardsController.s.sol/8453/run-latest.json +++ b/broadcast/DeployRewardsController.s.sol/8453/run-latest.json @@ -1,42 +1,47 @@ { "transactions": [ { - "hash": "0x428c8e3aa388238d70f6604d6ec28af4b1efbc72b1c747d89f56c3feb76e1c06", + "hash": "0xf05c1195cb25c6bf180245d2995ab9e416a9113ee441897b412cce73d8818f19", "transactionType": "CREATE", "contractName": "RewardsController", - "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "contractAddress": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", "function": null, "arguments": [ "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" ], "transaction": { "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "gas": "0x54404f", + "to": null, + "gas": "0x5b5e63", "value": "0x0", - "input": "0x60a060405260006005553480156200001657600080fd5b5060405162004cff38038062004cff83398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b608051614c35620000ca6000396000818161049a015281816105b201528181610da70152818161109b0152818161174a015281816118ef015281816119980152611ab30152614c356000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806392074b0811610104578063bf90f63a116100a2578063dde43cba11610071578063dde43cba146105d4578063e15ac623146105dc578063f5cf673b146105ef578063f996868b1461060257600080fd5b8063bf90f63a14610574578063c4d66de814610587578063c5a7b5381461059a578063cbcbb507146105ad57600080fd5b80639ff55db9116100de5780639ff55db914610533578063b022418c14610546578063b45ac1a914610559578063bb492bf51461056157600080fd5b806392074b0814610498578063955c2ad7146104be5780639efd6f72146104d157600080fd5b80635453ba101161017c57806370674ab91161014b57806370674ab91461035157806374d945ec146103645780637eff4ba81461039d578063886fe70b1461047057600080fd5b80635453ba10146102d257806357b89883146102e55780635f130b24146102f85780636657732f1461033157600080fd5b806331873e2e116101b857806331873e2e1461027657806333028b991461028b5780634c0369c31461029e578063533f542a146102bf57600080fd5b80631b839c77146101df578063236300dc146102055780632a17bf6014610218575b600080fd5b6101f26101ed3660046141df565b610615565b6040519081526020015b60405180910390f35b6101f261021336600461425d565b610675565b6102516102263660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101fc565b6102896102843660046142f5565b610712565b005b6101f261029936600461432a565b610723565b6102b16102ac3660046143af565b6108cf565b6040516101fc929190614457565b6101f26102cd3660046144ae565b610c1f565b6102896102e03660046141df565b610d8f565b6101f26102f33660046144ee565b610e3c565b6102516103063660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61034461033f3660046142d1565b610e56565b6040516101fc919061454d565b6101f261035f366004614560565b610fa8565b6102516103723660046142d1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b6104506103ab3660046141df565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b6040805194855260208501939093529183015260608201526080016101fc565b61048361047e3660046141df565b610fbf565b604080519283526020830191909152016101fc565b7f0000000000000000000000000000000000000000000000000000000000000000610251565b6102896104cc366004614698565b611083565b6105216104df3660046142d1565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff90911681526020016101fc565b6102b1610541366004614560565b611283565b6101f26105543660046141df565b611432565b6103446114eb565b6102b161056f3660046143af565b61155a565b6102b16105823660046147c6565b6115f3565b6102896105953660046142d1565b61160e565b6102896105a83660046147fc565b611732565b6102517f000000000000000000000000000000000000000000000000000000000000000081565b6101f2600281565b6102896105ea3660046141df565b6118d7565b6102896105fd3660046141df565b611980565b610289610610366004614843565b611a9b565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff83166106f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064015b60405180910390fd5b61070886868633338888611f04565b9695505050505050565b61071e3384838561219b565b505050565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152603960205260408120549091339186911682146107b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8616610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff85166108b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b6108c2898989338a8a8a611f04565b9998505050505050505050565b60608060006108df868686612352565b60035490915067ffffffffffffffff8111156108fd576108fd6145bd565b604051908082528060200260200182016040528015610926578160200160208202803683370190505b509250825167ffffffffffffffff811115610943576109436145bd565b60405190808252806020026020018201604052801561096c578160200160208202803683370190505b50915060005b8151811015610c155760005b8451811015610c02576003818154811061099a5761099a6148c6565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168582815181106109d7576109d76148c6565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060016000848481518110610a2757610a276148c6565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000868381518110610a8457610a846148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16848281518110610b4a57610b4a6148c6565b60200260200101818151610b5e9190614924565b9052508251839083908110610b7557610b756148c6565b60200260200101516020015160000315610bf057610bc686868381518110610b9f57610b9f6148c6565b6020026020010151858581518110610bb957610bb96148c6565b6020026020010151612550565b848281518110610bd857610bd86148c6565b60200260200101818151610bec9190614924565b9052505b80610bfa81614937565b91505061097e565b5080610c0d81614937565b915050610972565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260016020818152604080842086861685528252808420948816845293820190529181209091015480158015610cbe575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b15610d875773ffffffffffffffffffffffffffffffffffffffff8416600090815260016020526040812060020154610d0e90700100000000000000000000000000000000900460ff16600a614a8f565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190610d79906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b610d839190614ab5565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b610e3882826126ce565b5050565b6000610e4d85858533333388611f04565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff811115610eb057610eb06145bd565b604051908082528060200260200182016040528015610ed9578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff161015610fa05773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff871680865293019091529091205484519216918491908110610f6957610f696148c6565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015280610f9881614af0565b915050610edf565b509392505050565b6000610e4d8383610fba888888612352565b612822565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936110769385939263b1bf962d92600480830193928290030181865afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110719190614b1f565b6129c0565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b60005b815181101561127657818181518110611140576111406148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190614b1f565b8282815181106111cc576111cc6148c6565b602002602001015160200181815250506112208282815181106111f1576111f16148c6565b60200260200101516080015183838151811061120f5761120f6148c6565b602002602001015160a00151612acb565b611264828281518110611235576112356148c6565b602002602001015160800151838381518110611253576112536148c6565b602002602001015160c001516126ce565b8061126e81614937565b915050611125565b5061128081612c31565b50565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526039602052604090205460609182913391869116821461131c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8616611399576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8516611416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b61142388883389896134e2565b93509350505094509492505050565b60008060005b600454811015610fa0576001600060048381548110611459576114596148c6565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff9081168452838201949094526040928301822088851683528152828220938916825260019093019092529020546114d7906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614924565b9150806114e381614937565b915050611438565b6060600380548060200260200160405190810160405280929190818152602001828054801561155057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611525575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff83166115da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106f0565b6115e785853333876134e2565b91509150935093915050565b60608061160384843333336134e2565b915091509250929050565b60065460029060ff16806116215750303b155b8061162d575060055481115b6116b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a656400000000000000000000000000000000000060648201526084016106f0565b60065460ff161580156116f757600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b6116ff6139c9565b801561071e57600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146117d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b610e388282612acb565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611a1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611b3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106f0565b828114611ba3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e5055540000000000000000000000000000000000000060448201526064016106f0565b60005b83811015611efc5773ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260408120908181888886818110611be857611be86148c6565b9050602002016020810190611bfd91906142d1565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff168015801590611c73575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b611cd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f4558495354000000000060448201526064016106f0565b6000611d53838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4e9190614b1f565b613bad565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff16878787818110611d8957611d896148c6565b9050602002016020810190611d9e9190614b38565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff909116178455898987818110611df957611df96148c6565b9050602002016020810190611e0e91906142d1565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b818110611e6f57611e6f6148c6565b9050602002016020810190611e849190614b38565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a350505050508080611ef490614937565b915050611ba6565b505050505050565b600085600003611f1657506000612190565b6000611f2c85611f278b8b89612352565b613c92565b60005b888110156121135760008a8a83818110611f4b57611f4b6148c6565b9050602002016020810190611f6091906142d1565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d1684529390910190522054909150611fd0906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1684614924565b92508883116120435773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff169055612100565b600061204f8a85614b53565b905061205b8185614b53565b935061206681613d13565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff9093169290921790915550612113565b508061210b81614937565b915050611f2f565b5080600003612126576000915050612190565b612131848483613db9565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff9091169081900361220257505061234c565b60005b81816fffffffffffffffffffffffffffffffff1610156123485773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff87168552928301825280842054909416808452919052918120908061227e8389613bad565b91509150600080612292858d8d878d613ee5565b91509150828061229f5750805b15612336578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe887888760405161232d939291909283526020830191909152604082015260600190565b60405180910390a45b50506001909401935061220592505050565b5050505b50505050565b60608267ffffffffffffffff81111561236d5761236d6145bd565b6040519080825280602002602001820160405280156123d857816020015b6123c56040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b81526020019060019003908161238b5790505b50905060005b83811015610fa0578484828181106123f8576123f86148c6565b905060200201602081019061240d91906142d1565b82828151811061241f5761241f6148c6565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff9091169052848482818110612456576124566148c6565b905060200201602081019061246b91906142d1565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa1580156124d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fc9190614b66565b83838151811061250e5761250e6148c6565b602002602001015160200184848151811061252b5761252b6148c6565b602090810291909101015160400191909152528061254881614937565b9150506123de565b805173ffffffffffffffffffffffffffffffffffffffff9081166000908152600160209081526040808320938616835292905281812091830151909190829061259a9083906129c0565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260018086016020526040909120015490925090508015801561260d575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b156126bf57845173ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604081206002015461265e90700100000000000000000000000000000000900460ff16600a614a8f565b73ffffffffffffffffffffffffffffffffffffffff8916600090815260018601602052604090205490915081906126b1906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b6126bb9190614ab5565b9150505b612190856020015183836140f8565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561271b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273f9190614b1f565b136127a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f5052494345000000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b8251811015610fa057828181518110612841576128416148c6565b6020026020010151602001516000036128ef576001600084838151811061286a5761286a6148c6565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120888516825282528281209389168152600190930190529020546128e8906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614924565b91506129ae565b60016000848381518110612905576129056148c6565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff16906129979087908790879086908110610bb957610bb96148c6565b6129a19190614924565b6129ab9083614924565b91505b806129b881614937565b915050612826565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d010000000000000000000000000082041691780100000000000000000000000000000000000000000000000090910416811580612a3c575086155b80612a4657504281145b80612a515750828110155b15612a65578384955095505050505061107c565b6000834211612a745742612a76565b835b90506000612a848383614b53565b905060006b033b2e3c9fd0803ce8000000612a9f8387614a9e565b612aa99190614a9e565b8a9004905086612ab98183614924565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116612b48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f000000000000000060448201526064016106f0565b6001813b151514612bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e54524143540000000000000060448201526064016106f0565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015610e385760016000838381518110612c5357612c536148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff16600003612d2d576004828281518110612cc857612cc86148c6565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b818181518110612d3f57612d3f6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db99190614b8a565b60016000848481518110612dcf57612dcf6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff160217905550600060016000848481518110612e4857612e486148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000848481518110612ea557612ea56148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff1660000361311f57828281518110612f2157612f216148c6565b60200260200101516080015160016000858581518110612f4357612f436148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600060016000878781518110612fa457612fa46148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000848481518110613090576130906148c6565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff16916130e783614af0565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b60026000848481518110613135576131356148c6565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff16151590036132655760016002600085858151811061318f5761318f6148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506003838381518110613200576132006148c6565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b600061328e8285858151811061327d5761327d6148c6565b602002602001015160200151613bad565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff16908690869081106132ef576132ef6148c6565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff9091161784558551869086908110613357576133576148c6565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff90911617845585518690869081106133c6576133c66148c6565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff168686815181106133fa576133fa6148c6565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc584898981518110613450576134506148c6565b602002602001015160000151858b8b8151811061346f5761346f6148c6565b602002602001015160400151896040516134c39594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a35050505080806134da90614937565b915050612c34565b60035460609081908067ffffffffffffffff811115613503576135036145bd565b60405190808252806020026020018201604052801561352c578160200160208202803683370190505b5092508067ffffffffffffffff811115613548576135486145bd565b604051908082528060200260200182016040528015613571578160200160208202803683370190505b50915061358385611f278a8a89612352565b60005b878110156138915760008989838181106135a2576135a26148c6565b90506020020160208101906135b791906142d1565b905060005b8381101561387c57600073ffffffffffffffffffffffffffffffffffffffff168682815181106135ee576135ee6148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361369c5760038181548110613624576136246148c6565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868281518110613661576136616148c6565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120875182908990859081106136d7576136d76148c6565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613869578086838151811061375b5761375b6148c6565b6020026020010181815161376f9190614924565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a90869081106137ad576137ad6148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b508061387481614937565b9150506135bc565b5050808061388990614937565b915050613586565b5060005b818110156139bd576138da858583815181106138b3576138b36148c6565b60200260200101518584815181106138cd576138cd6148c6565b6020026020010151613db9565b8473ffffffffffffffffffffffffffffffffffffffff16848281518110613903576139036148c6565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a87868151811061396c5761396c6148c6565b60200260200101516040516139a392919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a4806139b581614937565b915050613895565b50509550959350505050565b60005b600454811015611280576000600482815481106139eb576139eb6148c6565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff16808352600190915260408220909250905b60028201546fffffffffffffffffffffffffffffffff9081169082161015613b97576fffffffffffffffffffffffffffffffff8116600090815260018301602090815260408083205473ffffffffffffffffffffffffffffffffffffffff1683529084905290206002810154158015613aa8575080546cffffffffffffffffffffffffff1615155b15613b32576002830154613ad490700100000000000000000000000000000000900460ff16600a614a8f565b8154613afc906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b613b069190614ab5565b600282015580547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681555b613b81818573ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2a573d6000803e3d6000fd5b5050508080613b8f90614af0565b915050613a20565b5050508080613ba590614937565b9150506139cc565b600080600080613bbd86866129c0565b915091506000828214613c2f5750600286018190556001613bdd42614127565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116178755613c86565b613c3842614127565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b815181101561071e57613d01828281518110613cb357613cb36148c6565b60200260200101516000015184848481518110613cd257613cd26148c6565b602002602001015160200151858581518110613cf057613cf06148c6565b60200260200101516040015161219b565b80613d0b81614937565b915050613c95565b60006fffffffffffffffffffffffffffffffff821115613db5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016106f0565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af1158015613e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e709190614bad565b9050600181151514613ede576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f5200000000000000000000000000000000000060448201526064016106f0565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001808701602052604082200154819080158015613f54575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b156140035773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490613fa9906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16614a9e565b613fb39190614ab5565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260018a016020526040902080547fffffffffffffffffffffffffffffffffffffff0000000000000000000000000016905590505b60008186148015906140e95773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c0160205260409091200187905587156140e95761404d8888856140f8565b915061405882613d13565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906140b29084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16614bcf565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b6000806141058385614b53565b61410f9086614a9e565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115613db5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016106f0565b73ffffffffffffffffffffffffffffffffffffffff8116811461128057600080fd5b600080604083850312156141f257600080fd5b82356141fd816141bd565b9150602083013561420d816141bd565b809150509250929050565b60008083601f84011261422a57600080fd5b50813567ffffffffffffffff81111561424257600080fd5b6020830191508360208260051b850101111561107c57600080fd5b60008060008060006080868803121561427557600080fd5b853567ffffffffffffffff81111561428c57600080fd5b61429888828901614218565b9096509450506020860135925060408601356142b3816141bd565b915060608601356142c3816141bd565b809150509295509295909350565b6000602082840312156142e357600080fd5b81356142ee816141bd565b9392505050565b60008060006060848603121561430a57600080fd5b8335614315816141bd565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561434357600080fd5b863567ffffffffffffffff81111561435a57600080fd5b61436689828a01614218565b909750955050602087013593506040870135614381816141bd565b92506060870135614391816141bd565b915060808701356143a1816141bd565b809150509295509295509295565b6000806000604084860312156143c457600080fd5b833567ffffffffffffffff8111156143db57600080fd5b6143e786828701614218565b90945092505060208401356143fb816141bd565b809150509250925092565b600081518084526020808501945080840160005b8381101561444c57815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010161441a565b509495945050505050565b60408152600061446a6040830185614406565b82810360208481019190915284518083528582019282019060005b818110156144a157845183529383019391830191600101614485565b5090979650505050505050565b6000806000606084860312156144c357600080fd5b83356144ce816141bd565b925060208401356144de816141bd565b915060408401356143fb816141bd565b6000806000806060858703121561450457600080fd5b843567ffffffffffffffff81111561451b57600080fd5b61452787828801614218565b909550935050602085013591506040850135614542816141bd565b939692955090935050565b6020815260006142ee6020830184614406565b6000806000806060858703121561457657600080fd5b843567ffffffffffffffff81111561458d57600080fd5b61459987828801614218565b90955093505060208501356145ad816141bd565b91506040850135614542816141bd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff8111828210171561460f5761460f6145bd565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561465c5761465c6145bd565b604052919050565b80356affffffffffffffffffffff8116811461467f57600080fd5b919050565b803563ffffffff8116811461467f57600080fd5b600060208083850312156146ab57600080fd5b823567ffffffffffffffff808211156146c357600080fd5b818501915085601f8301126146d757600080fd5b8135818111156146e9576146e96145bd565b6146f7848260051b01614615565b818152848101925060e091820284018501918883111561471657600080fd5b938501935b828510156147ba5780858a0312156147335760008081fd5b61473b6145ec565b61474486614664565b81528686013587820152604061475b818801614684565b9082015260608681013561476e816141bd565b90820152608086810135614781816141bd565b9082015260a086810135614794816141bd565b9082015260c0868101356147a7816141bd565b908201528452938401939285019261471b565b50979650505050505050565b600080602083850312156147d957600080fd5b823567ffffffffffffffff8111156147f057600080fd5b613c8685828601614218565b60008060006060848603121561481157600080fd5b833561481c816141bd565b9250602084013561482c816141bd565b915061483a60408501614684565b90509250925092565b60008060008060006060868803121561485b57600080fd5b8535614866816141bd565b9450602086013567ffffffffffffffff8082111561488357600080fd5b61488f89838a01614218565b909650945060408801359150808211156148a857600080fd5b506148b588828901614218565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561066f5761066f6148f5565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614968576149686148f5565b5060010190565b600181815b808511156149c857817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156149ae576149ae6148f5565b808516156149bb57918102915b93841c9390800290614974565b509250929050565b6000826149df5750600161066f565b816149ec5750600061066f565b8160018114614a025760028114614a0c57614a28565b600191505061066f565b60ff841115614a1d57614a1d6148f5565b50506001821b61066f565b5060208310610133831016604e8410600b8410161715614a4b575081810a61066f565b614a55838361496f565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115614a8757614a876148f5565b029392505050565b60006142ee60ff8416836149d0565b808202811582820484141761066f5761066f6148f5565b600082614aeb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff808316818103614b1557614b156148f5565b6001019392505050565b600060208284031215614b3157600080fd5b5051919050565b600060208284031215614b4a57600080fd5b6142ee82614664565b8181038181111561066f5761066f6148f5565b60008060408385031215614b7957600080fd5b505080516020909101519092909150565b600060208284031215614b9c57600080fd5b815160ff811681146142ee57600080fd5b600060208284031215614bbf57600080fd5b815180151581146142ee57600080fd5b6fffffffffffffffffffffffffffffffff818116838216019080821115614bf857614bf86148f5565b509291505056fea2646970667358221220ac88f414dbc92c49de3d37268a281369496d507f5ddc70490a1ed1a5307dfa6b64736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2ba", - "chainId": "0x2105" + "input": "0x60a060405260006005553480156200001657600080fd5b50604051620053843803806200538483398101604081905262000039916200004b565b6001600160a01b03166080526200007d565b6000602082840312156200005e57600080fd5b81516001600160a01b03811681146200007657600080fd5b9392505050565b6080516152ba620000ca600039600081816105060152818161061e015281816114830152818161177701528181611e8a0152818161202f015281816120d801526121f301526152ba6000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c8063886fe70b1161012a578063bb492bf5116100bd578063cbcbb5071161008c578063e15ac62311610071578063e15ac62314610648578063f5cf673b1461065b578063f996868b1461066e57600080fd5b8063cbcbb50714610619578063dde43cba1461064057600080fd5b8063bb492bf5146105cd578063bf90f63a146105e0578063c4d66de8146105f3578063c5a7b5381461060657600080fd5b80639efd6f72116100f95780639efd6f721461053d5780639ff55db91461059f578063b022418c146105b2578063b45ac1a9146105c557600080fd5b8063886fe70b146104bc5780639085c503146104e457806392074b0814610504578063955c2ad71461052a57600080fd5b8063533f542a116101a25780636657732f116101715780636657732f1461037d57806370674ab91461039d57806374d945ec146103b05780637eff4ba8146103e957600080fd5b8063533f542a1461030b5780635453ba101461031e57806357b89883146103315780635f130b241461034457600080fd5b806331873e2e116101de57806331873e2e146102bc57806333028b99146102cf5780634a7f3644146102e25780634c0369c3146102ea57600080fd5b806311d78daa146102105780631b839c7714610225578063236300dc1461024b5780632a17bf601461025e575b600080fd5b61022361021e366004614764565b610681565b005b610238610233366004614877565b610c02565b6040519081526020015b60405180910390f35b6102386102593660046148b0565b610c62565b61029761026c366004614924565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603b60205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610242565b6102236102ca366004614948565b610cfa565b6102386102dd36600461497d565b610d0b565b610223610eb7565b6102fd6102f8366004614a02565b610fab565b604051610242929190614aaa565b610238610319366004614b01565b6112fb565b61022361032c366004614877565b61146b565b61023861033f366004614b41565b611518565b610297610352366004614924565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603a60205260409020541690565b61039061038b366004614924565b611532565b6040516102429190614ba0565b6102386103ab366004614bb3565b611684565b6102976103be366004614924565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152603960205260409020541690565b61049c6103f7366004614877565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152206002810154905490916affffffffffffffffffffff6d01000000000000000000000000008304169163ffffffff780100000000000000000000000000000000000000000000000082048116927c01000000000000000000000000000000000000000000000000000000009092041690565b604080519485526020850193909352918301526060820152608001610242565b6104cf6104ca366004614877565b61169b565b60408051928352602083019190915201610242565b603c546102979073ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000000000000000000000000000000000000000000000610297565b610223610538366004614ceb565b61175f565b61058d61054b366004614924565b73ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040902060020154700100000000000000000000000000000000900460ff1690565b60405160ff9091168152602001610242565b6102fd6105ad366004614bb3565b61195f565b6102386105c0366004614877565b611b0e565b610390611bc7565b6102fd6105db366004614a02565b611c36565b6102fd6105ee366004614e19565b611ccf565b610223610601366004614924565b611cea565b610223610614366004614e4f565b611e72565b6102977f000000000000000000000000000000000000000000000000000000000000000081565b610238600381565b610223610656366004614877565b612017565b610223610669366004614877565b6120c0565b61022361067c366004614e96565b6121db565b603c5473ffffffffffffffffffffffffffffffffffffffff163314610707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e00000060448201526064015b60405180910390fd5b888714801561071557508483145b801561072057508089145b801561072b57508489145b610791576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f504152414d455445525f4c454e475448000000000000000060448201526064016106fe565b60005b89811015610bf5576000600160008d8d858181106107b4576107b4614f19565b90506020020160208101906107c99190614924565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008b8b8581811061081a5761081a614f19565b905060200201602081019061082f9190614924565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160010160008a8a8681811061088557610885614f19565b905060200201602081019061089a9190614924565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154905060008260010160008b8b878181106108f4576108f4614f19565b90506020020160208101906109099190614924565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16905087878581811061096757610967614f19565b905060200201358360010160008c8c8881811061098657610986614f19565b905060200201602081019061099b9190614924565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020600101558585858181106109d7576109d7614f19565b90506020020160208101906109ec9190614f48565b8360010160008c8c88818110610a0457610a04614f19565b9050602002016020810190610a199190614924565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080546fffffffffffffffffffffffffffffffff929092166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff909216919091179055898985818110610aa257610aa2614f19565b9050602002016020810190610ab79190614924565b73ffffffffffffffffffffffffffffffffffffffff168c8c86818110610adf57610adf614f19565b9050602002016020810190610af49190614924565b73ffffffffffffffffffffffffffffffffffffffff168f8f87818110610b1c57610b1c614f19565b9050602002016020810190610b319190614924565b73ffffffffffffffffffffffffffffffffffffffff167f8b9ba7b93d28c8cc75b6cd35f99111e3e3baea0ff08211126ef1aa29eb8352a685858d8d8b818110610b7c57610b7c614f19565b905060200201358c8c8c818110610b9557610b95614f19565b9050602002016020810190610baa9190614f48565b604080519485526020850193909352918301526fffffffffffffffffffffffffffffffff16606082015260800160405180910390a45050508080610bed90614fa9565b915050610794565b5050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600160209081526040808320938516835292905220547c0100000000000000000000000000000000000000000000000000000000900463ffffffff165b92915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610ce1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b610cf086868633338888612644565b9695505050505050565b610d06338483856128db565b505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260396020526040812054909133918691168214610da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8616610e1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8516610e9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b610eaa898989338a8a8a612644565b9998505050505050505050565b603c5473ffffffffffffffffffffffffffffffffffffffff163314610f38576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f4e4c595f54454d504f524152595f4f564552524944455f41444d494e00000060448201526064016106fe565b603c80547fffffffffffffffffffffffff0000000000000000000000000000000000000000811690915560405173ffffffffffffffffffffffffffffffffffffffff9091169060009082907f6622677f7aa2d83adfa9d1296da4d78318036d992ef624d17c5034fb1f02d315908390a350565b6060806000610fbb868686612a92565b60035490915067ffffffffffffffff811115610fd957610fd9614c10565b604051908082528060200260200182016040528015611002578160200160208202803683370190505b509250825167ffffffffffffffff81111561101f5761101f614c10565b604051908082528060200260200182016040528015611048578160200160208202803683370190505b50915060005b81518110156112f15760005b84518110156112de576003818154811061107657611076614f19565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168582815181106110b3576110b3614f19565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001600084848151811061110357611103614f19565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600086838151811061116057611160614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d9054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1684828151811061122657611226614f19565b6020026020010181815161123a9190614fe1565b905250825183908390811061125157611251614f19565b602002602001015160200151600003156112cc576112a28686838151811061127b5761127b614f19565b602002602001015185858151811061129557611295614f19565b6020026020010151612c90565b8482815181106112b4576112b4614f19565b602002602001018181516112c89190614fe1565b9052505b806112d681614fa9565b91505061105a565b50806112e981614fa9565b91505061104e565b5050935093915050565b73ffffffffffffffffffffffffffffffffffffffff80831660009081526001602081815260408084208686168552825280842094881684529382019052918120909101548015801561139a575073ffffffffffffffffffffffffffffffffffffffff808516600090815260016020818152604080842088861685528252808420948a16845293909101905220546cffffffffffffffffffffffffff1615155b156114635773ffffffffffffffffffffffffffffffffffffffff84166000908152600160205260408120600201546113ea90700100000000000000000000000000000000900460ff16600a615114565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001602081815260408084208a861685528252808420948c16845293909101905220549091508190611455906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16615123565b61145f919061513a565b9150505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461150a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b6115148282612e0e565b5050565b600061152985858533333388612644565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120600201546060916fffffffffffffffffffffffffffffffff909116908167ffffffffffffffff81111561158c5761158c614c10565b6040519080825280602002602001820160405280156115b5578160200160208202803683370190505b50905060005b826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16101561167c5773ffffffffffffffffffffffffffffffffffffffff80861660009081526001602081815260408084206fffffffffffffffffffffffffffffffff87168086529301909152909120548451921691849190811061164557611645614f19565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101528061167481615175565b9150506115bb565b509392505050565b60006115298383611696888888612a92565b612f62565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600160209081526040808320948616835293815283822084517fb1bf962d00000000000000000000000000000000000000000000000000000000815294519294859491936117529385939263b1bf962d92600480830193928290030181865afa158015611729573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174d91906151a4565b613100565b92509250505b9250929050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146117fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b60005b81518110156119525781818151811061181c5761181c614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611872573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189691906151a4565b8282815181106118a8576118a8614f19565b602002602001015160200181815250506118fc8282815181106118cd576118cd614f19565b6020026020010151608001518383815181106118eb576118eb614f19565b602002602001015160a0015161320b565b61194082828151811061191157611911614f19565b60200260200101516080015183838151811061192f5761192f614f19565b602002602001015160c00151612e0e565b8061194a81614fa9565b915050611801565b5061195c81613371565b50565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152603960205260409020546060918291339186911682146119f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f434c41494d45525f554e415554484f52495a454400000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8616611a75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f555345525f4144445245535300000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8516611af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b611aff8888338989613c22565b93509350505094509492505050565b60008060005b60045481101561167c576001600060048381548110611b3557611b35614f19565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff908116845283820194909452604092830182208885168352815282822093891682526001909301909252902054611bb3906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614fe1565b915080611bbf81614fa9565b915050611b14565b60606003805480602002602001604051908101604052809291908181526020018280548015611c2c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611c01575b5050505050905090565b60608073ffffffffffffffffffffffffffffffffffffffff8316611cb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f544f5f41444452455353000000000000000000000000000060448201526064016106fe565b611cc38585333387613c22565b91509150935093915050565b606080611cdf8484333333613c22565b915091509250929050565b60065460039060ff1680611cfd5750303b155b80611d09575060055481115b611d95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201527f656e20696e697469616c697a656400000000000000000000000000000000000060648201526084016106fe565b60065460ff16158015611dd357600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560058290555b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673a1b5f2cc9b407177cd8a4acf1699fa0b99955a229081179091556040516000907f6622677f7aa2d83adfa9d1296da4d78318036d992ef624d17c5034fb1f02d315908290a38015610d0657600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611f11576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260016020908152604080832094871680845294825291829020805463ffffffff8781167c01000000000000000000000000000000000000000000000000000000008181027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff85161780865560029095015487516affffffffffffffffffffff6d010000000000000000000000000090970496909616808752968601969096529092041693820184905260608201526080810191909152909291907fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc59060a00160405180910390a350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146120b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b611514828261320b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461215f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526039602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f4925eafc82d0c4d67889898eeed64b18488ab19811e61620f387026dec126a289190a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461227a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f4e4c595f454d495353494f4e5f4d414e41474552000000000000000000000060448201526064016106fe565b8281146122e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f494e56414c49445f494e5055540000000000000000000000000000000000000060448201526064016106fe565b60005b8381101561263c5773ffffffffffffffffffffffffffffffffffffffff8616600090815260016020526040812090818188888681811061232857612328614f19565b905060200201602081019061233d9190614924565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000206002830154909150700100000000000000000000000000000000900460ff1680158015906123b3575081547801000000000000000000000000000000000000000000000000900463ffffffff1615155b612419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f444953545249425554494f4e5f444f45535f4e4f545f4558495354000000000060448201526064016106fe565b6000612493838b73ffffffffffffffffffffffffffffffffffffffff1663b1bf962d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561246a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248e91906151a4565b614109565b5083549091506d010000000000000000000000000090046affffffffffffffffffffff168787878181106124c9576124c9614f19565b90506020020160208101906124de91906151bd565b84546affffffffffffffffffffff919091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff90911617845589898781811061253957612539614f19565b905060200201602081019061254e9190614924565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc5838b8b8b8181106125af576125af614f19565b90506020020160208101906125c491906151bd565b8854604080519384526affffffffffffffffffffff90921660208401527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690820181905260608201526080810186905260a00160405180910390a35050505050808061263490614fa9565b9150506122e6565b505050505050565b600085600003612656575060006128d0565b600061266c856126678b8b89612a92565b6141ee565b60005b888110156128535760008a8a8381811061268b5761268b614f19565b90506020020160208101906126a09190614924565b73ffffffffffffffffffffffffffffffffffffffff81811660009081526001602081815260408084208b861685528252808420948d1684529390910190522054909150612710906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1684614fe1565b92508883116127835773ffffffffffffffffffffffffffffffffffffffff80821660009081526001602081815260408084208a861685528252808420948c1684529390910190522080547fffffff00000000000000000000000000000000ffffffffffffffffffffffffff169055612840565b600061278f8a856151d8565b905061279b81856151d8565b93506127a68161426f565b73ffffffffffffffffffffffffffffffffffffffff92831660009081526001602081815260408084208b881685528252808420968d1684529590910190529290922080546fffffffffffffffffffffffffffffffff939093166d0100000000000000000000000000027fffffff00000000000000000000000000000000ffffffffffffffffffffffffff9093169290921790915550612853565b508061284b81614fa9565b91505061266f565b50806000036128665760009150506128d0565b612871848483614315565b6040805173ffffffffffffffffffffffffffffffffffffffff8881168252602082018490528087169286821692918916917fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f004910160405180910390a490505b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081206002015460ff700100000000000000000000000000000000820416600a0a916fffffffffffffffffffffffffffffffff90911690819003612942575050612a8c565b60005b81816fffffffffffffffffffffffffffffffff161015612a885773ffffffffffffffffffffffffffffffffffffffff80881660009081526001602081815260408084206fffffffffffffffffffffffffffffffff8716855292830182528084205490941680845291905291812090806129be8389614109565b915091506000806129d2858d8d878d614441565b9150915082806129df5750805b15612a76578b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff167f3303facd24627943a92e9dc87cfbb34b15c49b726eec3ad3487c16be9ab8efe8878887604051612a6d939291909283526020830191909152604082015260600190565b60405180910390a45b50506001909401935061294592505050565b5050505b50505050565b60608267ffffffffffffffff811115612aad57612aad614c10565b604051908082528060200260200182016040528015612b1857816020015b612b056040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b815260200190600190039081612acb5790505b50905060005b8381101561167c57848482818110612b3857612b38614f19565b9050602002016020810190612b4d9190614924565b828281518110612b5f57612b5f614f19565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff9091169052848482818110612b9657612b96614f19565b9050602002016020810190612bab9190614924565b6040517f0afbcdc900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529190911690630afbcdc9906024016040805180830381865afa158015612c18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3c91906151eb565b838381518110612c4e57612c4e614f19565b6020026020010151602001848481518110612c6b57612c6b614f19565b6020908102919091010151604001919091525280612c8881614fa9565b915050612b1e565b805173ffffffffffffffffffffffffffffffffffffffff90811660009081526001602090815260408083209386168352929052818120918301519091908290612cda908390613100565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600180860160205260409091200154909250905080158015612d4d575073ffffffffffffffffffffffffffffffffffffffff871660009081526001840160205260409020546cffffffffffffffffffffffffff1615155b15612dff57845173ffffffffffffffffffffffffffffffffffffffff16600090815260016020526040812060020154612d9e90700100000000000000000000000000000000900460ff16600a615114565b73ffffffffffffffffffffffffffffffffffffffff891660009081526001860160205260409020549091508190612df1906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16615123565b612dfb919061513a565b9150505b6128d08560200151838361465a565b60008173ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e7f91906151a4565b13612ee6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4f5241434c455f4d5553545f52455455524e5f5052494345000000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603b602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f1a1cd5483e52e60b9ff7f3b9d1db3bbd9e9d21c6324ad3a8c79dba9b75e62f4d9190a35050565b6000805b825181101561167c57828181518110612f8157612f81614f19565b60200260200101516020015160000361302f5760016000848381518110612faa57612faa614f19565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600090812088851682528252828120938916815260019093019052902054613028906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1683614fe1565b91506130ee565b6001600084838151811061304557613045614f19565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff908116835282820193909352604091820160009081208885168252825282812093891681526001909301905290205483516d01000000000000000000000000009091046fffffffffffffffffffffffffffffffff16906130d7908790879087908690811061129557611295614f19565b6130e19190614fe1565b6130eb9083614fe1565b91505b806130f881614fa9565b915050612f66565b60028201548254600091829163ffffffff7c010000000000000000000000000000000000000000000000000000000082048116916affffffffffffffffffffff6d01000000000000000000000000008204169178010000000000000000000000000000000000000000000000009091041681158061317c575086155b8061318657504281145b806131915750828110155b156131a55783849550955050505050611758565b60008342116131b457426131b6565b835b905060006131c483836151d8565b905060006b033b2e3c9fd0803ce80000006131df8387615123565b6131e99190615123565b8a90049050866131f98183614fe1565b98509850505050505050509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116613288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f53545241544547595f43414e5f4e4f545f42455f5a45524f000000000000000060448201526064016106fe565b6001813b1515146132f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f53545241544547595f4d5553545f42455f434f4e54524143540000000000000060448201526064016106fe565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f8ca1d928f1d72493a6b78c4f74aabde976bc37ffe2570f2a1ce5a8abd3dde0aa9190a35050565b60005b8151811015611514576001600083838151811061339357613393614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160109054906101000a900460ff1660ff1660000361346d57600482828151811061340857613408614f19565b6020908102919091018101516060015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b81818151811061347f5761347f614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156134d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134f9919061520f565b6001600084848151811061350f5761350f614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160106101000a81548160ff021916908360ff16021790555060006001600084848151811061358857613588614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008484815181106135e5576135e5614f19565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000160189054906101000a900463ffffffff1663ffffffff1660000361385f5782828151811061366157613661614f19565b6020026020010151608001516001600085858151811061368357613683614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016000600160008787815181106136e4576136e4614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160008484815181106137d0576137d0614f19565b6020908102919091018101516060015173ffffffffffffffffffffffffffffffffffffffff168252810191909152604001600090812060020180546fffffffffffffffffffffffffffffffff169161382783615175565b91906101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b6002600084848151811061387557613875614f19565b6020908102919091018101516080015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160009081205460ff16151590036139a5576001600260008585815181106138cf576138cf614f19565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600383838151811061394057613940614f19565b6020908102919091018101516080015182546001810184556000938452919092200180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790555b60006139ce828585815181106139bd576139bd614f19565b602002602001015160200151614109565b50825485519192506d010000000000000000000000000081046affffffffffffffffffffff16917c010000000000000000000000000000000000000000000000000000000090910463ffffffff1690869086908110613a2f57613a2f614f19565b60209081029190910101515184546affffffffffffffffffffff9091166d0100000000000000000000000000027fffffffffffffffff0000000000000000000000ffffffffffffffffffffffffff9091161784558551869086908110613a9757613a97614f19565b602090810291909101015160400151845463ffffffff9091167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161784558551869086908110613b0657613b06614f19565b60200260200101516080015173ffffffffffffffffffffffffffffffffffffffff16868681518110613b3a57613b3a614f19565b60200260200101516060015173ffffffffffffffffffffffffffffffffffffffff167fac1777479f07f3e7c34da8402139d54027a6a260caaae168bdee825ca5580dc584898981518110613b9057613b90614f19565b602002602001015160000151858b8b81518110613baf57613baf614f19565b60200260200101516040015189604051613c039594939291906affffffffffffffffffffff958616815293909416602084015263ffffffff9182166040840152166060820152608081019190915260a00190565b60405180910390a3505050508080613c1a90614fa9565b915050613374565b60035460609081908067ffffffffffffffff811115613c4357613c43614c10565b604051908082528060200260200182016040528015613c6c578160200160208202803683370190505b5092508067ffffffffffffffff811115613c8857613c88614c10565b604051908082528060200260200182016040528015613cb1578160200160208202803683370190505b509150613cc3856126678a8a89612a92565b60005b87811015613fd1576000898983818110613ce257613ce2614f19565b9050602002016020810190613cf79190614924565b905060005b83811015613fbc57600073ffffffffffffffffffffffffffffffffffffffff16868281518110613d2e57613d2e614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603613ddc5760038181548110613d6457613d64614f19565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16868281518110613da157613da1614f19565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040812087518290899085908110613e1757613e17614f19565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff90811683528282019390935260409182016000908120938d168152600190930190529020546d010000000000000000000000000090046fffffffffffffffffffffffffffffffff1690508015613fa95780868381518110613e9b57613e9b614f19565b60200260200101818151613eaf9190614fe1565b90525073ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260408120885182908a9086908110613eed57613eed614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600d6101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b5080613fb481614fa9565b915050613cfc565b50508080613fc990614fa9565b915050613cc6565b5060005b818110156140fd5761401a85858381518110613ff357613ff3614f19565b602002602001015185848151811061400d5761400d614f19565b6020026020010151614315565b8473ffffffffffffffffffffffffffffffffffffffff1684828151811061404357614043614f19565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc052130bc4ef84580db505783484b067ea8b71b3bca78a7e12db7aea8658f0048a8786815181106140ac576140ac614f19565b60200260200101516040516140e392919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a4806140f581614fa9565b915050613fd5565b50509550959350505050565b6000806000806141198686613100565b91509150600082821461418b575060028601819055600161413942614689565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787556141e2565b61419442614689565b875463ffffffff919091167801000000000000000000000000000000000000000000000000027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff9091161787555b90969095509350505050565b60005b8151811015610d065761425d82828151811061420f5761420f614f19565b6020026020010151600001518484848151811061422e5761422e614f19565b60200260200101516020015185858151811061424c5761424c614f19565b6020026020010151604001516128db565b8061426781614fa9565b9150506141f1565b60006fffffffffffffffffffffffffffffffff821115614311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016106fe565b5090565b73ffffffffffffffffffffffffffffffffffffffff8281166000818152603a60205260408082205490517f16beb9820000000000000000000000000000000000000000000000000000000081528785166004820152602481019390935260448301859052909216919082906316beb982906064016020604051808303816000875af11580156143a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143cc9190615232565b905060018115151461443a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5452414e534645525f4552524f5200000000000000000000000000000000000060448201526064016106fe565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260018087016020526040822001548190801580156144b0575073ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020546cffffffffffffffffffffffffff1615155b156145655773ffffffffffffffffffffffffffffffffffffffff871660009081526001890160205260409020548490614505906b033b2e3c9fd0803ce8000000906cffffffffffffffffffffffffff16615123565b61450f919061513a565b73ffffffffffffffffffffffffffffffffffffffff881660009081526001808b01602052604090912080547fffffffffffffffffffffffffffffffffffffff000000000000000000000000001681550181905590505b600081861480159061464b5773ffffffffffffffffffffffffffffffffffffffff891660009081526001808c01602052604090912001879055871561464b576145af88888561465a565b91506145ba8261426f565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260018c01602052604090208054600d906146149084906d010000000000000000000000000090046fffffffffffffffffffffffffffffffff16615254565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b90999098509650505050505050565b60008061466783856151d8565b6146719086615123565b6b033b2e3c9fd0803ce8000000900495945050505050565b600063ffffffff821115614311576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201527f322062697473000000000000000000000000000000000000000000000000000060648201526084016106fe565b60008083601f84011261473157600080fd5b50813567ffffffffffffffff81111561474957600080fd5b6020830191508360208260051b850101111561175857600080fd5b60008060008060008060008060008060a08b8d03121561478357600080fd5b8a3567ffffffffffffffff8082111561479b57600080fd5b6147a78e838f0161471f565b909c509a5060208d01359150808211156147c057600080fd5b6147cc8e838f0161471f565b909a50985060408d01359150808211156147e557600080fd5b6147f18e838f0161471f565b909850965060608d013591508082111561480a57600080fd5b6148168e838f0161471f565b909650945060808d013591508082111561482f57600080fd5b5061483c8d828e0161471f565b915080935050809150509295989b9194979a5092959850565b73ffffffffffffffffffffffffffffffffffffffff8116811461195c57600080fd5b6000806040838503121561488a57600080fd5b823561489581614855565b915060208301356148a581614855565b809150509250929050565b6000806000806000608086880312156148c857600080fd5b853567ffffffffffffffff8111156148df57600080fd5b6148eb8882890161471f565b90965094505060208601359250604086013561490681614855565b9150606086013561491681614855565b809150509295509295909350565b60006020828403121561493657600080fd5b813561494181614855565b9392505050565b60008060006060848603121561495d57600080fd5b833561496881614855565b95602085013595506040909401359392505050565b60008060008060008060a0878903121561499657600080fd5b863567ffffffffffffffff8111156149ad57600080fd5b6149b989828a0161471f565b9097509550506020870135935060408701356149d481614855565b925060608701356149e481614855565b915060808701356149f481614855565b809150509295509295509295565b600080600060408486031215614a1757600080fd5b833567ffffffffffffffff811115614a2e57600080fd5b614a3a8682870161471f565b9094509250506020840135614a4e81614855565b809150509250925092565b600081518084526020808501945080840160005b83811015614a9f57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614a6d565b509495945050505050565b604081526000614abd6040830185614a59565b82810360208481019190915284518083528582019282019060005b81811015614af457845183529383019391830191600101614ad8565b5090979650505050505050565b600080600060608486031215614b1657600080fd5b8335614b2181614855565b92506020840135614b3181614855565b91506040840135614a4e81614855565b60008060008060608587031215614b5757600080fd5b843567ffffffffffffffff811115614b6e57600080fd5b614b7a8782880161471f565b909550935050602085013591506040850135614b9581614855565b939692955090935050565b6020815260006149416020830184614a59565b60008060008060608587031215614bc957600080fd5b843567ffffffffffffffff811115614be057600080fd5b614bec8782880161471f565b9095509350506020850135614c0081614855565b91506040850135614b9581614855565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715614c6257614c62614c10565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614caf57614caf614c10565b604052919050565b80356affffffffffffffffffffff81168114614cd257600080fd5b919050565b803563ffffffff81168114614cd257600080fd5b60006020808385031215614cfe57600080fd5b823567ffffffffffffffff80821115614d1657600080fd5b818501915085601f830112614d2a57600080fd5b813581811115614d3c57614d3c614c10565b614d4a848260051b01614c68565b818152848101925060e0918202840185019188831115614d6957600080fd5b938501935b82851015614e0d5780858a031215614d865760008081fd5b614d8e614c3f565b614d9786614cb7565b815286860135878201526040614dae818801614cd7565b90820152606086810135614dc181614855565b90820152608086810135614dd481614855565b9082015260a086810135614de781614855565b9082015260c086810135614dfa81614855565b9082015284529384019392850192614d6e565b50979650505050505050565b60008060208385031215614e2c57600080fd5b823567ffffffffffffffff811115614e4357600080fd5b6141e28582860161471f565b600080600060608486031215614e6457600080fd5b8335614e6f81614855565b92506020840135614e7f81614855565b9150614e8d60408501614cd7565b90509250925092565b600080600080600060608688031215614eae57600080fd5b8535614eb981614855565b9450602086013567ffffffffffffffff80821115614ed657600080fd5b614ee289838a0161471f565b90965094506040880135915080821115614efb57600080fd5b50614f088882890161471f565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215614f5a57600080fd5b81356fffffffffffffffffffffffffffffffff8116811461494157600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614fda57614fda614f7a565b5060010190565b80820180821115610c5c57610c5c614f7a565b600181815b8085111561504d57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561503357615033614f7a565b8085161561504057918102915b93841c9390800290614ff9565b509250929050565b60008261506457506001610c5c565b8161507157506000610c5c565b81600181146150875760028114615091576150ad565b6001915050610c5c565b60ff8411156150a2576150a2614f7a565b50506001821b610c5c565b5060208310610133831016604e8410600b84101617156150d0575081810a610c5c565b6150da8383614ff4565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0482111561510c5761510c614f7a565b029392505050565b600061494160ff841683615055565b8082028115828204841417610c5c57610c5c614f7a565b600082615170577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60006fffffffffffffffffffffffffffffffff80831681810361519a5761519a614f7a565b6001019392505050565b6000602082840312156151b657600080fd5b5051919050565b6000602082840312156151cf57600080fd5b61494182614cb7565b81810381811115610c5c57610c5c614f7a565b600080604083850312156151fe57600080fd5b505080516020909101519092909150565b60006020828403121561522157600080fd5b815160ff8116811461494157600080fd5b60006020828403121561524457600080fd5b8151801515811461494157600080fd5b6fffffffffffffffffffffffffffffffff81811683821601908082111561527d5761527d614f7a565b509291505056fea26469706673582212200de928c2a99fbdf424e37e7c773a87ba0d877bb2c673c6fe239c4d0119d70ba164736f6c634300081500330000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", + "nonce": "0x2dd", + "chainId": "0x2105", + "accessList": null, + "type": null }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xe9de15aaa5666456303269c9252db99b067a47bcd4fb91e49b7bc97a94141765", + "hash": "0xcd2a3bd5911161a3a94aac9b31825546220656db029ce394aabeb2e69435ee97", "transactionType": "CALL", "contractName": "RewardsController", - "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "contractAddress": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", "function": "initialize(address)", "arguments": [ "0x6e081F9ebb2B2f07C2f771074EBB32dDac141d14" ], "transaction": { "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", - "gas": "0x13a8a", + "to": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "gas": "0x19ce4", "value": "0x0", "input": "0xc4d66de80000000000000000000000006e081f9ebb2b2f07c2f771074ebb32ddac141d14", - "nonce": "0x2bb", - "chainId": "0x2105" + "nonce": "0x2de", + "chainId": "0x2105", + "accessList": null, + "type": null }, "additionalContracts": [], "isFixedGasLimit": false @@ -45,49 +50,63 @@ "receipts": [ { "status": "0x1", - "cumulativeGasUsed": "0x922f3c", + "cumulativeGasUsed": "0xbbf8a2", "logs": [], "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0x428c8e3aa388238d70f6604d6ec28af4b1efbc72b1c747d89f56c3feb76e1c06", - "transactionIndex": "0x18", - "blockHash": "0x7c8db8b0acdc44df69f0579131a00c4d12f0b70f5b11920fd835a81aeaff9f90", - "blockNumber": "0xdcb5fd", - "gasUsed": "0x40d3d4", - "effectiveGasPrice": "0x34ee7cb", - "blobGasUsed": "0x0", + "transactionHash": "0xf05c1195cb25c6bf180245d2995ab9e416a9113ee441897b412cce73d8818f19", + "transactionIndex": "0x25", + "blockHash": "0xe3e777841cbafe56b7b48b787121510e5d8b656b7fb7651fb4f9c7140f6cbdaf", + "blockNumber": "0xe7308a", + "gasUsed": "0x464dd7", + "effectiveGasPrice": "0x584284", "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", "to": null, - "contractAddress": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", - "l1Fee": "0x1ce1c341fef", - "l1GasPrice": "0x1764cb6d9", - "l1GasUsed": "0x46158" + "contractAddress": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "l1Fee": "0x87d57ce7537", + "l1GasPrice": "0x655aa4374", + "l1GasUsed": "0x4c140" }, { "status": "0x1", - "cumulativeGasUsed": "0x626fca", - "logs": [], - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cumulativeGasUsed": "0x86ede1", + "logs": [ + { + "address": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", + "topics": [ + "0x6622677f7aa2d83adfa9d1296da4d78318036d992ef624d17c5034fb1f02d315", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000a1b5f2cc9b407177cd8a4acf1699fa0b99955a22" + ], + "data": "0x", + "blockHash": "0xa6afa7ebd69de689a6906175f601c8d66443219d3778dbf9cd8f13952be6eb34", + "blockNumber": "0xe7308e", + "transactionHash": "0xcd2a3bd5911161a3a94aac9b31825546220656db029ce394aabeb2e69435ee97", + "transactionIndex": "0x23", + "logIndex": "0xba", + "removed": false + } + ], + "logsBloom": "0x00000000000000000200000000000000000800000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008002000000000000000000000000000000000000000000000800000020000000004000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "transactionHash": "0xe9de15aaa5666456303269c9252db99b067a47bcd4fb91e49b7bc97a94141765", - "transactionIndex": "0x14", - "blockHash": "0x8ac86acbe379cabd7e9305c7648f3a19396ff568cc9bfbeb955262bcf71daeab", - "blockNumber": "0xdcb601", - "gasUsed": "0xd712", - "effectiveGasPrice": "0x34bad71", - "blobGasUsed": "0x0", + "transactionHash": "0xcd2a3bd5911161a3a94aac9b31825546220656db029ce394aabeb2e69435ee97", + "transactionIndex": "0x23", + "blockHash": "0xa6afa7ebd69de689a6906175f601c8d66443219d3778dbf9cd8f13952be6eb34", + "blockNumber": "0xe7308e", + "gasUsed": "0x11a52", + "effectiveGasPrice": "0x580326", "from": "0x33eb4dea4931e5d607531fb08bd393944aa01faa", - "to": "0x8243de25c4b8a2ff57f38f89f7c989f7d0fc2850", + "to": "0x36321e1b5e41f3b719e7618dae96619164d1bd89", "contractAddress": null, - "l1Fee": "0x37721e5cf", - "l1GasPrice": "0x167b5e2e6", - "l1GasUsed": "0x8c0" + "l1Fee": "0xf82d91b6a", + "l1GasPrice": "0x655aa4374", + "l1GasUsed": "0x8b0" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1715718394, + "timestamp": 1717091889, "chain": 8453, - "commit": "07aca23" + "commit": "3a53dfb" } \ No newline at end of file diff --git a/lib/seamless-aave-v3-periphery b/lib/seamless-aave-v3-periphery index e74a34b..188903e 160000 --- a/lib/seamless-aave-v3-periphery +++ b/lib/seamless-aave-v3-periphery @@ -1 +1 @@ -Subproject commit e74a34bea56b1894ed38417402e6cf166874836e +Subproject commit 188903ea6481ce2abdb8170de25b02b8ec4e1432