60806040526064601a55610442601b55610898601c5561190a601d556020805460ff191660011790553480156200003557600080fd5b506040516200573838038062005738833981016040819052620000589162000702565b8686868686848481600290805190602001906200007792919062000523565b5080516200008d90600390602084019062000523565b5050600c805460ff1916905550620000a53362000364565b8251620000ba90600f90602086019062000523565b508151620000d090601090602085019062000523565b50620000de600033620003be565b620000eb600082620003be565b620001066000805160206200571883398151915233620003be565b620001216000805160206200571883398151915282620003be565b6200013c600080516020620056f883398151915233620003be565b62000157600080516020620056f883398151915282620003be565b5050601380546001600160a01b0319166001600160a01b038716179055505081518291506000906200019957634e487b7160e01b600052603260045260246000fd5b6020026020010151601460006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080600181518110620001e957634e487b7160e01b600052603260045260246000fd5b6020026020010151601560006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806002815181106200023957634e487b7160e01b600052603260045260246000fd5b6020026020010151601660006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806003815181106200028957634e487b7160e01b600052603260045260246000fd5b6020026020010151601860006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080600481518110620002d957634e487b7160e01b600052603260045260246000fd5b6020026020010151601760006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806005815181106200032957634e487b7160e01b600052603260045260246000fd5b6020026020010151601960006101000a8154816001600160a01b0302191690836001600160a01b0316021790555050505050505050620008a1565b600c80546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b620003d582826200040160201b620028171760201c565b6000828152600160209081526040909120620003fc9183906200282162000411821b17901c565b505050565b6200040d828262000431565b5050565b600062000428836001600160a01b038416620004d1565b90505b92915050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200040d576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556200048d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008181526001830160205260408120546200051a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200042b565b5060006200042b565b828054620005319062000835565b90600052602060002090601f016020900481019282620005555760008555620005a0565b82601f106200057057805160ff1916838001178555620005a0565b82800160010185558215620005a0579182015b82811115620005a057825182559160200191906001019062000583565b50620005ae929150620005b2565b5090565b5b80821115620005ae5760008155600101620005b3565b8051620005d68162000888565b919050565b600082601f830112620005ec578081fd5b815160206001600160401b038211156200060a576200060a62000872565b8160051b6200061b82820162000802565b83815282810190868401838801850189101562000636578687fd5b8693505b8584101562000665578051620006508162000888565b8352600193909301929184019184016200063a565b50979650505050505050565b600082601f83011262000682578081fd5b81516001600160401b038111156200069e576200069e62000872565b6020620006b4601f8301601f1916820162000802565b8281528582848701011115620006c8578384fd5b835b83811015620006e7578581018301518282018401528201620006ca565b83811115620006f857848385840101525b5095945050505050565b600080600080600080600060e0888a0312156200071d578283fd5b87516001600160401b038082111562000734578485fd5b620007428b838c0162000671565b985060208a015191508082111562000758578485fd5b620007668b838c0162000671565b975060408a01519150808211156200077c578485fd5b6200078a8b838c0162000671565b965060608a0151915080821115620007a0578485fd5b620007ae8b838c0162000671565b9550620007be60808b01620005c9565b9450620007ce60a08b01620005c9565b935060c08a0151915080821115620007e4578283fd5b50620007f38a828b01620005db565b91505092959891949750929550565b604051601f8201601f191681016001600160401b03811182821017156200082d576200082d62000872565b604052919050565b600181811c908216806200084a57607f821691505b602082108114156200086c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200089e57600080fd5b50565b614e4780620008b16000396000f3fe6080604052600436106103c35760003560e01c806383a1919a116101f2578063c20011651161010d578063da7fc24f116100a0578063e985e9c51161006f578063e985e9c514610b2f578063eecd393114610b78578063f2fde38b14610b8b578063f90be7d914610bab57600080fd5b8063da7fc24f14610aa6578063e63ab1e914610ac6578063e7bea69f14610afa578063e8a3d48514610b1a57600080fd5b8063d19d85e9116100dc578063d19d85e914610a0d578063d539139314610a2b578063d547741f14610a5f578063d75e611014610a7f57600080fd5b8063c20011651461098f578063c55765f2146109ad578063c87b56dd146109cd578063ca15c873146109ed57600080fd5b806395d89b4111610185578063a22cb46511610154578063a22cb4651461091c578063b88d4fde1461093c578063bc7b941e1461095c578063bcaa94921461096f57600080fd5b806395d89b41146108b257806395df0d99146108c7578063a201fc50146108e7578063a217fddf1461090757600080fd5b806386dbd333116101c157806386dbd333146108315780638da5cb5b1461084f5780639010d07c1461087257806391d148541461089257600080fd5b806383a1919a146107be57806383a72302146107de5780638456cb59146107fc5780638617141b1461081157600080fd5b806342842e0e116102e2578063594eda641161027557806370a082311161024457806370a0823114610749578063715018a6146107695780637f6497831461077e57806382b446b11461079e57600080fd5b8063594eda64146106d35780635ab0e299146106f15780635c975abb146107115780636352211e1461072957600080fd5b80634f6ccce7116102b15780634f6ccce714610653578063548db1741461067357806355310ea61461069357806355f804b3146106b357600080fd5b806342842e0e146105e957806342966c681461060957806347e24a5d1461062957806348a1e66b1461063e57600080fd5b806318160ddd1161035a5780632f2ff15d116103295780632f2ff15d146105745780632f745c591461059457806336568abe146105b45780633f4ba83a146105d457600080fd5b806318160ddd146104ef5780631bccaf641461050e57806323b872dd14610524578063248a9ca31461054457600080fd5b8063095ea7b311610396578063095ea7b3146104795780630eb34660146104995780630f6f1f5f146104b7578063162094c4146104cf57600080fd5b806301ffc9a7146103c857806305fc6389146103fd57806306fdde031461041f578063081812fc14610441575b600080fd5b3480156103d457600080fd5b506103e86103e336600461482e565b610bc9565b60405190151581526020015b60405180910390f35b34801561040957600080fd5b5061041d610418366004614898565b610bda565b005b34801561042b57600080fd5b50610434610d68565b6040516103f49190614acd565b34801561044d57600080fd5b5061046161045c36600461476c565b610dfa565b6040516001600160a01b0390911681526020016103f4565b34801561048557600080fd5b5061041d61049436600461468c565b610e82565b3480156104a557600080fd5b506014546001600160a01b0316610461565b3480156104c357600080fd5b5060205460ff166103e8565b3480156104db57600080fd5b5061041d6104ea366004614901565b610f98565b3480156104fb57600080fd5b50600a545b6040519081526020016103f4565b34801561051a57600080fd5b506105006115b381565b34801561053057600080fd5b5061041d61053f3660046145af565b611077565b34801561055057600080fd5b5061050061055f36600461476c565b60009081526020819052604090206001015490565b34801561058057600080fd5b5061041d61058f366004614784565b6110a9565b3480156105a057600080fd5b506105006105af36600461468c565b6110cb565b3480156105c057600080fd5b5061041d6105cf366004614784565b611161565b3480156105e057600080fd5b5061041d611183565b3480156105f557600080fd5b5061041d6106043660046145af565b61122b565b34801561061557600080fd5b5061041d61062436600461476c565b611246565b34801561063557600080fd5b5061050060cd81565b34801561064a57600080fd5b5061041d6112c0565b34801561065f57600080fd5b5061050061066e36600461476c565b6113c4565b34801561067f57600080fd5b5061041d61068e3660046146b7565b611465565b34801561069f57600080fd5b5061041d6106ae366004614901565b61154d565b3480156106bf57600080fd5b5061041d6106ce366004614866565b6116c4565b3480156106df57600080fd5b506013546001600160a01b0316610461565b3480156106fd57600080fd5b5061041d61070c36600461455b565b611731565b34801561071d57600080fd5b50600c5460ff166103e8565b34801561073557600080fd5b5061046161074436600461476c565b61177a565b34801561075557600080fd5b5061050061076436600461455b565b6117f1565b34801561077557600080fd5b5061041d611878565b34801561078a57600080fd5b5061041d6107993660046146b7565b6118e2565b3480156107aa57600080fd5b5061041d6107b936600461455b565b6119b6565b3480156107ca57600080fd5b5061041d6107d936600461455b565b6119ff565b3480156107ea57600080fd5b506017546001600160a01b0316610461565b34801561080857600080fd5b5061041d611a48565b34801561081d57600080fd5b5061041d61082c36600461455b565b611aec565b34801561083d57600080fd5b506018546001600160a01b0316610461565b34801561085b57600080fd5b50600c5461010090046001600160a01b0316610461565b34801561087e57600080fd5b5061046161088d36600461480d565b611b35565b34801561089e57600080fd5b506103e86108ad366004614784565b611b54565b3480156108be57600080fd5b50610434611b7d565b3480156108d357600080fd5b5061041d6108e2366004614752565b611b8c565b3480156108f357600080fd5b5061041d610902366004614866565b611bc6565b34801561091357600080fd5b50610500600081565b34801561092857600080fd5b5061041d610937366004614658565b611c44565b34801561094857600080fd5b5061041d6109573660046145ef565b611d09565b61041d61096a3660046147a8565b611d3b565b34801561097b57600080fd5b5061041d61098a366004614945565b612136565b34801561099b57600080fd5b506019546001600160a01b0316610461565b3480156109b957600080fd5b5061041d6109c836600461455b565b6121ba565b3480156109d957600080fd5b506104346109e836600461476c565b612203565b3480156109f957600080fd5b50610500610a0836600461476c565b61238e565b348015610a1957600080fd5b506015546001600160a01b0316610461565b348015610a3757600080fd5b506105007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b348015610a6b57600080fd5b5061041d610a7a366004614784565b6123a5565b348015610a8b57600080fd5b50610a94601181565b60405160ff90911681526020016103f4565b348015610ab257600080fd5b5061041d610ac136600461455b565b6123af565b348015610ad257600080fd5b506105007f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b348015610b0657600080fd5b5061041d610b1536600461455b565b6123f8565b348015610b2657600080fd5b50610434612441565b348015610b3b57600080fd5b506103e8610b4a366004614577565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b61041d610b863660046147a8565b612450565b348015610b9757600080fd5b5061041d610ba636600461455b565b612749565b348015610bb757600080fd5b506016546001600160a01b0316610461565b6000610bd482612836565b92915050565b8051825114610c4e5760405162461bcd60e51b815260206004820152603560248201527f4d656469614861736820417272617920616e6420546f6b656e555249204172726044820152740c2f240d8cadccee8d0e640daeae6e840dac2e8c6d605b1b60648201526084015b60405180910390fd5b610c59600033611b54565b610cc45760405162461bcd60e51b815260206004820152603660248201527f43616e6e6f7420626174636820736574206d65646961206861736820616e64206044820152753a37b5b2b7102aa9249034b3103737ba1030b236b4b760511b6064820152608401610c45565b825b8251610cd29085614c50565b811015610d62576000610ce4826113c4565b90506000610cf28684614cc0565b9050610d4d82868381518110610d1857634e487b7160e01b600052603260045260246000fd5b6020026020010151868481518110610d4057634e487b7160e01b600052603260045260246000fd5b6020026020010151612136565b50508080610d5a90614d55565b915050610cc6565b50505050565b606060028054610d7790614d1a565b80601f0160208091040260200160405190810160405280929190818152602001828054610da390614d1a565b8015610df05780601f10610dc557610100808354040283529160200191610df0565b820191906000526020600020905b815481529060010190602001808311610dd357829003601f168201915b5050505050905090565b6000610e058261285b565b610e665760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610c45565b506000908152600660205260409020546001600160a01b031690565b6000610e8d8261177a565b9050806001600160a01b0316836001600160a01b03161415610efb5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610c45565b336001600160a01b0382161480610f175750610f178133610b4a565b610f895760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610c45565b610f938383612878565b505050565b610fa18261285b565b6110045760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f7420736574206d65746164617461206861736820666f72206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610c45565b61100f600033611b54565b6110695760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f7420736574206d657461646174612068617368206966206e6f742060448201526430b236b4b760d91b6064820152608401610c45565b61107382826128e6565b5050565b611082335b8261296f565b61109e5760405162461bcd60e51b8152600401610c4590614b75565b610f93838383612a59565b6110b38282612c04565b6000828152600160205260409020610f939082612821565b60006110d6836117f1565b82106111385760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610c45565b506001600160a01b03919091166000908152600860209081526040808320938352929052205490565b61116b8282612c2a565b6000828152600160205260409020610f939082612ca4565b6111ad7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33611b54565b611221576040805162461bcd60e51b81526020600482015260248101919091527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d75737420686176652070617573657220726f6c6520746f20756e70617573656064820152608401610c45565b611229612cb9565b565b610f9383838360405180602001604052806000815250611d09565b61124f3361107c565b6112b45760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b6064820152608401610c45565b6112bd81612d4c565b50565b6112cb600033611b54565b6113235760405162461bcd60e51b81526020600482015260356024820152600080516020614df28339815191526044820152746d696e742066697273742031303020746f6b656e7360581b6064820152608401610c45565b600061132e600a5490565b9050600061133d8260cd614cc0565b9050600060198210156113505781611353565b60195b90506000811161139d5760405162461bcd60e51b8152602060048201526015602482015274141c995b5a5b9d081b1a5b5a5d081c995858da1959605a1b6044820152606401610c45565b60005b81811015610d62576113b133612df3565b50806113bc81614d55565b9150506113a0565b60006113cf600a5490565b82106114325760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610c45565b600a828154811061145357634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b611470600033611b54565b6114d75760405162461bcd60e51b815260206004820152603260248201527f4d75737420686176652044454641554c545f41444d494e5f524f4c452072656d6044820152711bdd9948199c9bdb481dda1a5d195b1a5cdd60721b6064820152608401610c45565b60005b8151811015611073576000601f600084848151811061150957634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061154581614d55565b9150506114da565b6115568261285b565b6115b65760405162461bcd60e51b815260206004820152602b60248201527f43616e6e6f7420736574206d65646961206861736820666f72206e6f6e65786960448201526a39ba32b73a103a37b5b2b760a91b6064820152608401610c45565b6115c1600033611b54565b6116185760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d656469612068617368206966206e6f742061646d60448201526134b760f11b6064820152608401610c45565b600e8160405161162891906149d0565b9081526040519081900360200190205460ff166001141561168b5760405162461bcd60e51b815260206004820181905260248201527f486173682076616c75652068617320616c7265616479206265656e20757365646044820152606401610c45565b6001600e8260405161169d91906149d0565b908152604051908190036020019020805460ff9290921660ff199092169190911790555050565b6116cf600033611b54565b61171e5760405162461bcd60e51b815260206004820152602c6024820152600080516020614df283398151915260448201526b73657420626173652075726960a01b6064820152608401610c45565b805161107390600f9060208401906143b2565b61173c600033611b54565b6117585760405162461bcd60e51b8152600401610c4590614bc6565b601980546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152600460205260408120546001600160a01b031680610bd45760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610c45565b60006001600160a01b03821661185c5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610c45565b506001600160a01b031660009081526005602052604090205490565b600c546001600160a01b036101009091041633146118d85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c45565b6112296000612e1a565b6118ed600033611b54565b6119405760405162461bcd60e51b81526020600482015260306024820152600080516020614df283398151915260448201526f185919081d1bc81dda1a5d195b1a5cdd60821b6064820152608401610c45565b60005b8151811015611073576001601f600084848151811061197257634e487b7160e01b600052603260045260246000fd5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806119ae81614d55565b915050611943565b6119c1600033611b54565b6119dd5760405162461bcd60e51b8152600401610c4590614bc6565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b611a0a600033611b54565b611a265760405162461bcd60e51b8152600401610c4590614bc6565b601680546001600160a01b0319166001600160a01b0392909216919091179055565b611a727f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33611b54565b611ae45760405162461bcd60e51b815260206004820152603e60248201527f4552433732315072657365744d696e7465725061757365724175746f49643a2060448201527f6d75737420686176652070617573657220726f6c6520746f20706175736500006064820152608401610c45565b611229612e74565b611af7600033611b54565b611b135760405162461bcd60e51b8152600401610c4590614bc6565b601880546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600160205260408120611b4d9083612eef565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b606060038054610d7790614d1a565b611b97600033611b54565b611bb35760405162461bcd60e51b8152600401610c4590614bc6565b6020805460ff1916911515919091179055565b611bd1600033611b54565b611c315760405162461bcd60e51b81526020600482015260396024820152600080516020614df283398151915260448201527f73657420636f6e7472616374206d6574616461746120757269000000000000006064820152608401610c45565b80516110739060109060208401906143b2565b6001600160a01b038216331415611c9d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610c45565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611d13338361296f565b611d2f5760405162461bcd60e51b8152600401610c4590614b75565b610d6284848484612efb565b6013546001600160a01b0316611d518484612f2e565b6001600160a01b031614611da75760405162461bcd60e51b815260206004820152601d60248201527f436f6e74656e74206e6f74207369676e656420627920536e69667469650000006044820152606401610c45565b6040516001600160f81b031960f883901b16602082015284906021016040516020818303038152906040528051906020012014611e265760405162461bcd60e51b815260206004820152601b60248201527f4d657373616765206861736820646f6573206e6f74206d6174636800000000006044820152606401610c45565b60205460ff168015611e475750336000908152601f602052604090205460ff165b611eb95760405162461bcd60e51b815260206004820152603860248201527f5075626c69632073616c6573206973207374696c6c20636c6f73656420616e6460448201527f20796f7520617265206e6f742077686974656c697374656400000000000000006064820152608401610c45565b336000908152601e6020526040902054600590611eda90839060ff16614c68565b60ff161115611f3c5760405162461bcd60e51b815260206004820152602860248201527f57686974656c697374206d696e74696e67207265737472696374656420746f206044820152673520746f6b656e7360c01b6064820152608401610c45565b6115b38160ff16611f4c600a5490565b611f569190614c50565b1115611fa45760405162461bcd60e51b815260206004820181905260248201527f5174792065786365656473206d6178206e756d626572206f6620746f6b656e736044820152606401610c45565b601160ff82161115611fc85760405162461bcd60e51b8152600401610c4590614b32565b611fdc60ff821666c3663566a58000614ca1565b34101561202b5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206c657373207468616e207265717569726564207072696365006044820152606401610c45565b601a5460009061203d61271034614c8d565b6120479190614ca1565b90506000601b546127103461205c9190614c8d565b6120669190614ca1565b90506000601c546127103461207b9190614c8d565b6120859190614ca1565b905060008183612096866003614ca1565b6120a09190614c50565b6120aa9190614c50565b6120b49034614cc0565b90506120c284848484612f52565b60005b8560ff168110156120ec576120d933612df3565b50806120e481614d55565b9150506120c5565b50336000908152601e602052604090205461210b90869060ff16614c68565b336000908152601e60205260409020805460ff191660ff929092169190911790555050505050505050565b612141600033611b54565b6121a65760405162461bcd60e51b815260206004820152603060248201527f43616e6e6f7420736574206d65646961206861736820616e6420746f6b656e2060448201526f2aa9249034b3103737ba1030b236b4b760811b6064820152608401610c45565b6121b08382610f98565b610f93838361154d565b6121c5600033611b54565b6121e15760405162461bcd60e51b8152600401610c4590614bc6565b601580546001600160a01b0319166001600160a01b0392909216919091179055565b606061220e8261285b565b61225a5760405162461bcd60e51b815260206004820152601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e006044820152606401610c45565b6000828152601160205260408120805461227390614d1a565b80601f016020809104026020016040519081016040528092919081815260200182805461229f90614d1a565b80156122ec5780601f106122c1576101008083540402835291602001916122ec565b820191906000526020600020905b8154815290600101906020018083116122cf57829003601f168201915b5050505050905060006122fd613347565b9050805160001415612310575092915050565b8151156123735761233c604051806040016040528060038152602001623a2f2f60e81b81525083613356565b15612348575092915050565b808260405160200161235b9291906149ec565b60405160208183030381529060405292505050919050565b8061237d85613435565b60405160200161235b9291906149ec565b6000818152600160205260408120610bd49061354e565b61116b8282613558565b6123ba600033611b54565b6123d65760405162461bcd60e51b8152600401610c4590614bc6565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b612403600033611b54565b61241f5760405162461bcd60e51b8152600401610c4590614bc6565b601480546001600160a01b0319166001600160a01b0392909216919091179055565b606060108054610d7790614d1a565b6013546001600160a01b03166124668484612f2e565b6001600160a01b0316146124bc5760405162461bcd60e51b815260206004820152601d60248201527f436f6e74656e74206e6f74207369676e656420627920536e69667469650000006044820152606401610c45565b6040516001600160f81b031960f883901b1660208201528490602101604051602081830303815290604052805190602001201461253b5760405162461bcd60e51b815260206004820152601b60248201527f4d657373616765206861736820646f6573206e6f74206d6174636800000000006044820152606401610c45565b60205460ff161561258e5760405162461bcd60e51b815260206004820152601c60248201527f5075626c69632073616c6573206973207374696c6c20636c6f736564000000006044820152606401610c45565b6115b38160ff1661259e600a5490565b6125a89190614c50565b11156125f65760405162461bcd60e51b815260206004820181905260248201527f5174792065786365656473206d6178206e756d626572206f6620746f6b656e736044820152606401610c45565b601160ff8216111561261a5760405162461bcd60e51b8152600401610c4590614b32565b61262e60ff821666c3663566a58000614ca1565b34101561267d5760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206c657373207468616e207265717569726564207072696365006044820152606401610c45565b601a5460009061268f61271034614c8d565b6126999190614ca1565b90506000601b54612710346126ae9190614c8d565b6126b89190614ca1565b90506000601c54612710346126cd9190614c8d565b6126d79190614ca1565b9050600081836126e8866003614ca1565b6126f29190614c50565b6126fc9190614c50565b6127069034614cc0565b905061271484848484612f52565b60005b8560ff1681101561273e5761272b33612df3565b508061273681614d55565b915050612717565b505050505050505050565b600c546001600160a01b036101009091041633146127a95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c45565b6001600160a01b03811661280e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c45565b6112bd81612e1a565b611073828261357e565b6000611b4d836001600160a01b038416613602565b60006001600160e01b0319821663780e9d6360e01b1480610bd45750610bd482613651565b6000908152600460205260409020546001600160a01b0316151590565b600081815260066020526040902080546001600160a01b0319166001600160a01b03841690811790915581906128ad8261177a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6128ef8261285b565b6129505760405162461bcd60e51b815260206004820152602c60248201527f4552433732314d657461646174613a2055524920736574206f66206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610c45565b60008281526011602090815260409091208251610f93928401906143b2565b600061297a8261285b565b6129db5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610c45565b60006129e68361177a565b9050806001600160a01b0316846001600160a01b03161480612a215750836001600160a01b0316612a1684610dfa565b6001600160a01b0316145b80612a5157506001600160a01b0380821660009081526007602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316612a6c8261177a565b6001600160a01b031614612ad45760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610c45565b6001600160a01b038216612b365760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610c45565b612b41838383613691565b612b4c600082612878565b6001600160a01b0383166000908152600560205260408120805460019290612b75908490614cc0565b90915550506001600160a01b0382166000908152600560205260408120805460019290612ba3908490614c50565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600082815260208190526040902060010154612c20813361369c565b610f93838361357e565b6001600160a01b0381163314612c9a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610c45565b6110738282613700565b6000611b4d836001600160a01b038416613765565b600c5460ff16612d025760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610c45565b600c805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6000612d578261177a565b9050612d6581600084613691565b612d70600083612878565b6001600160a01b0381166000908152600560205260408120805460019290612d99908490614cc0565b909155505060008281526004602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000612e03601280546001019055565b6000612e0e60125490565b9050610bd48382613882565b600c80546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600c5460ff1615612eba5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610c45565b600c805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612d2f3390565b6000611b4d83836139c1565b612f06848484612a59565b612f12848484846139f9565b610d625760405162461bcd60e51b8152600401610c4590614ae0565b6000806000612f3d8585613b06565b91509150612f4a81613b76565b509392505050565b6014546040516000916001600160a01b03169061138890879084818181858888f193505050503d8060008114612fa4576040519150601f19603f3d011682016040523d82523d6000602084013e612fa9565b606091505b5050905080612ffa5760405162461bcd60e51b815260206004820152601860248201527f436861726974792031207061796d656e74206661696c656400000000000000006044820152606401610c45565b6015546040516000916001600160a01b03169061138890889084818181858888f193505050503d806000811461304c576040519150601f19603f3d011682016040523d82523d6000602084013e613051565b606091505b50509050806130a25760405162461bcd60e51b815260206004820152601860248201527f436861726974792032207061796d656e74206661696c656400000000000000006044820152606401610c45565b6016546040516000916001600160a01b03169061138890899084818181858888f193505050503d80600081146130f4576040519150601f19603f3d011682016040523d82523d6000602084013e6130f9565b606091505b505090508061314a5760405162461bcd60e51b815260206004820152601860248201527f436861726974792033207061796d656e74206661696c656400000000000000006044820152606401610c45565b6018546040516000916001600160a01b03169061138890899084818181858888f193505050503d806000811461319c576040519150601f19603f3d011682016040523d82523d6000602084013e6131a1565b606091505b50509050806131f25760405162461bcd60e51b815260206004820181905260248201527f46697273742031303020726f79616c7479207061796d656e74206661696c65646044820152606401610c45565b6017546040516000916001600160a01b03169061138890899084818181858888f193505050503d8060008114613244576040519150601f19603f3d011682016040523d82523d6000602084013e613249565b606091505b50509050806132935760405162461bcd60e51b815260206004820152601660248201527514db9a599d1a59481c185e5b595b9d0819985a5b195960521b6044820152606401610c45565b6019546040516000916001600160a01b03169061138890899084818181858888f193505050503d80600081146132e5576040519150601f19603f3d011682016040523d82523d6000602084013e6132ea565b606091505b505090508061333b5760405162461bcd60e51b815260206004820152601a60248201527f46757a7a69656d696e7473207061796d656e74206661696c65640000000000006044820152606401610c45565b50505050505050505050565b6060600f8054610d7790614d1a565b6000828282805b8351835161336b9190614cc0565b81101561342b57600160005b8551811015613407578581815181106133a057634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b031916856133ba8386614c50565b815181106133d857634e487b7160e01b600052603260045260246000fd5b01602001516001600160f81b031916146133f55760009150613407565b806133ff81614d55565b915050613377565b50801561341857600192505061342b565b508061342381614d55565b91505061335d565b5095945050505050565b6060816134595750506040805180820190915260018152600360fc1b602082015290565b8160005b8115613483578061346d81614d55565b915061347c9050600a83614c8d565b915061345d565b6000816001600160401b038111156134ab57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156134d5576020820181803683370190505b5090505b8415612a51576134ea600183614cc0565b91506134f7600a86614d70565b613502906030614c50565b60f81b81838151811061352557634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350613547600a86614c8d565b94506134d9565b6000610bd4825490565b600082815260208190526040902060010154613574813361369c565b610f938383613700565b6135888282611b54565b611073576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556135be3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600081815260018301602052604081205461364957508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610bd4565b506000610bd4565b60006001600160e01b031982166380ac58cd60e01b148061368257506001600160e01b03198216635b5e139f60e01b145b80610bd45750610bd482613d77565b610f93838383613d9c565b6136a68282611b54565b611073576136be816001600160a01b03166014613e0e565b6136c9836020613e0e565b6040516020016136da929190614a1b565b60408051601f198184030181529082905262461bcd60e51b8252610c4591600401614acd565b61370a8282611b54565b15611073576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60008181526001830160205260408120548015613878576000613789600183614cc0565b855490915060009061379d90600190614cc0565b905081811461381e5760008660000182815481106137cb57634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050808760000184815481106137fc57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061383d57634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610bd4565b6000915050610bd4565b6001600160a01b0382166138d85760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610c45565b6138e18161285b565b1561392e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610c45565b61393a60008383613691565b6001600160a01b0382166000908152600560205260408120805460019290613963908490614c50565b909155505060008181526004602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008260000182815481106139e657634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b60006001600160a01b0384163b15613afb57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290613a3d903390899088908890600401614a90565b602060405180830381600087803b158015613a5757600080fd5b505af1925050508015613a87575060408051601f3d908101601f19168201909252613a849181019061484a565b60015b613ae1573d808015613ab5576040519150601f19603f3d011682016040523d82523d6000602084013e613aba565b606091505b508051613ad95760405162461bcd60e51b8152600401610c4590614ae0565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612a51565b506001949350505050565b600080825160411415613b3d5760208301516040840151606085015160001a613b3187828585613fef565b94509450505050613b6f565b825160401415613b675760208301516040840151613b5c8683836140dc565b935093505050613b6f565b506000905060025b9250929050565b6000816004811115613b9857634e487b7160e01b600052602160045260246000fd5b1415613ba15750565b6001816004811115613bc357634e487b7160e01b600052602160045260246000fd5b1415613c115760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610c45565b6002816004811115613c3357634e487b7160e01b600052602160045260246000fd5b1415613c815760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c45565b6003816004811115613ca357634e487b7160e01b600052602160045260246000fd5b1415613cfc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c45565b6004816004811115613d1e57634e487b7160e01b600052602160045260246000fd5b14156112bd5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610c45565b60006001600160e01b03198216635a05180f60e01b1480610bd45750610bd48261410b565b613da7838383614140565b600c5460ff1615610f935760405162461bcd60e51b815260206004820152602b60248201527f4552433732315061757361626c653a20746f6b656e207472616e73666572207760448201526a1a1a5b19481c185d5cd95960aa1b6064820152608401610c45565b60606000613e1d836002614ca1565b613e28906002614c50565b6001600160401b03811115613e4d57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015613e77576020820181803683370190505b509050600360fc1b81600081518110613ea057634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613edd57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000613f01846002614ca1565b613f0c906001614c50565b90505b6001811115613fa0576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613f4e57634e487b7160e01b600052603260045260246000fd5b1a60f81b828281518110613f7257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c93613f9981614d03565b9050613f0f565b508315611b4d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c45565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561402657506000905060036140d3565b8460ff16601b1415801561403e57508460ff16601c14155b1561404f57506000905060046140d3565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156140a3573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166140cc576000600192509250506140d3565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b016140fd87828885613fef565b935093505050935093915050565b60006001600160e01b03198216637965db0b60e01b1480610bd457506301ffc9a760e01b6001600160e01b0319831614610bd4565b6001600160a01b03831661419b5761419681600a80546000838152600b60205260408120829055600182018355919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80155565b6141be565b816001600160a01b0316836001600160a01b0316146141be576141be83826141f8565b6001600160a01b0382166141d557610f9381614295565b826001600160a01b0316826001600160a01b031614610f9357610f93828261436e565b60006001614205846117f1565b61420f9190614cc0565b600083815260096020526040902054909150808214614262576001600160a01b03841660009081526008602090815260408083208584528252808320548484528184208190558352600990915290208190555b5060009182526009602090815260408084208490556001600160a01b039094168352600881528383209183525290812055565b600a546000906142a790600190614cc0565b6000838152600b6020526040812054600a80549394509092849081106142dd57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080600a838154811061430c57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600b9091526040808220849055858252812055600a80548061435257634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000614379836117f1565b6001600160a01b039093166000908152600860209081526040808320868452825280832085905593825260099052919091209190915550565b8280546143be90614d1a565b90600052602060002090601f0160209004810192826143e05760008555614426565b82601f106143f957805160ff1916838001178555614426565b82800160010185558215614426579182015b8281111561442657825182559160200191906001019061440b565b50614432929150614436565b5090565b5b808211156144325760008155600101614437565b600082601f83011261445b578081fd5b8135602061447061446b83614c2d565b614bfd565b80838252828201915082860187848660051b890101111561448f578586fd5b855b858110156144cf5781356001600160401b038111156144ae578788fd5b6144bc8a87838c01016144f1565b8552509284019290840190600101614491565b5090979650505050505050565b803580151581146144ec57600080fd5b919050565b600082601f830112614501578081fd5b81356001600160401b0381111561451a5761451a614db0565b61452d601f8201601f1916602001614bfd565b818152846020838601011115614541578283fd5b816020850160208301379081016020019190915292915050565b60006020828403121561456c578081fd5b8135611b4d81614dc6565b60008060408385031215614589578081fd5b823561459481614dc6565b915060208301356145a481614dc6565b809150509250929050565b6000806000606084860312156145c3578081fd5b83356145ce81614dc6565b925060208401356145de81614dc6565b929592945050506040919091013590565b60008060008060808587031215614604578081fd5b843561460f81614dc6565b9350602085013561461f81614dc6565b92506040850135915060608501356001600160401b03811115614640578182fd5b61464c878288016144f1565b91505092959194509250565b6000806040838503121561466a578182fd5b823561467581614dc6565b9150614683602084016144dc565b90509250929050565b6000806040838503121561469e578182fd5b82356146a981614dc6565b946020939093013593505050565b600060208083850312156146c9578182fd5b82356001600160401b038111156146de578283fd5b8301601f810185136146ee578283fd5b80356146fc61446b82614c2d565b80828252848201915084840188868560051b870101111561471b578687fd5b8694505b8385101561474657803561473281614dc6565b83526001949094019391850191850161471f565b50979650505050505050565b600060208284031215614763578081fd5b611b4d826144dc565b60006020828403121561477d578081fd5b5035919050565b60008060408385031215614796578182fd5b8235915060208301356145a481614dc6565b600080600080608085870312156147bd578182fd5b843593506020850135925060408501356001600160401b038111156147e0578283fd5b6147ec878288016144f1565b925050606085013560ff81168114614802578182fd5b939692955090935050565b6000806040838503121561481f578182fd5b50508035926020909101359150565b60006020828403121561483f578081fd5b8135611b4d81614ddb565b60006020828403121561485b578081fd5b8151611b4d81614ddb565b600060208284031215614877578081fd5b81356001600160401b0381111561488c578182fd5b612a51848285016144f1565b6000806000606084860312156148ac578081fd5b8335925060208401356001600160401b03808211156148c9578283fd5b6148d58783880161444b565b935060408601359150808211156148ea578283fd5b506148f78682870161444b565b9150509250925092565b60008060408385031215614913578182fd5b8235915060208301356001600160401b0381111561492f578182fd5b61493b858286016144f1565b9150509250929050565b600080600060608486031215614959578081fd5b8335925060208401356001600160401b0380821115614976578283fd5b614982878388016144f1565b93506040860135915080821115614997578283fd5b506148f7868287016144f1565b600081518084526149bc816020860160208601614cd7565b601f01601f19169290920160200192915050565b600082516149e2818460208701614cd7565b9190910192915050565b600083516149fe818460208801614cd7565b835190830190614a12818360208801614cd7565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614a53816017850160208801614cd7565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351614a84816028840160208801614cd7565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090614ac3908301846149a4565b9695505050505050565b602081526000611b4d60208301846149a4565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60208082526023908201527f43616e6e6f74207075726368617365206d6f7265207468616e20313720746f6b604082015262656e7360e81b606082015260800190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252601c908201527f4d75737420686176652044454641554c545f41444d494e5f524f4c4500000000604082015260600190565b604051601f8201601f191681016001600160401b0381118282101715614c2557614c25614db0565b604052919050565b60006001600160401b03821115614c4657614c46614db0565b5060051b60200190565b60008219821115614c6357614c63614d84565b500190565b600060ff821660ff84168060ff03821115614c8557614c85614d84565b019392505050565b600082614c9c57614c9c614d9a565b500490565b6000816000190483118215151615614cbb57614cbb614d84565b500290565b600082821015614cd257614cd2614d84565b500390565b60005b83811015614cf2578181015183820152602001614cda565b83811115610d625750506000910152565b600081614d1257614d12614d84565b506000190190565b600181811c90821680614d2e57607f821691505b60208210811415614d4f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415614d6957614d69614d84565b5060010190565b600082614d7f57614d7f614d9a565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146112bd57600080fd5b6001600160e01b0319811681146112bd57600080fdfe4d75737420686176652044454641554c545f41444d494e5f524f4c4520746f20a2646970667358221220539ed5eedb1f8be4ca6f09be6446052186cbad97dfed634aa578c6efa33284f764736f6c6343000804003365d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a600000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000007ebcc0400d154bd16a9cffde5aea0b0abfb5bd9000000000000000000000000650013e47449041f5c0d122298c4db195216082f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000b46755a5a69654d694e54530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003465a590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002468747470733a2f2f6170692e736e69667469652e636f6d2f66757a7a69656d696e74732f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035697066733a2f2f516d55785038756661484538715631744a6f35376365426539784c36717253644c794c76686841734a5636626f64000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000003b682506470466106a17ad055c1c5a65ae84590b0000000000000000000000002f46686e73ab3b138b827d88d06ee228bc6fa96c000000000000000000000000f91e167cd3a031cf604f0eb63948052c7252a533000000000000000000000000f33476de5c7d2559807cccd7db3a30b812e37972000000000000000000000000f99817730be6e5cd7e1f9955562a20bf0a337aa8000000000000000000000000d124cd58c6ab9eb9911be753859c9713f59831dc