Returned Raw Transaction Hex :
0x02f95a1d0181d584b2d05e0085166acd787c8361d8b18080b959c260806040523480156200001157600080fd5b50604051620059a2380380620059a283398101604081905262000034916200010e565b80156200004557620000456200004c565b5062000139565b600054610100900460ff1615620000b95760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156200010c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6000602082840312156200012157600080fd5b815180151581146200013257600080fd5b9392505050565b61585980620001496000396000f3fe608060405234801561001057600080fd5b50600436106103415760003560e01c80636c6ad242116101bd578063a22cb465116100f9578063d0def521116100a2578063da14cbbc1161007c578063da14cbbc14610765578063e985e9c514610778578063f2fde38b146107b4578063ffa1ad74146107c757600080fd5b8063d0def5211461072c578063d4bf502a1461073f578063d8d045b41461075257600080fd5b8063aef5a549116100d3578063aef5a549146106f3578063b88d4fde14610706578063c87b56dd1461071957600080fd5b8063a22cb465146106ac578063a25a3393146106bf578063a3246ad3146106d357600080fd5b80637e6cc5421161016657806391d148541161014057806391d148541461063a57806395d89b411461067e5780639713c80714610686578063a00939f61461069957600080fd5b80637e6cc542146105ff5780638bb9c5bf146106165780638da5cb5b1461062957600080fd5b8063715018a611610197578063715018a6146105bd57806375b238fc146105c55780637de19c5f146105ec57600080fd5b80636c6ad242146105755780636c8b703f1461058857806370a08231146105aa57600080fd5b806333aa4fb31161028c5780634a5970651161023557806356000f771161020f57806356000f77146105295780635b23e3ce1461053c5780636352211e1461054f5780636bf0651f1461056257600080fd5b80634a597065146104f557806351dc02f21461050357806352dbd6da1461051657600080fd5b806342842e0e1161026657806342842e0e146104bc57806342966c68146104cf578063455086e1146104e257600080fd5b806333aa4fb31461048e57806339ae37c0146104965780633f2bc966146104a957600080fd5b80631fbd2402116102ee57806324f029c3116102c857806324f029c3146104365780632a55205a14610449578063334980a51461047b57600080fd5b80631fbd2402146103e95780631ff7f0bc146103fc57806323b872dd1461042357600080fd5b8063095ea7b31161031f578063095ea7b3146103ae5780631258e887146103c357806318160ddd146103d657600080fd5b806301ffc9a71461034657806306fdde031461036e578063081812fc14610383575b600080fd5b610359610354366004614923565b610803565b60405190151581526020015b60405180910390f35b6103766108ca565b60405161036591906149ae565b6103966103913660046149c1565b61095c565b6040516001600160a01b039091168152602001610365565b6103c16103bc3660046149f1565b610983565b005b6103c16103d1366004614a1b565b6109d3565b610199545b604051908152602001610365565b6103c16103f7366004614bea565b610a7f565b6103db7ff0178e81e3689af48153edf0e1b2d669fe2786ab9e21fdecf3e3771c70330af581565b6103c1610431366004614cbf565b610c82565b6103c1610444366004614cfb565b610d09565b61045c610457366004614d18565b610d7a565b604080516001600160a01b039093168352602083019190915201610365565b610359610489366004614a1b565b610df2565b6103c1610ec0565b6103c16104a4366004614dc1565b610f0a565b6103596104b7366004614a1b565b6111b6565b6103c16104ca366004614cbf565b6111e5565b6103c16104dd3660046149c1565b611200565b6103596104f03660046149c1565b611283565b610133546103599060ff1681565b6103c1610511366004614e2d565b6112db565b6103c16105243660046149c1565b6113ea565b6103c1610537366004614e84565b611505565b6103c161054a366004614e84565b611610565b61039661055d3660046149c1565b61170c565b6103c1610570366004614dc1565b611770565b6103c1610583366004614efe565b611a41565b61059b6105963660046149c1565b611b40565b60405161036593929190614f51565b6103db6105b8366004614a1b565b611d41565b6103c1611ddb565b6103db7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b6103c16105fa366004614d18565b611def565b61045c6097546098546001600160a01b0390911691565b6103c16106243660046149c1565b611f63565b60cc546001600160a01b0316610396565b610359610648366004614fe4565b60fe54600090815260ff6020818152604080842086855282528084206001600160a01b0386168552909152909120541692915050565b610376611fc9565b6103c1610694366004615010565b611fd8565b6103c16106a7366004615035565b611feb565b6103c16106ba366004615083565b6122d9565b61016654610396906001600160a01b031681565b6106e66106e13660046149c1565b612324565b60405161036591906150ba565b6103c1610701366004615035565b61234d565b6103c1610714366004615107565b612637565b6103766107273660046149c1565b6126bf565b6103c161073a366004614efe565b612827565b6103c161074d366004615183565b6128d1565b6103c16107603660046149f1565b6128e4565b6103c16107733660046151d3565b6128f6565b610359610786366004615240565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b6103c16107c2366004614a1b565b612a33565b6103766040518060400160405280600681526020017f322e31302e31000000000000000000000000000000000000000000000000000081525081565b600061080e82612ac3565b8061081d575061081d82612ba6565b8061082c575061082c82612c3d565b8061087857507fffffffff0000000000000000000000000000000000000000000000000000000082167f4906490600000000000000000000000000000000000000000000000000000000145b806108c457507fffffffff0000000000000000000000000000000000000000000000000000000082167f06e1bc5b00000000000000000000000000000000000000000000000000000000145b92915050565b6060606580546108d99061526a565b80601f01602080910402602001604051908101604052809291908181526020018280546109059061526a565b80156109525780601f1061092757610100808354040283529160200191610952565b820191906000526020600020905b81548152906001019060200180831161093557829003601f168201915b5050505050905090565b600061096782612cd4565b506000908152606960205260409020546001600160a01b031690565b8161098d81610df2565b156109c4576040517fe0574fb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ce8383612d29565b505050565b6109dc336111b6565b610a12576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61016680546001600160a01b038381167fffffffffffffffffffffffff00000000000000000000000000000000000000008316811790935560405191169190829033907ff6026fd4b2ac82ff1a70c6ad48ae392a9ebb9864f0df50089a32683980dd5f3f90600090a45050565b600054610100900460ff1615808015610a9f5750600054600160ff909116105b80610ab95750303b158015610ab9575060005460ff166001145b610b305760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b8e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b988989612e55565b610ba28787612edc565b610bab85612f63565b610bdf8361013380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682151517905550565b610be882612ff9565b610c147fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177585600161307f565b8015610c7757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b610c8c338261320c565b610cfe5760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610b27565b6109ce83838361328b565b610d12336134ea565b610d48576040517f4701b18c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61013380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b609754609854600084815260996020526040812054909283926001600160a01b039182169290911615610dcc575050600084815260996020526040902080546001909101546001600160a01b03909116905b8181610dda612710886152e6565b610de49190615321565b9350935050505b9250929050565b610166546000906001600160a01b03163b8103610e1157506000919050565b610166546040517f334980a50000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301529091169063334980a590602401602060405180830381865afa925050508015610eaf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610eac91810190615338565b60015b6108c457506000919050565b919050565b610ec861356d565b60fe8054906000610ed883615355565b909155505060405133907fdf1eaea754aea6dc7d083377ed7366dd7405e3fb0f16ddfb9448770520e4427990600090a2565b60fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758086529083528185203386529092529092205416158015610f7a575033610f6e60cc546001600160a01b031690565b6001600160a01b031614155b15610fb4576040517f76c1743100000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b6000829003610fef576040517f17314b6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600284101561102a576040517f8015753900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061019954600161103c919061538d565b90506000600161104c878461538d565b61105691906153a0565b905086869050610199600082825461106e919061538d565b9250508190555061019e604051806080016040528060006001600160a01b0316815260200184815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160049092020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091178155908301519381019390935550604081015160028301556060810151909190600382019061115390826153f9565b50505060005b868110156111ac5761119a88888381811061117657611176615513565b905060200201602081019061118b9190614a1b565b611195838661538d565b6135c7565b806111a481615355565b915050611159565b5050505050505050565b60006111ca60cc546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6109ce83838360405180602001604052806000815250612637565b61120a338261320c565b611240576040517fc9c1cf1b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112498161374c565b600090815261019a6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b600061128e82613817565b6112c4576040517feb7d192800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600090815261019c602052604090205460ff1690565b60fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775808652908352818520338652909252909220541615801561134b57503361133f60cc546001600160a01b031690565b6001600160a01b031614155b15611385576040517f76c1743100000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b6113e47ff0178e81e3689af48153edf0e1b2d669fe2786ab9e21fdecf3e3771c70330af585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525087925061307f915050565b50505050565b6113f381613817565b611429576040517feb7d192800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336114338261170c565b6001600160a01b031614611473576040517fb23b68b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815261019c602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555182917fc4c6bc7f651e4303914b61cddcb11cf5e983ffce8f33c7fe68aeeae65bbb1d0591a26040518181527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a150565b6101335460ff16611542576040517fc3d4cd7900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61154b85613834565b611581576040517fceea21b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61158b338661383f565b6115c1576040517f57deb26a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b0316857f5c0564b4237730adb947143019acb5addfdbf1be3ad1edf72e24a8f9d02fd2c186868686604051611601949392919061558b565b60405180910390a35050505050565b6101335460ff1661164d576040517fc3d4cd7900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61165685613834565b61168c576040517fceea21b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61169633866138c5565b6116cc576040517f59dc379f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b336001600160a01b0316857f40ebea9c3c7603a5d233a0bec01e483338737b6bed01bed2ac09ccbaa3d4b7ac86868686604051611601949392919061558b565b600080611718836138e9565b90506001600160a01b0381166108c45760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610b27565b60fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177580865290835281852033865290925290922054161580156117e05750336117d460cc546001600160a01b031690565b6001600160a01b031614155b1561181a576040517f76c1743100000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b6000829003611855576040517f17314b6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000849003611890576040517f374eaed400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61019d80546001810182556000919091527f71880bb8535eda3be1bc3614789b84ba72ab02d5ae26ba282fa1178bb7fea1e681016118cf8486836155b2565b5060005b85811015611a38576118fc8787838181106118f0576118f0615513565b90506020020135613817565b611932576040517feb7d192800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082019091526fffffffffffffffffffffffffffffffff80841682528216602082015261019c600089898581811061197057611970615513565b602090810292909201358352508181019290925260400160009081206002018054600181018255908252908290208351928401516fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029316929092179101557ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7888884818110611a0757611a07615513565b90506020020135604051611a1d91815260200190565b60405180910390a15080611a3081615355565b9150506118d3565b50505050505050565b60fe54600090815260ff602081815260408084207ff0178e81e3689af48153edf0e1b2d669fe2786ab9e21fdecf3e3771c70330af58086529083528185203386529092529092205416611ac3576040517fee074e7400000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b6000829003611afe576040517f17314b6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101998054906000611b0f83615355565b909155505061019954600090815261019b60205260409020611b328385836155b2565b506113e484610199546135c7565b600060606000611b4f84613817565b611b85576040517feb7d192800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815261019c602090815260408083208151606081018352815460ff1615158152600182015481850152600282018054845181870281018701865281815292959394860193879084015b82821015611c3057600084815260209081902060408051808201909152908401546fffffffffffffffffffffffffffffffff80821683527001000000000000000000000000000000009091041681830152825260019092019101611bd1565b50505091525050604081015151909150611c4b90600161538d565b67ffffffffffffffff811115611c6357611c63614a36565b604051908082528060200260200182016040528015611c9657816020015b6060815260200190600190039081611c815790505b509250611ca285613957565b83600081518110611cb557611cb5615513565b602002602001018190525060005b816040015151811015611d1457611cda8282613a07565b84611ce683600161538d565b81518110611cf657611cf6615513565b60200260200101819052508080611d0c90615355565b915050611cc3565b508051915081611d315760018351611d2c91906153a0565b611d37565b80602001515b9350509193909250565b60006001600160a01b038216611dbf5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610b27565b506001600160a01b031660009081526068602052604090205490565b611de361356d565b611ded6000613abe565b565b611df882613817565b611e2e576040517feb7d192800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33611e388361170c565b6001600160a01b031614611e78576040517fb23b68b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815261019c6020526040902060020154811115611ec4576040517f58eafc8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815261019c6020526040808220600180820185905581547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001617905551829184917fdafe56f3e547ebb1818fc8353ba53591db2528d41cbb7a35af2d9469f44905339190a36040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b604080516001808252818301909252600091602080830190803683370190505090503381600081518110611f9957611f99615513565b60200260200101906001600160a01b031690816001600160a01b031681525050611fc58282600061307f565b5050565b6060606680546108d99061526a565b611fe061356d565b6109ce838383613b28565b60fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775808652908352818520338652909252909220541615801561205b57503361204f60cc546001600160a01b031690565b6001600160a01b031614155b15612095576040517f76c1743100000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b6001600160a01b0385166120d5576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612110576040517f17314b6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600284101561214b576040517f26ce41c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061019954600161215d919061538d565b90506000600161216d878461538d565b61217791906153a0565b905085610199600082825461218c919061538d565b9250508190555061019e6040518060800160405280896001600160a01b0316815260200184815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160049092020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909216919091178155908301519381019390935550604081015160028301556060810151909190600382019061227090826153f9565b50505061227d8787613bef565b815b61228a82600161538d565b8110156111ac5760405181906001600160a01b038a16906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46122d281615355565b905061227f565b816122e381610df2565b1561231a576040517fe0574fb800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ce8383613c20565b60fe5460009081526101006020908152604080832084845290915290206060906108c490613c2b565b60fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177580865290835281852033865290925290922054161580156123bd5750336123b160cc546001600160a01b031690565b6001600160a01b031614155b156123f7576040517f76c1743100000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b6001600160a01b038516612437576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000829003612472576040517f17314b6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028410156124ad576040517f26ce41c100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006101995460016124bf919061538d565b9050600060016124cf878461538d565b6124d991906153a0565b90508561019960008282546124ee919061538d565b9250508190555061019e6040518060800160405280896001600160a01b0316815260200184815260200183815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050835460018082018655948252602091829020845160049092020180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390921691909117815590830151938101939093555060408101516002830155606081015190919060038201906125d290826153f9565b5050506125df8787613bef565b866001600160a01b031660006001600160a01b0316837fdeaa91b6123d068f5821d0fb0678463d1a8a6079fe8af5de3ce5e896dcf9133d8460405161262691815260200190565b60405180910390a450505050505050565b612641338361320c565b6126b35760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610b27565b6113e484848484613c38565b60606126ca82613817565b612700576040517feb7d192800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815261019c602090815260408083208151606081018352815460ff1615158152600182015481850152600282018054845181870281018701865281815292959394860193879084015b828210156127ab57600084815260209081902060408051808201909152908401546fffffffffffffffffffffffffffffffff8082168352700100000000000000000000000000000000909104168183015282526001909201910161274c565b505050915250508051909150156127f25780602001516000036127d8576127d183613957565b9150612821565b6127d181600183602001516127ed91906153a0565b613a07565b806040015151600003612808576127d183613957565b61281e8160018360400151516127ed91906153a0565b91505b50919050565b60fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775808652908352818520338652909252909220541615801561289757503361288b60cc546001600160a01b031690565b6001600160a01b031614155b15611ac3576040517f76c1743100000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b6128d961356d565b6109ce83838361307f565b6128ec61356d565b611fc58282613cc1565b60fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775808652908352818520338652909252909220541615801561296657503361295a60cc546001600160a01b031690565b6001600160a01b031614155b156129a0576040517f76c1743100000000000000000000000000000000000000000000000000000000815260048101829052602401610b27565b60008490036129db576040517f17314b6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61019980549060006129ec83615355565b909155505061019954600090815261019b60205260409020612a0f8587836155b2565b50612a1e610199548484613b28565b612a2b86610199546135c7565b505050505050565b612a3b61356d565b6001600160a01b038116612ab75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b27565b612ac081613abe565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd000000000000000000000000000000000000000000000000000000001480612b5657507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806108c457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146108c4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2a55205a0000000000000000000000000000000000000000000000000000000014806108c457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146108c4565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0d23ecb90000000000000000000000000000000000000000000000000000000014806108c457507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146108c4565b612cdd81613817565b612ac05760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610b27565b6000612d348261170c565b9050806001600160a01b0316836001600160a01b031603612dbd5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610b27565b336001600160a01b0382161480612dd95750612dd98133610786565b612e4b5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610b27565b6109ce8383613d7b565b600054610100900460ff16612ed25760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b611fc58282613e01565b600054610100900460ff16612f595760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b611fc58282613e97565b600054610100900460ff16612fe05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b612fe8613f14565b612ff181613abe565b612ac0613f99565b600054610100900460ff166130765760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b612ac081614016565b60005b82518110156113e45760fe54600090815260ff60209081526040808320878452909152812084518492908690859081106130be576130be615513565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550811561314c5761314683828151811061311857613118615513565b60209081029190910181015160fe5460009081526101008352604080822089835290935291909120906140fa565b50613191565b61318f83828151811061316157613161615513565b60209081029190910181015160fe54600090815261010083526040808220898352909352919091209061410f565b505b8115158382815181106131a6576131a6615513565b60200260200101516001600160a01b0316336001600160a01b03167fc9f6f69b3c19bd2b7eb8273129bbca5e3db0e3be63ca9903e140122a5bbb556e876040516131f291815260200190565b60405180910390a48061320481615355565b915050613082565b6000806132188361170c565b9050806001600160a01b0316846001600160a01b0316148061325f57506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806132835750836001600160a01b03166132788461095c565b6001600160a01b0316145b949350505050565b826001600160a01b031661329e8261170c565b6001600160a01b03161461331a5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610b27565b6001600160a01b0382166133955760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610b27565b826001600160a01b03166133a88261170c565b6001600160a01b0316146134245760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610b27565b600081815260696020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556001600160a01b038781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b60006134fe60cc546001600160a01b031690565b6001600160a01b0316826001600160a01b031614806108c4575060fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775855282528084206001600160a01b038716855290915290912054166108c4565b60cc546001600160a01b03163314611ded5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b27565b6001600160a01b03821661361d5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b27565b61362681613817565b156136735760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b27565b61367c81613817565b156136c95760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b27565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60006137578261170c565b90506137628261170c565b600083815260696020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081169091556001600160a01b0385168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b600080613823836138e9565b6001600160a01b0316141592915050565b60006108c482613817565b600061385360cc546001600160a01b031690565b6001600160a01b0316836001600160a01b031614806138be575060fe54600090815260ff602081815260408084207fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775855282528084206001600160a01b038816855290915290912054165b9392505050565b6000806138d18361170c565b6001600160a01b039081169085161491505092915050565b600081815261019a602052604081205460ff161561390957506000919050565b60008211801561391c5750610199548211155b1561394f576000828152606760205260409020546001600160a01b0316806108c45761394783614124565b509392505050565b506000919050565b600081815261019b602052604090208054606091906139759061526a565b80601f01602080910402602001604051908101604052809291908181526020018280546139a19061526a565b80156139ee5780601f106139c3576101008083540402835291602001916139ee565b820191906000526020600020905b8154815290600101906020018083116139d157829003601f168201915b505050505090508051600003610ebb5761281e82614124565b606061019d83604001518381518110613a2257613a22615513565b6020026020010151600001516fffffffffffffffffffffffffffffffff1681548110613a5057613a50615513565b90600052602060002001613a9684604001518481518110613a7357613a73615513565b6020026020010151602001516fffffffffffffffffffffffffffffffff16614286565b604051602001613aa79291906156cd565b604051602081830303815290604052905092915050565b60cc80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216613b68576040517f3efa09af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710811115613ba4576040517fdc65bdeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60009283526099602052604090922080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039290921691909117815560010155565b6001600160a01b03821660009081526068602052604081208054839290613c1790849061538d565b90915550505050565b611fc5338383614344565b606060006138be83614430565b613c4384848461328b565b613c4f8484848461448c565b6113e45760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b27565b6001600160a01b038216613d01576040517f3efa09af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710811115613d3d576040517fdc65bdeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b609780547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039390931692909217909155609855565b600081815260696020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384169081179091558190613dc88261170c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600054610100900460ff16613e7e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b6065613e8a83826153f9565b5060666109ce82826153f9565b600054610100900460ff166128ec5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b600054610100900460ff16613f915760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b611ded61464b565b600054610100900460ff16611ded5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b600054610100900460ff166140935760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b61016680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831690811790915560405160009033907ff6026fd4b2ac82ff1a70c6ad48ae392a9ebb9864f0df50089a32683980dd5f3f908390a450565b60006138be836001600160a01b0384166146d1565b60006138be836001600160a01b038416614720565b6000606060005b61019e548110156141a65761019e818154811061414a5761414a615513565b9060005260206000209060040201600101548410158015614190575061019e818154811061417a5761417a615513565b9060005260206000209060040201600201548411155b6141a6578061419e81615355565b91505061412b565b61019e5481106141cc576000604051806020016040528060008152509250925050915091565b600061019e82815481106141e2576141e2615513565b906000526020600020906004020160030161422c61019e848154811061420a5761420a615513565b9060005260206000209060040201600101548761422791906153a0565b614286565b60405160200161423d9291906156cd565b604051602081830303815290604052905061019e828154811061426257614262615513565b60009182526020909120600490910201546001600160a01b03169590945092505050565b6060600061429383614813565b600101905060008167ffffffffffffffff8111156142b3576142b3614a36565b6040519080825280601f01601f1916602001820160405280156142dd576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846142e757509392505050565b816001600160a01b0316836001600160a01b0316036143a55760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b27565b6001600160a01b038381166000818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60608160000180548060200260200160405190810160405280929190818152602001828054801561448057602002820191906000526020600020905b81548152602001906001019080831161446c575b50505050509050919050565b60006001600160a01b0384163b15614640576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a02906144e990339089908890889060040161579b565b6020604051808303816000875af1925050508015614542575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261453f918101906157d7565b60015b6145f5573d808015614570576040519150601f19603f3d011682016040523d82523d6000602084013e614575565b606091505b5080516000036145ed5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b27565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050613283565b506001949350505050565b600054610100900460ff166146c85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610b27565b611ded33613abe565b6000818152600183016020526040812054614718575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556108c4565b5060006108c4565b600081815260018301602052604081205480156148095760006147446001836153a0565b8554909150600090614758906001906153a0565b90508181146147bd57600086600001828154811061477857614778615513565b906000526020600020015490508087600001848154811061479b5761479b615513565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806147ce576147ce6157f4565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506108c4565b60009150506108c4565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061485c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614888576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106148a657662386f26fc10000830492506010015b6305f5e10083106148be576305f5e100830492506008015b61271083106148d257612710830492506004015b606483106148e4576064830492506002015b600a83106108c45760010192915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612ac057600080fd5b60006020828403121561493557600080fd5b81356138be816148f5565b60005b8381101561495b578181015183820152602001614943565b50506000910152565b6000815180845261497c816020860160208601614940565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006138be6020830184614964565b6000602082840312156149d357600080fd5b5035919050565b80356001600160a01b0381168114610ebb57600080fd5b60008060408385031215614a0457600080fd5b614a0d836149da565b946020939093013593505050565b600060208284031215614a2d57600080fd5b6138be826149da565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614aac57614aac614a36565b604052919050565b600067ffffffffffffffff831115614ace57614ace614a36565b614aff60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f86011601614a65565b9050828152838383011115614b1357600080fd5b828260208301376000602084830101529392505050565b600082601f830112614b3b57600080fd5b6138be83833560208501614ab4565b600082601f830112614b5b57600080fd5b8135602067ffffffffffffffff821115614b7757614b77614a36565b8160051b614b86828201614a65565b9283528481018201928281019087851115614ba057600080fd5b83870192505b84831015614bc657614bb7836149da565b82529183019190830190614ba6565b979650505050505050565b8015158114612ac057600080fd5b8035610ebb81614bd1565b600080600080600080600080610100898b031215614c0757600080fd5b883567ffffffffffffffff80821115614c1f57600080fd5b614c2b8c838d01614b2a565b995060208b0135915080821115614c4157600080fd5b614c4d8c838d01614b2a565b9850614c5b60408c016149da565b975060608b01359650614c7060808c016149da565b955060a08b0135915080821115614c8657600080fd5b50614c938b828c01614b4a565b935050614ca260c08a01614bdf565b9150614cb060e08a016149da565b90509295985092959890939650565b600080600060608486031215614cd457600080fd5b614cdd846149da565b9250614ceb602085016149da565b9150604084013590509250925092565b600060208284031215614d0d57600080fd5b81356138be81614bd1565b60008060408385031215614d2b57600080fd5b50508035926020909101359150565b60008083601f840112614d4c57600080fd5b50813567ffffffffffffffff811115614d6457600080fd5b6020830191508360208260051b8501011115610deb57600080fd5b60008083601f840112614d9157600080fd5b50813567ffffffffffffffff811115614da957600080fd5b602083019150836020828501011115610deb57600080fd5b60008060008060408587031215614dd757600080fd5b843567ffffffffffffffff80821115614def57600080fd5b614dfb88838901614d3a565b90965094506020870135915080821115614e1457600080fd5b50614e2187828801614d7f565b95989497509550505050565b600080600060408486031215614e4257600080fd5b833567ffffffffffffffff811115614e5957600080fd5b614e6586828701614d3a565b9094509250506020840135614e7981614bd1565b809150509250925092565b600080600080600060608688031215614e9c57600080fd5b85359450602086013567ffffffffffffffff80821115614ebb57600080fd5b614ec789838a01614d7f565b90965094506040880135915080821115614ee057600080fd5b50614eed88828901614d7f565b969995985093965092949392505050565b600080600060408486031215614f1357600080fd5b614f1c846149da565b9250602084013567ffffffffffffffff811115614f3857600080fd5b614f4486828701614d7f565b9497909650939450505050565b600060608201858352602060608185015281865180845260808601915060808160051b870101935082880160005b82811015614fcb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80888703018452614fb9868351614964565b95509284019290840190600101614f7f565b5050505050809150508215156040830152949350505050565b60008060408385031215614ff757600080fd5b82359150615007602084016149da565b90509250929050565b60008060006060848603121561502557600080fd5b83359250614ceb602085016149da565b6000806000806060858703121561504b57600080fd5b615054856149da565b935060208501359250604085013567ffffffffffffffff81111561507757600080fd5b614e2187828801614d7f565b6000806040838503121561509657600080fd5b61509f836149da565b915060208301356150af81614bd1565b809150509250929050565b6020808252825182820181905260009190848201906040850190845b818110156150fb5783516001600160a01b0316835292840192918401916001016150d6565b50909695505050505050565b6000806000806080858703121561511d57600080fd5b615126856149da565b9350615134602086016149da565b925060408501359150606085013567ffffffffffffffff81111561515757600080fd5b8501601f8101871361516857600080fd5b61517787823560208401614ab4565b91505092959194509250565b60008060006060848603121561519857600080fd5b83359250602084013567ffffffffffffffff8111156151b657600080fd5b6151c286828701614b4a565b9250506040840135614e7981614bd1565b6000806000806000608086880312156151eb57600080fd5b6151f4866149da565b9450602086013567ffffffffffffffff81111561521057600080fd5b61521c88828901614d7f565b909550935061522f9050604087016149da565b949793965091946060013592915050565b6000806040838503121561525357600080fd5b61525c836149da565b9150615007602084016149da565b600181811c9082168061527e57607f821691505b602082108103612821577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008261531c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820281158282048414176108c4576108c46152b7565b60006020828403121561534a57600080fd5b81516138be81614bd1565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615386576153866152b7565b5060010190565b808201808211156108c4576108c46152b7565b818103818111156108c4576108c46152b7565b601f8211156109ce57600081815260208120601f850160051c810160208610156153da5750805b601f850160051c820191505b81811015612a2b578281556001016153e6565b815167ffffffffffffffff81111561541357615413614a36565b61542781615421845461526a565b846153b3565b602080601f83116001811461547a57600084156154445750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612a2b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156154c7578886015182559484019460019091019084016154a8565b508582101561550357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061559f604083018688615542565b8281036020840152614bc6818587615542565b67ffffffffffffffff8311156155ca576155ca614a36565b6155de836155d8835461526a565b836153b3565b6000601f84116001811461563057600085156155fa5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556156c6565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561567f578685013582556020948501946001909201910161565f565b50868210156156ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60008084546156db8161526a565b600182811680156156f3576001811461572657615755565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450615755565b8860005260208060002060005b8581101561574c5781548a820152908401908201615733565b50505082870194505b507f2f0000000000000000000000000000000000000000000000000000000000000084528651925061578d8382860160208a01614940565b919092010195945050505050565b60006001600160a01b038087168352808616602084015250836040830152608060608301526157cd6080830184614964565b9695505050505050565b6000602082840312156157e957600080fd5b81516138be816148f5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122095610282e742be809cc25166f67f90a701b52f1aca8c4023974ed8b3a1b67ddc64736f6c634300081300330000000000000000000000000000000000000000000000000000000000000001c001a022e0232b89cbd37968786527289ff2662d7f4d1160bbfd8ab9a35ce6174b9a23a00974c34d0a4179c161cc8901ffd5b2b024d2408c0ec5f5d553320a0e26fc27b8