solc-0.8.36-fakeopcode 0x83bc649fcdb2c8da146b2154a559ddedf937ef12 via-ir-high-runs

23255 bytes

608060405260043610156100ec575b3615610018575f80fd5b6fffffffffffffffffffffffffffffffff34116100c4576fffffffffffffffffffffffffffffffff19806100a7346fffffffffffffffffffffffffffffffff1660cf546fffffffffffffffffffffffffffffffff61008883836fffffffffffffffffffffffffffffffff1661514a565b166fffffffffffffffffffffffffffffffff169416841760801c614bad565b60801b166fffffffffffffffffffffffffffffffff19161760cf55005b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f5f3560e01c806303dcfbdc1461472757806306be9c53146146ec5780630716e242146145d757806308061aeb146145995780630838842614613de2578063086e16c014613dbf57806308c7325914613d965780630de371e214613d6d5780630ea9e85214613d3257806310ddce8e14613d0e57806312c53c9b14613ce8578063158f8f5914613b8f5780631665f66d14613ac95780631729d10b14613aa057806317e51e8014613a705780631991c225146139e05780631aab9ef11461381a5780631e95e60e146137be5780631ee665c41461373957806322828cc21461371057806326d5d54a146136c757806328a947d9146136a957806328ac82e7146136795780632db004a31461364f57806335876476146130df5780633659cfe614612d0957806337cfdaca14612cee578063397a1b2814612cc65780633a53acb014612ca7578063439766ce14612ae3578063456a23a614612aa15780634690484014612a71578063469963aa14612a4857806346d4b714146128ce5780634c73f498146127a05780634f1ef2861461238c578063511997001461222557806352d1902d1461215057806353f3fcb11461212d57806354601726146120f2578063561bddf8146120d357806356f1199b14611eff5780635c975abb14611ed9578063616e6c1b14611db7578063715018a614611d8c57806371cb700f14611d635780637346f1aa14611d3d5780637c8dc44014611b5f5780637c90fbf014611b3b5780638da5cb5b14611b0b578063917266fa14611aec5780639795947314611aae5780639a8a302b14611a7e578063aaf10f4214611a2f578063b46a130e146119fe578063baaff11614611775578063bac1520314611595578063c00b2d61146113b1578063c00c2d7314611381578063c98bea5b1461134f578063d0e30db0146112ea578063d67b8fee146112ba578063d6951aa914611278578063da79205814611233578063da8ed1f714611142578063dcbfb6c314611119578063de70b59f14610f88578063e453793414610f5b578063e74b981b14610ded578063e939482314610da9578063ee30511614610d79578063f2c5998a14610c4a578063f2fde38b14610b9f578063f340fa0114610b21578063f3fef3a314610525578063f9609f08146104865763fc6dfe4e14610446575061000e565b34610483576020600319360112610483576040602091610464614842565b6001600160a01b0316815260d68352205460405160ff90911615158152f35b80fd5b5060406003193601126104835761049b614842565b507fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d60606104c7614858565b6104cf6154d1565b60cc543391906104e9906001600160a01b03168314614b62565b6040519434865250600260208601526001600160a01b031660408501526001600160a01b031692a2602061051d3433615825565b604051908152f35b50346104835760406003193601126104835761053f614842565b906024359161054c6154d1565b61055583615226565b60d25490939033906001600160a01b03168114808015610b0d575b8015610af9575b8015610ac7575b61058790614b62565b60cf5491608083901c918483108015610a21575b6108ff576fffffffffffffffffffffffffffffffff85118015610a19575b8015610a11575b6109e9577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316809214806109ae575b6108ff576107a7575b506fffffffffffffffffffffffffffffffff196106416fffffffffffffffffffffffffffffffff92856fffffffffffffffffffffffffffffffff169061514a565b6fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1660801b1691161760cf5560ce546001600160a01b03166001600160a01b03166001600160a01b0316803b156107a3576040517fee7a7c04000000000000000000000000000000000000000000000000000000008152336004820152602481018690529084908290604490829084905af180156107985790849161077f575b5050306001600160a01b03166001600160a01b031692808080848731965af19261070b615891565b5083610769575b5050501561072557602090604051908152f35b606460405162461bcd60e51b815260206004820152600860248201527f53656e644661696c0000000000000000000000000000000000000000000000006044820152fd5b31925061077591614a2f565b11155f8080610712565b81610789916148fe565b61079457825f6106e3565b8280fd5b6040513d86823e3d90fd5b8380fd5b60dc54906fffffffffffffffffffffffffffffffff600883901c1690858210610986576001600160a01b038816810361088a575b506fffffffffffffffffffffffffffffffff926fffffffffffffffffffffffffffffffff19927fffffffffffffffffffffffffffffff00000000000000000000000000000000ff70ffffffffffffffffffffffffffffffff00610854610641958a6fffffffffffffffffffffffffffffffff169061514a565b6fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1660081b1691161760dc55925050610600565b6040517f341c6b3b00000000000000000000000000000000000000000000000000000000815290602090829060049082906001600160a01b03165afa90811561097b579086918991610927575b506108e2908561514a565b6fffffffffffffffffffffffffffffffff16106108ff575f6107db565b6004877fbb55fd27000000000000000000000000000000000000000000000000000000008152fd5b9150506020813d602011610973575b81610943602093836148fe565b8101031261096f5751806fffffffffffffffffffffffffffffffff16810361096f5785906108e26108d7565b8780fd5b3d9150610936565b6040513d8a823e3d90fd5b6004887fbb55fd27000000000000000000000000000000000000000000000000000000008152fd5b50846109d160dc5460081c6fffffffffffffffffffffffffffffffff168561514a565b6fffffffffffffffffffffffffffffffff16106105f7565b6004877f2c5211c6000000000000000000000000000000000000000000000000000000008152fd5b5087156105c0565b5084156105b9565b506024602060ce546001600160a01b03166001600160a01b03166001600160a01b0316604051928380927f70a082310000000000000000000000000000000000000000000000000000000082528760048301525afa90811561097b579086918991610a8e575b501061059b565b9150506020813d602011610abf575b81610aaa602093836148fe565b81010312610abb578590515f610a87565b5f80fd5b3d9150610a9d565b506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016821461057e565b5060df546001600160a01b03168214610577565b5060cc546001600160a01b03168214610570565b50602060031936011261048357610b36614842565b610b3e6154d1565b6040519134835250600160208301526001600160a01b031660408201527fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d6060336001600160a01b03166001600160a01b031692a2602061051d3433615825565b503461048357602060031936011261048357610bb9614842565b610bc161576b565b6001600160a01b0381811690831614610be057610bdd906157c5565b80f35b608460405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b50346104835760206003193601126104835760df546001600160a01b031633908114159081610d63575b81610d2f575b50610d075760ce5481906001600160a01b0316803b15610d04576040517fee7a7c04000000000000000000000000000000000000000000000000000000008152336004808301919091523560248201529082908290818381604481015b03925af18015610cf957610ce85750f35b81610cf2916148fe565b6104835780f35b6040513d84823e3d90fd5b50fd5b807f17fe949f0000000000000000000000000000000000000000000000000000000060049252fd5b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155f610c7a565b60d2546001600160a01b03168114159150610c74565b5034610483578060031936011261048357602060cc546001600160a01b0316604051906001600160a01b03168152f35b503461048357806003193601126104835760206040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152f35b503461048357602060031936011261048357610e07614842565b60e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527f0e8d94121b3383f03d9ae60b39295aa793469d7230d51a3f62cbf47cd45481d9600482015233602482015290602090829060449082906001600160a01b03165afa908115610f50578391610f21575b5015610ef95760207fbf5406678e9fe702eaea01d92d3b62ac5be0a14e1802562e2a428364d30d1b11916001600160a01b03167fffffffffffffffffffffffff000000000000000000000000000000000000000060d054166001600160a01b03826001600160a01b0316161760d055604051908152a180f35b6004827f209296a3000000000000000000000000000000000000000000000000000000008152fd5b610f43915060203d602011610f49575b610f3b81836148fe565b810190614a17565b5f610e80565b503d610f31565b6040513d85823e3d90fd5b5034610483578060031936011261048357602060d05460a01c63ffffffff166040519063ffffffff168152f35b503461048357610f973661495f565b9190929493610fa46154d1565b60e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527f20e7d93f475a4a8dd621285797dd2d68da59e4450b89aea5ca9bf079e95c1db5600482015233602482015290602090829060449082906001600160a01b03165afa90811561110e5786916110ef575b50156110c75783670de0b6b3a76400000295670de0b6b3a76400008704850361109a578661104b8798615524565b60c9546001600160a01b031692833b1561096f57610cd78896604051988997889687957fb71205d400000000000000000000000000000000000000000000000000000000875260048701614d1a565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6004857f209296a3000000000000000000000000000000000000000000000000000000008152fd5b611108915060203d602011610f4957610f3b81836148fe565b5f61101d565b6040513d88823e3d90fd5b503461048357806003193601126104835760df546040516001600160a01b039091168152602090f35b50346104835760206003193601126104835760043580151580910361122f5760e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527f0e8d94121b3383f03d9ae60b39295aa793469d7230d51a3f62cbf47cd45481d9600482015233602482015290602090829060449082906001600160a01b03165afa908115610f50578391611210575b5015610ef95760ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060dc541691161760dc5580f35b611229915060203d602011610f4957610f3b81836148fe565b5f6111da565b5080fd5b5034610483578060031936011261048357602060dc5460081c6fffffffffffffffffffffffffffffffff16604051906fffffffffffffffffffffffffffffffff168152f35b5034610483578060031936011261048357602060d4546fffffffffffffffffffffffffffffffff16604051906fffffffffffffffffffffffffffffffff168152f35b5034610483578060031936011261048357602060cd546001600160a01b0316604051906001600160a01b03168152f35b5080600319360112610483576112fe6154d1565b60408051348152600160208201526001600160a01b039092169082015233907fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d90606090a2602061051d3433615825565b503461048357806003193601126104835760d5546040805163ffffffff8084168252602093841c169281019290925290f35b5034610483578060031936011261048357602060d9546001600160a01b0316604051906001600160a01b03168152f35b50346104835760206003193601126104835760043580600f0b80910361122f5760cc546001600160a01b0316330361156d5760cf54906fffffffffffffffffffffffffffffffff8216600f0b016f7fffffffffffffffffffffffffffffff81137fffffffffffffffffffffffffffffffff80000000000000000000000000000000821217611540576fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff19919091161760cf5561146d614e67565b60ce546040517f3a98ef3900000000000000000000000000000000000000000000000000000000815290602090829060049082906001600160a01b03165afa908115610f505783916114ee575b507f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a215119160409182519182526020820152a180f35b90506020813d602011611538575b81611509602093836148fe565b81010312610abb57517f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a215116114ba565b3d91506114fc565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6004827f17fe949f000000000000000000000000000000000000000000000000000000008152fd5b503461048357806003193601126104835760e0546040517f421d0eb30000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690602081600481855afa908115610f50578391611741575b506040517f91d1485400000000000000000000000000000000000000000000000000000000815260048101919091523360248201529060209082908180604481015b03915afa908115610cf9578291611722575b50156116fa5760dc548060881c60ff16156116b6577fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff1660dc557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051336001600160a01b03168152a180f35b606460405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152fd5b807f209296a30000000000000000000000000000000000000000000000000000000060049252fd5b61173b915060203d602011610f4957610f3b81836148fe565b5f611646565b90506020813d60201161176d575b8161175c602093836148fe565b81010312610abb57516116346115f2565b3d915061174f565b50346104835760406003193601126104835760043567ffffffffffffffff811161122f576117a7903690600401614884565b9190602435906117b56154d1565b60e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527fc6ace799356a5a236ccaa6708c68b77b7de838b1700b6e0c40f48a1407a5eef0600482015233602482015290602090829060449082906001600160a01b03165afa9081156107985784916119df575b50156119b7576801bc16d674ec800000821080156119a5575b61197d57829383602060c9546001600160a01b03166001600160a01b03166001600160a01b03166004604051809481937f21edd0970000000000000000000000000000000000000000000000000000000083525af190811561197257859161193b575b50816118b96118be9286614a2f565b614b4f565b916118c883615524565b60c9546001600160a01b031690813b1561193757859361192093604051968795869485937fbaaff116000000000000000000000000000000000000000000000000000000008552604060048601526044850191614c3e565b90602483015203925af18015610cf957610ce85750f35b8580fd5b9450506020843d60201161196a575b81611957602093836148fe565b81010312610abb579251849390816118aa565b3d915061194a565b6040513d87823e3d90fd5b6004837ffd086734000000000000000000000000000000000000000000000000000000008152fd5b50686f05b59d3b200000008211611847565b6004837f209296a3000000000000000000000000000000000000000000000000000000008152fd5b6119f8915060203d602011610f4957610f3b81836148fe565b5f61182e565b503461048357606060031936011261048357602061051d611a1d614842565b611a2561486e565b9060243590615301565b503461048357806003193601126104835760207f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b0316604051906001600160a01b03168152f35b5034610483578060031936011261048357602060d1546001600160a01b0316604051906001600160a01b03168152f35b5034610483576020600319360112610483576040602091611acd614842565b6001600160a01b0316815260da8352205460405160ff90911615158152f35b503461048357602060031936011261048357602061051d600435615226565b503461048357806003193601126104835760206033546001600160a01b0316604051906001600160a01b03168152f35b503461048357806003193601126104835760cf5460405160809190911c8152602090f35b503461048357604060031936011261048357600435602435611b8081615226565b60df546001600160a01b03163303611d155782158015611d0d575b611ce5578210611cbd5760cf546fffffffffffffffffffffffffffffffff196fffffffffffffffffffffffffffffffff611bf9846fffffffffffffffffffffffffffffffff16846fffffffffffffffffffffffffffffffff1661514a565b6fffffffffffffffffffffffffffffffff91161691161760cf5560ce5483906001600160a01b0316803b1561122f576040517fee7a7c04000000000000000000000000000000000000000000000000000000008152336004820152602481018590529082908290604490829084905af18015610cf957611ca8575b507f888a2432cd9af74ee23f9ebdf262368f5434dffe681b3c7426880c6639b2a74a6040848482519182526020820152a180f35b81611cb2916148fe565b61079457825f611c74565b6004837f2c5211c6000000000000000000000000000000000000000000000000000000008152fd5b6004847f2c5211c6000000000000000000000000000000000000000000000000000000008152fd5b508115611b9b565b6004847f17fe949f000000000000000000000000000000000000000000000000000000008152fd5b5034610483578060031936011261048357602060d95460a01c60ff166040519015158152f35b503461048357806003193601126104835760d2546040516001600160a01b039091168152602090f35b5034610483578060031936011261048357611da561576b565b610bdd816001600160a01b03166157c5565b5034610483576020600319360112610483576004356044602060e0546001600160a01b03166001600160a01b03166001600160a01b0316604051928380927f91d148540000000000000000000000000000000000000000000000000000000082527f0e8d94121b3383f03d9ae60b39295aa793469d7230d51a3f62cbf47cd45481d96004830152336001600160a01b031660248301525afa908115610f50578391611eba575b5015610ef9576801bc16d674ec80000081108015611ea8575b611e805760e15580f35b6004827ffd086734000000000000000000000000000000000000000000000000000000008152fd5b50686f05b59d3b200000008111611e76565b611ed3915060203d602011610f4957610f3b81836148fe565b5f611e5d565b5034610483578060031936011261048357602060dc5460881c60ff166040519015158152f35b503461048357602060031936011261048357611f19614842565b60e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527f0e8d94121b3383f03d9ae60b39295aa793469d7230d51a3f62cbf47cd45481d9600482015233602482015290602090829060449082906001600160a01b03165afa908115610f505783916120b4575b5015610ef9576001600160a01b031680825260db6020526040822054819060ff1661207057604051906020820182811067ffffffffffffffff82111761204357917f8bef88cac8d05094711d367d04bf4f2fcb4b589ca12a6ed8c8f375000e1e848e939160209360405260018252855260db8352604085209051151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008354169116179055604051908152a180f35b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b606460405162461bcd60e51b815260206004820152601260248201527f416c7265616479207265676973746572656400000000000000000000000000006044820152fd5b6120cd915060203d602011610f4957610f3b81836148fe565b5f611f92565b503461048357602060031936011261048357602061051d60043561518b565b503461048357806003193601126104835760206040517f20e7d93f475a4a8dd621285797dd2d68da59e4450b89aea5ca9bf079e95c1db58152f35b5034610483578060031936011261048357602060dc5460ff166040519015158152f35b50346104835780600319360112610483576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036121bb5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b608460405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50346104835760206003193601126104835761223f614842565b60ce546040517f3a98ef39000000000000000000000000000000000000000000000000000000008152839290916001600160a01b0316602083600481845afa928315611972578593612358575b508261229e575b602084604051908152f35b9091925060206122ac614e67565b926024604051809481937fce7c2ac20000000000000000000000000000000000000000000000000000000083526001600160a01b031660048301525afa93841561234c5793612314575b509061230760209361230c93614b4f565b615022565b5f8080612293565b9250906020833d602011612344575b81612330602093836148fe565b81010312610abb57915191906123076122f6565b3d9150612323565b604051903d90823e3d90fd5b9092506020813d602011612384575b81612374602093836148fe565b81010312610abb5751915f61228c565b3d9150612367565b506040600319360112610483576123a1614842565b60243567ffffffffffffffff81116107945736602382011215610794576123d29036906024816004013591016149e1565b9061243d6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661240c30821415614d85565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031614614df6565b60e05483906001600160a01b0316803b1561122f5781602491604051928380927f5006bb7b000000000000000000000000000000000000000000000000000000008252336001600160a01b031660048301525afa8015610cf95761278b575b50507f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156124d257610bdd91506158c0565b6040517f52d1902d0000000000000000000000000000000000000000000000000000000081526001600160a01b03821690602081600481855afa859181612757575b5061258357608460405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc036126ed576125b2826158c0565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a28251158015906126e5575b6125f0575b50505080f35b813b1561267d575082828192602061267495519201905af4612610615891565b6040519161261f6060846148fe565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208401527f206661696c6564000000000000000000000000000000000000000000000000006040840152615a27565b505f80806125ea565b8062461bcd60e51b6084925260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152fd5b5060016125e5565b608460405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b9091506020813d602011612783575b81612773602093836148fe565b81010312610abb5751905f612514565b3d9150612766565b81612795916148fe565b61079457825f61249c565b5034610483576040600319360112610483576127ba614842565b6127c2614858565b906127cb61576b565b6001600160a01b03908116906127fa9084168281141590816128ba575b816128a5575b81612890575b506150ff565b6001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060dd5416916001600160a01b0316161760dd556001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060de5416916001600160a01b03166001600160a01b03166001600160a01b03166001600160a01b0316161760de5580f35b60de546001600160a01b03161490505f6127f4565b60dd546001600160a01b0316811491506127ee565b6001600160a01b03851681141591506127e8565b5034610483576040600319360112610483576128e8614842565b6128f0614858565b6128f861576b565b60df546001600160a01b0380851693919291908316841480612a35575b61291e906150ff565b60e054936001600160a01b038516036129f1576001600160a01b039182167fffffffffffffffffffffffff00000000000000000000000000000000000000009384161760df551691161760e055612973614e67565b60cf546fffffffffffffffffffffffffffffffff918216913031608090811b6fffffffffffffffffffffffffffffffff1916926129b7919083168417901c8461514a565b166fffffffffffffffffffffffffffffffff161760cf556129d6614e67565b906fffffffffffffffffffffffffffffffff16036104835780f35b606460405162461bcd60e51b815260206004820152601360248201527f616c726561647920696e697469616c697a6564000000000000000000000000006044820152fd5b506001600160a01b038216841415612915565b503461048357806003193601126104835760ca546040516001600160a01b039091168152602090f35b5034610483578060031936011261048357602060d0546001600160a01b0316604051906001600160a01b03168152f35b5034610483578060031936011261048357602060cf546fffffffffffffffffffffffffffffffff16604051906fffffffffffffffffffffffffffffffff168152f35b503461048357806003193601126104835760e0546040517f77a9193e0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690602081600481855afa908115610f50578391612c73575b506040517f91d1485400000000000000000000000000000000000000000000000000000000815260048101919091523360248201529060209082908180604481015b03915afa908115610cf9578291612c54575b50156116fa5760dc548060881c60ff16612c10577fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff16710100000000000000000000000000000000001760dc556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602090a180f35b606460405162461bcd60e51b815260206004820152601860248201527f5061757361626c653a20616c72656164792070617573656400000000000000006044820152fd5b612c6d915060203d602011610f4957610f3b81836148fe565b5f612b94565b90506020813d602011612c9f575b81612c8e602093836148fe565b81010312610abb5751612b82612b40565b3d9150612c81565b503461048357602060031936011261048357602061051d600435615059565b503461048357604060031936011261048357602061051d612ce5614842565b60243590614eb0565b5034610483578060031936011261048357602061051d614e67565b503461048357602060031936011261048357612d23614842565b612d5c6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001661240c30821415614d85565b60e05482906001600160a01b0316803b1561122f5781602491604051928380927f5006bb7b000000000000000000000000000000000000000000000000000000008252336001600160a01b031660048301525afa8015610cf9576130ca575b50506020604051612dcc82826148fe565b83815281810190601f1983013683377f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612e1157505050610bdd906158c0565b6040517f52d1902d000000000000000000000000000000000000000000000000000000008152939492936001600160a01b038616908581600481855afa85918161309b575b50612ec5576084866040519062461bcd60e51b82526004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152fd5b9394937fc9f76b5ec45e5cdef99837d7b6d2467235c1df8933c8ca56df5c35afa2c7d4440161303157612ef7866158c0565b604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8680a281511580159061302a575b612f38575b50505050905080f35b853b15612fc357509280948192612fb89551915af4612f55615891565b907f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60405193612f866060866148fe565b602785528401527f206661696c6564000000000000000000000000000000000000000000000000006040840152615a27565b50805f808080612f2f565b808462461bcd60e51b608493526004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152fd5b5084612f2a565b6084846040519062461bcd60e51b82526004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b9091508681813d83116130c3575b6130b381836148fe565b81010312610abb5751905f612e56565b503d6130a9565b816130d4916148fe565b61122f57815f612dbb565b50346104835760e0600319360112610483576130f9614842565b613101614858565b9061310a61486e565b91606435806001600160a01b031680910361364b57608435806001600160a01b03168091036119375760a43590816001600160a01b03168092036136475760c43592836001600160a01b031680940361096f578754968760081c60ff16159586809761363a575b8015613623575b156135b95760017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008a1681178b55988988613588575b50506001600160a01b03978816978a16888114908115613575575b8115613562575b8115613558575b811561354e575b50613526576131fc8a5460081c60ff166131f7816156fa565b6156fa565b613205336157c5565b8954976132178960081c60ff166156fa565b6001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060ce5416916001600160a01b03166001600160a01b03166001600160a01b0316161760ce556001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060c95416916001600160a01b03166001600160a01b03166001600160a01b03166001600160a01b0316161760c9556001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060ca5416916001600160a01b03166001600160a01b03166001600160a01b03166001600160a01b0316161760ca556001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060cc5416916001600160a01b0316161760cc556001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060cd5416916001600160a01b0316161760cd5560dc54710100000000000000000000000000000000007fffffffffffffffffffffffffffff00000000000000000000000000000000000070ffffffffffffffffffffffffffffffff00896fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1660081b169216171760dc556001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060d95416916001600160a01b0316161760d9556001600160a01b037fffffffffffffffffffffffff000000000000000000000000000000000000000060d25416916001600160a01b03166001600160a01b03166001600160a01b0316161760d2557fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff60de541660de556134d0578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff602092168455604051908152a15f808280f35b60048a7fbaca8689000000000000000000000000000000000000000000000000000000008152fd5b905084145f6131de565b84811491506131d7565b6001600160a01b038416811491506131d0565b6001600160a01b038316811491506131c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000610100921617178a555f806131ae565b608460405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b158015613178575060ff8916600114613178565b50600160ff8a1610613171565b8680fd5b8480fd5b5034610483576020600319360112610483576040602091600435815260d883522054604051908152f35b5034610483578060031936011261048357602060cb546001600160a01b0316604051906001600160a01b03168152f35b5034610483578060031936011261048357602060e154604051908152f35b503461048357602060031936011261048357600435600481101561122f57815260d7602090815260409182902054825163ffffffff808316825291831c90911691810191909152f35b503461048357806003193601126104835760c9546040516001600160a01b039091168152602090f35b503461048357806137493661495f565b9093926137546154d1565b33865260db602052604086205461376d9060ff16614b62565b60c9546001600160a01b031691823b15613647578694610cd78692604051988997889687957ff8ac387200000000000000000000000000000000000000000000000000000000875260048701614d1a565b50346104835760206003193601126104835760043560d35481101561122f5760d39091527f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a601546040516001600160a01b039091168152602090f35b503461048357606060031936011261048357613834614842565b90602435916138416154d1565b60cc543393906001600160a01b031684036139b85761385f81615059565b916bffffffffffffffffffffffff821180156139b0575b80156139a8575b611ce55760ce5460d25485939260209290916138a99185916001600160a01b03908116913391166155b9565b60d2546040517f19691cb00000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff808616600483015290961660248701526001600160a01b03918216604480880182905235606488015295968792608492849291165af1938415610cf9578294613973575b50847fb9da3f3df62c28aca604806cc6ee9678189d7591ef511a77bb040fa8361e9e0292606092602097506040519586528786015250600260408501526001600160a01b031692a2604051908152f35b9093506020813d6020116139a0575b8161398f602093836148fe565b81010312610abb5751926020613923565b3d9150613982565b50821561387d565b508115613876565b6004837f17fe949f000000000000000000000000000000000000000000000000000000008152fd5b503461048357602060031936011261048357600435806fffffffffffffffffffffffffffffffff1680910361122f5760d9546001600160a01b0316330361156d57613a6c907fafea3ee583ed00355634c0a2f47d947b6af95fda2bc1dbe0ff919c45166789d46020604051838152a160d0546001600160a01b031690836001600160a01b031691615301565b5080f35b5034610483578060031936011261048357602060dd546001600160a01b0316604051906001600160a01b03168152f35b503461048357806003193601126104835760de546040516001600160a01b039091168152602090f35b503461048357602060031936011261048357600435806fffffffffffffffffffffffffffffffff16810361122f5760d9546001600160a01b0316330361156d577fffffffffffffffffffffffffffffff00000000000000000000000000000000ff70ffffffffffffffffffffffffffffffff00613b5e60dc54938460081c6fffffffffffffffffffffffffffffffff16614bad565b6fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1660081b1691161760dc5580f35b503461048357602060031936011261048357613ba9614842565b6001600160a01b031680825260db6020526040822054819060ff1615613ca45760e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527f0e8d94121b3383f03d9ae60b39295aa793469d7230d51a3f62cbf47cd45481d960048201523360248201529290602090849060449082906001600160a01b03165afa91821561079857613c716020937f8a5afe4e68ed1b812242442424ef608ee7b0a23b6111c6183e781ac4656e8173958791613c87575b50614b62565b845260db8252836040812055604051908152a180f35b613c9e9150853d8711610f4957610f3b81836148fe565b5f613c6b565b606460405162461bcd60e51b815260206004820152600e60248201527f4e6f7420726567697374657265640000000000000000000000000000000000006044820152fd5b5034610483578060031936011261048357602060ce5460a01c60ff166040519015158152f35b503461048357806003193601126104835760d45460405160809190911c8152602090f35b503461048357806003193601126104835760206040517f0e8d94121b3383f03d9ae60b39295aa793469d7230d51a3f62cbf47cd45481d98152f35b503461048357806003193601126104835760ce546040516001600160a01b039091168152602090f35b503461048357806003193601126104835760e0546040516001600160a01b039091168152602090f35b503461048357604060031936011261048357613dd9614939565b50613a6c61494c565b5034610483576060600319360112610483576004359067ffffffffffffffff8211610483573660238301121561048357816004013591613e2183614921565b92613e2f60405194856148fe565b8084526024602085019160051b830101913683116107a357602401905b8282106145895750505060243567ffffffffffffffff811161122f57613e76903690600401614884565b9260443567ffffffffffffffff81116107a357613e97903690600401614884565b919093613ea26154d1565b60e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527fc6ace799356a5a236ccaa6708c68b77b7de838b1700b6e0c40f48a1407a5eef0600482015233602482015290602090829060449082906001600160a01b03165afa908115610cf957829161456a575b50156116fa5760e1546801bc16d674ec80000081108015614558575b611e8057825184811591821561454d575b8215614542575b505061451a578190602060c9546001600160a01b03166001600160a01b03166001600160a01b03166004604051809581937f21edd0970000000000000000000000000000000000000000000000000000000083525af1908115610f505783916144e4575b613fc09250969396614a2f565b91855194601f19613fe9613fd388614921565b97613fe1604051998a6148fe565b808952614921565b01835b8181106144ad57505060ca5460c9546020956001600160a01b0391821692909116855b8a5181101561437e57614022818c614a69565b51604051907fb165e29500000000000000000000000000000000000000000000000000000000825260048201528881602481865afa801561097b5789908990614340575b6040517fbcbb073a0000000000000000000000000000000000000000000000000000000081529250829060049082906001600160a01b03165afa90811561097b578891614303575b506040517f544b535e0000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201528781602481865afa90811561097b57878b8f85908a8e958e9761425b575b506141258361411d614185956141619a9561417395614aaa565b969097614aaa565b60405198899788977f125ae56b000000000000000000000000000000000000000000000000000000008952608060048a01526084890191614b0a565b91600319878403016024880152614b0a565b90600319848303016044850152614b2a565b8760648301520381885afa90811561097b578792918e888d938c93614220575b50946141dd6141c6866141be816141e69660019b614aaa565b979094614aaa565b919092604051966141d6886148b5565b36916149e1565b855236916149e1565b8b83015260408201526040516141fc8b826148fe565b898152606082015261420e828d614a69565b52614219818c614a69565b500161400f565b9550505050508882813d8311614254575b61423b81836148fe565b81010312610abb5790518691908a908e886141dd6141a5565b503d614231565b96505050505050503d8089833e61427281836148fe565b81019089818303126142ff5780519067ffffffffffffffff82116142fb570181601f820112156142ff578051906142a8826149c5565b926142b660405194856148fe565b8284528b83830101116142fb578b8f896141736141258f968f8f97614185966141619b61411d938c8f9680828997018386015e830101529b5095945050509350614103565b8980fd5b8880fd5b90508881813d8311614339575b61431a81836148fe565b8101031261096f5751806001600160a01b0316810361096f575f6140ae565b503d614310565b5081813d8311614377575b61435581836148fe565b8101031261096f5751806001600160a01b0316810361096f5788600491614066565b503d61434b565b87878b61438d868f5190614b4f565b61439681615524565b60c95460e1546001600160a01b039091169290833b1561364b57604051957fbaaff1160000000000000000000000000000000000000000000000000000000087526044870160406004890152835180915260648801918060648360051b8b010195019288905b8382106144245789808c81818d818e818f8f602483015203925af18015610cf957610ce85750f35b9091929395838061449e837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c8f600196030186528a519060606144836144738451608085526080850190614b2a565b8685015184820388860152614b2a565b92604081015160408401520151906060818403910152614b2a565b980192019201909392916143fc565b6020906040999699516144bf816148b5565b6060815260608382015286604082015260608082015282828b01015201979497613fec565b90506020823d602011614512575b816144ff602093836148fe565b81010312610abb57613fc0915190613fb3565b3d91506144f2565b6004827fa9854bc9000000000000000000000000000000000000000000000000000000008152fd5b14159050845f613f4f565b898114159250613f48565b50686f05b59d3b200000008111613f37565b614583915060203d602011610f4957610f3b81836148fe565b5f613f1b565b8135815260209182019101613e4c565b50346104835760206003193601126104835760406020916145b8614842565b6001600160a01b0316815260db8352205460405160ff90911615158152f35b50346104835760206003193601126104835760043567ffffffffffffffff811161122f57614609903690600401614884565b60e0546040517f91d148540000000000000000000000000000000000000000000000000000000081527f0e8d94121b3383f03d9ae60b39295aa793469d7230d51a3f62cbf47cd45481d9600482015233602482015291929190602090829060449082906001600160a01b03165afa9081156107985784916146cd575b50156119b757825b828110156146c9576001908060051b8301357f339b23d24a078f6403801d644f7cba5045424e28175a49da36de4445b66387da8680a20161468d565b8380f35b6146e6915060203d602011610f4957610f3b81836148fe565b5f614685565b503461048357806003193601126104835760206040517fc6ace799356a5a236ccaa6708c68b77b7de838b1700b6e0c40f48a1407a5eef08152f35b34610abb5760e0600319360112610abb57614740614842565b60a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc360112610abb576147726154d1565b60ce546001600160a01b03169060843560ff81169190829003610abb57823b15610abb575f8060209460e461051d9560405194859384927fd505accf000000000000000000000000000000000000000000000000000000008452336001600160a01b03166004850152306001600160a01b03166001600160a01b03166001600160a01b0316602485015260443560448501526064356064850152608484015260a43560a484015260c43560c48401525af1614832575b5060243590614eb0565b5f61483c916148fe565b5f614828565b60043590816001600160a01b03168203610abb57565b60243590816001600160a01b03168203610abb57565b60443590816001600160a01b03168203610abb57565b9181601f84011215610abb5782359167ffffffffffffffff8311610abb576020808501948460051b010111610abb57565b6080810190811067ffffffffffffffff8211176148d157604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f601f19910116810190811067ffffffffffffffff8211176148d157604052565b67ffffffffffffffff81116148d15760051b60200190565b600435908163ffffffff168203610abb57565b602435908163ffffffff168203610abb57565b6060600319820112610abb5760043567ffffffffffffffff8111610abb578161498a91600401614884565b929092916024359067ffffffffffffffff8211610abb576149ad91600401614884565b90916044356001600160a01b0381168103610abb5790565b67ffffffffffffffff81116148d157601f01601f191660200190565b9291926149ed826149c5565b916149fb60405193846148fe565b829481845281830111610abb578281602093845f960137010152565b90816020910312610abb57518015158103610abb5790565b91908203918211614a3c57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8051821015614a7d5760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9190811015614a7d5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610abb57019081359167ffffffffffffffff8311610abb576020018236038113610abb579190565b601f8260209493601f1993818652868601375f8582860101520116010190565b90601f19601f602080948051918291828752018686015e5f8582860101520116010190565b81810292918115918404141715614a3c57565b15614b6957565b606460405162461bcd60e51b815260206004820152601060248201527f496e636f72726563742043616c6c6572000000000000000000000000000000006044820152fd5b906fffffffffffffffffffffffffffffffff16906fffffffffffffffffffffffffffffffff1601906fffffffffffffffffffffffffffffffff8211614a3c57565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe182360301811215610abb57016020813591019167ffffffffffffffff8211610abb578136038313610abb57565b90602083828152019060208160051b85010193835f915b838310614c655750505050505090565b909192939495601f1982820301865286357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8184360301811215610abb576020614d0c6001938683940190614cfe614ce9614cd0614cc28580614bee565b608086526080860191614b0a565b614cdc87860186614bee565b9085830389870152614b0a565b92604081013560408401526060810190614bee565b916060818503910152614b0a565b980196019493019190614c55565b939190614d3291969596606086526060860191614c3e565b9183830360208501528183527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211610abb5760409260209260051b8092848301370101936001600160a01b0316910152565b15614d8c57565b608460405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b15614dfd57565b608460405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b614e9b60cf548060801c6fffffffffffffffffffffffffffffffff16906fffffffffffffffffffffffffffffffff16614bad565b6fffffffffffffffffffffffffffffffff1690565b90614eb96154d1565b614ec281615059565b906bffffffffffffffffffffffff8111801561501a575b8015615012575b6100c45760ce5460d2545f946020929091614f0b9185916001600160a01b03908116913391166155b9565b60d2546040517f19691cb00000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff808616600483015290951660248601526001600160a01b03918216604486018190526064860187905294958692608492849291165af1928315615007575f93614fd3575b506040519182526020820152600160408201527fb9da3f3df62c28aca604806cc6ee9678189d7591ef511a77bb040fa8361e9e026060336001600160a01b03166001600160a01b031692a290565b9092506020813d602011614fff575b81614fef602093836148fe565b81010312610abb5751915f614f85565b3d9150614fe2565b6040513d5f823e3d90fd5b508115614ee0565b508015614ed9565b811561502c570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b615061614e67565b80156150f95760ce546040517f3a98ef3900000000000000000000000000000000000000000000000000000000815290602090829060049082906001600160a01b03165afa908115615007575f916150c5575b50612307906150c293614b4f565b90565b90506020813d6020116150f1575b816150e0602093836148fe565b81010312610abb57516150c26150b4565b3d91506150d3565b50505f90565b1561510657565b606460405162461bcd60e51b815260206004820152600760248201527f496e76616c6964000000000000000000000000000000000000000000000000006044820152fd5b906fffffffffffffffffffffffffffffffff16906fffffffffffffffffffffffffffffffff1603906fffffffffffffffffffffffffffffffff8211614a3c57565b60ce546040517f3a98ef3900000000000000000000000000000000000000000000000000000000815290602090829060049082906001600160a01b03165afa908115615007575f916151f4575b5080156150f9576123076150c2926151ee614e67565b90614b4f565b90506020813d60201161521e575b8161520f602093836148fe565b81010312610abb57515f6151d8565b3d9150615202565b61522e614e67565b9081156150f95760ce546040517f3a98ef390000000000000000000000000000000000000000000000000000000081529190602090839060049082906001600160a01b03165afa908115615007575f916152cb575b61528d9250614b4f565b90808201809211614a3c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211614a3c576150c291615022565b90506020823d6020116152f9575b816152e6602093836148fe565b81010312610abb5761528d915190615283565b3d91506152d9565b909161530b6154d1565b60de5461532c906001600160a01b0316339081149081156154bc5750614b62565b60405190838252600160208301526001600160a01b031660408201527fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d6060836001600160a01b03166001600160a01b031692a260cf546fffffffffffffffffffffffffffffffff6153ec6fffffffffffffffffffffffffffffffff196153b75f608086901c614bad565b60801b166fffffffffffffffffffffffffffffffff1916926fffffffffffffffffffffffffffffffff86811691841616614bad565b166fffffffffffffffffffffffffffffffff161760cf5561540c826159b6565b916fffffffffffffffffffffffffffffffff81119081156154b3575b5080156154ab575b6100c45760ce546001600160a01b0316803b15610abb576040517f528c198a0000000000000000000000000000000000000000000000000000000081526001600160a01b03929092166004830152602482018390525f908290604490829084905af18015615007576154a1575b5090565b5f6150c2916148fe565b508115615430565b9050155f615428565b60d9546001600160a01b03161490505f613c6b565b60dc5460881c60ff166154e057565b606460405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152fd5b6fffffffffffffffffffffffffffffffff1961559c81926fffffffffffffffffffffffffffffffff1660cf546fffffffffffffffffffffffffffffffff61557d83836fffffffffffffffffffffffffffffffff16614bad565b166fffffffffffffffffffffffffffffffff169416841760801c61514a565b60801b166fffffffffffffffffffffffffffffffff19161760cf55565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000602082019081526001600160a01b039384166024830152938316604482015260648082019590955293845261566c93929116905f90819061561f6084866148fe565b6040519461562e6040876148fe565b602086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020870152519082855af1615666615891565b91615a39565b80519081615678575050565b602080615689938301019101614a17565b1561569057565b608460405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b1561570157565b608460405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b603354336001600160a01b039091160361578157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283167fffffffffffffffffffffffff0000000000000000000000000000000000000000821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b60cf546fffffffffffffffffffffffffffffffff6153ec6fffffffffffffffffffffffffffffffff1961585e868416608086901c614bad565b60801b166fffffffffffffffffffffffffffffffff1916925f9083166fffffffffffffffffffffffffffffffff16614bad565b3d156158bb573d906158a2826149c5565b916158b060405193846148fe565b82523d5f602084013e565b606090565b803b1561594c576001600160a01b037fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416916001600160a01b03166001600160a01b031616177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b608460405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b6159c7816159c2614e67565b614a2f565b801561549d5760ce546040517f3a98ef3900000000000000000000000000000000000000000000000000000000815290602090829060049082906001600160a01b03165afa908115615007575f916150c55750612307906150c293614b4f565b90919015615a33575090565b90615a9c565b91929015615a9a5750815115615a4d575090565b3b15615a565790565b606460405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825b805190919015615aaf5750805190602001fd5b615ad39060405191829162461bcd60e51b8352602060048401526024830190614b2a565b0390fd