0x608060405234801561001057600080fd5b5061001961001e565b6100dd565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100db576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611ceb806100ec6000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c806342966c68116100f957806394a7ef1511610097578063a457c2d711610071578063a457c2d7146103b9578063a9059cbb146103cc578063d547741f146103df578063dd62ed3e146103f2576101b9565b806394a7ef151461039657806395d89b41146103a9578063a217fddf146103b1576101b9565b806370a08231116100d357806370a082311461031957806379cc6790146103425780638456cb591461035557806391d148541461035d576101b9565b806342966c68146102e85780634cd88b76146102fb5780635c975abb1461030e576101b9565b80632f2ff15d116101665780633950935111610140578063395093511461028d5780633af32abf146102a05780633f4ba83a146102cd57806340c10f19146102d5576101b9565b80632f2ff15d14610256578063313ce5671461026b57806336568abe1461027a576101b9565b806318160ddd1161019757806318160ddd1461020e57806323b872dd14610220578063248a9ca314610233576101b9565b806301ffc9a7146101be57806306fdde03146101e6578063095ea7b3146101fb575b600080fd5b6101d16101cc366004611a7f565b61042b565b60405190151581526020015b60405180910390f35b6101ee6104c6565b6040516101dd9190611ba1565b6101d1610209366004611a1c565b610558565b6035545b6040519081526020016101dd565b6101d161022e3660046119e1565b610570565b610212610241366004611a45565b600090815260fb602052604090206001015490565b610269610264366004611a5d565b610594565b005b604051601281526020016101dd565b610269610288366004611a5d565b6105be565b6101d161029b366004611a1c565b61064f565b6101d16102ae366004611995565b6001600160a01b0316600090815261012d602052604090205460ff1690565b61026961068e565b6102696102e3366004611a1c565b6106cb565b6102696102f6366004611a45565b610707565b610269610309366004611abf565b610711565b60975460ff166101d1565b610212610327366004611995565b6001600160a01b031660009081526033602052604090205490565b610269610350366004611a1c565b610882565b610269610897565b6101d161036b366004611a5d565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6102696103a4366004611995565b6108d1565b6101ee610921565b610212600081565b6101d16103c7366004611a1c565b610930565b6101d16103da366004611a1c565b6109da565b6102696103ed366004611a5d565b6109e8565b6102126104003660046119af565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104be57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b90505b919050565b6060603680546104d590611c4e565b80601f016020809104026020016040519081016040528092919081815260200182805461050190611c4e565b801561054e5780601f106105235761010080835404028352916020019161054e565b820191906000526020600020905b81548152906001019060200180831161053157829003601f168201915b5050505050905090565b600033610566818585610a0d565b5060019392505050565b60003361057e858285610b65565b610589858585610b91565b506001949350505050565b600082815260fb60205260409020600101546105af81610d92565b6105b98383610d9c565b505050565b6001600160a01b03811633146106415760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b61064b8282610e3e565b5050565b3360008181526034602090815260408083206001600160a01b03871684529091528120549091906105669082908690610689908790611bd4565b610a0d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756106b881610d92565b6106c0610ec1565b6106c8610f15565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66106f581610d92565b6106fd610f67565b6105b98383610fba565b6106c83382611088565b600054610100900460ff16158080156107315750600054600160ff909116105b8061074b5750303b15801561074b575060005460ff166001145b6107bd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610638565b6000805460ff1916600117905580156107e0576000805461ff0019166101001790555b6107ea83836111ff565b6107f2611274565b6107fa611274565b6108026112df565b61080e6000335b611352565b6108387fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610809565b80156105b9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61088d823383610b65565b61064b8282611088565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756108c181610d92565b6108c9610f67565b6106c861135c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756108fb81610d92565b506001600160a01b0316600090815261012d60205260409020805460ff19166001179055565b6060603780546104d590611c4e565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909190838110156109cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610638565b6105898286868403610a0d565b600033610566818585610b91565b600082815260fb6020526040902060010154610a0381610d92565b6105b98383610e3e565b6001600160a01b038316610a885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b038216610b045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216600090815261012d602052604090205460ff166105b9576105b9838383611399565b6001600160a01b038316610c0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b038216610c895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610638565b610c94838383611425565b6001600160a01b03831660009081526033602052604090205481811015610d235760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d839086815260200190565b60405180910390a35b50505050565b6106c881336114a0565b600082815260fb602090815260408083206001600160a01b038516845290915290205460ff1661064b57600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610dfa3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260fb602090815260408083206001600160a01b038516845290915290205460ff161561064b57600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60975460ff16610f135760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610638565b565b610f1d610ec1565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60975460ff1615610f135760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610638565b6001600160a01b0382166110105760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610638565b61101c60008383611425565b806035600082825461102e9190611bd4565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361064b565b6001600160a01b0382166111045760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610638565b61111082600083611425565b6001600160a01b0382166000908152603360205260409020548181101561119f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105b9565b600054610100900460ff1661126a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b61064b8282611515565b600054610100900460ff16610f135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b600054610100900460ff1661134a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b610f136115a7565b61064b8282610d9c565b611364610f67565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f4a3390565b6001600160a01b038381166000908152603460209081526040808320938616835292905220546000198114610d8c57818110156114185760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610638565b610d8c8484848403610a0d565b61142d610f67565b6001600160a01b038316158061144a57506001600160a01b038216155b8061146e57506001600160a01b038316600090815261012d602052604090205460ff165b8061149257506001600160a01b038216600090815261012d602052604090205460ff165b61149b57600080fd5b6105b9565b600082815260fb602090815260408083206001600160a01b038516845290915290205460ff1661064b576114d38161161e565b6114de836020611630565b6040516020016114ef929190611b20565b60408051601f198184030181529082905262461bcd60e51b825261063891600401611ba1565b600054610100900460ff166115805760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b815161159390603690602085019061185e565b5080516105b990603790602084019061185e565b600054610100900460ff166116125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b6097805460ff19169055565b60606104be6001600160a01b03831660145b6060600061163f836002611bec565b61164a906002611bd4565b67ffffffffffffffff81111561167057634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561169a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106116df57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061173857634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061175c846002611bec565b611767906001611bd4565b90505b6001811115611808577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106117b657634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106117da57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361180181611c37565b905061176a565b5083156118575760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610638565b9392505050565b82805461186a90611c4e565b90600052602060002090601f01602090048101928261188c57600085556118d2565b82601f106118a557805160ff19168380011785556118d2565b828001600101855582156118d2579182015b828111156118d25782518255916020019190600101906118b7565b506118de9291506118e2565b5090565b5b808211156118de57600081556001016118e3565b80356001600160a01b03811681146104c157600080fd5b600082601f83011261191e578081fd5b813567ffffffffffffffff8082111561193957611939611c9f565b604051601f8301601f19908116603f0116810190828211818310171561196157611961611c9f565b81604052838152866020858801011115611979578485fd5b8360208701602083013792830160200193909352509392505050565b6000602082840312156119a6578081fd5b611857826118f7565b600080604083850312156119c1578081fd5b6119ca836118f7565b91506119d8602084016118f7565b90509250929050565b6000806000606084860312156119f5578081fd5b6119fe846118f7565b9250611a0c602085016118f7565b9150604084013590509250925092565b60008060408385031215611a2e578182fd5b611a37836118f7565b946020939093013593505050565b600060208284031215611a56578081fd5b5035919050565b60008060408385031215611a6f578182fd5b823591506119d8602084016118f7565b600060208284031215611a90578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611857578182fd5b60008060408385031215611ad1578182fd5b823567ffffffffffffffff80821115611ae8578384fd5b611af48683870161190e565b93506020850135915080821115611b09578283fd5b50611b168582860161190e565b9150509250929050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611b58816017850160208801611c0b565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611b95816028840160208801611c0b565b01602801949350505050565b6000602082528251806020840152611bc0816040850160208701611c0b565b601f01601f19169190910160400192915050565b60008219821115611be757611be7611c89565b500190565b6000816000190483118215151615611c0657611c06611c89565b500290565b60005b83811015611c26578181015183820152602001611c0e565b83811115610d8c5750506000910152565b600081611c4657611c46611c89565b506000190190565b600281046001821680611c6257607f821691505b60208210811415611c8357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122081ba21adf00d17589976e80abc05fcc3e06e6b53522eb5685438cdd051ab237d64736f6c63430008020033
0x608060405234801561001057600080fd5b50600436106101b95760003560e01c806342966c68116100f957806394a7ef1511610097578063a457c2d711610071578063a457c2d7146103b9578063a9059cbb146103cc578063d547741f146103df578063dd62ed3e146103f2576101b9565b806394a7ef151461039657806395d89b41146103a9578063a217fddf146103b1576101b9565b806370a08231116100d357806370a082311461031957806379cc6790146103425780638456cb591461035557806391d148541461035d576101b9565b806342966c68146102e85780634cd88b76146102fb5780635c975abb1461030e576101b9565b80632f2ff15d116101665780633950935111610140578063395093511461028d5780633af32abf146102a05780633f4ba83a146102cd57806340c10f19146102d5576101b9565b80632f2ff15d14610256578063313ce5671461026b57806336568abe1461027a576101b9565b806318160ddd1161019757806318160ddd1461020e57806323b872dd14610220578063248a9ca314610233576101b9565b806301ffc9a7146101be57806306fdde03146101e6578063095ea7b3146101fb575b600080fd5b6101d16101cc366004611a7f565b61042b565b60405190151581526020015b60405180910390f35b6101ee6104c6565b6040516101dd9190611ba1565b6101d1610209366004611a1c565b610558565b6035545b6040519081526020016101dd565b6101d161022e3660046119e1565b610570565b610212610241366004611a45565b600090815260fb602052604090206001015490565b610269610264366004611a5d565b610594565b005b604051601281526020016101dd565b610269610288366004611a5d565b6105be565b6101d161029b366004611a1c565b61064f565b6101d16102ae366004611995565b6001600160a01b0316600090815261012d602052604090205460ff1690565b61026961068e565b6102696102e3366004611a1c565b6106cb565b6102696102f6366004611a45565b610707565b610269610309366004611abf565b610711565b60975460ff166101d1565b610212610327366004611995565b6001600160a01b031660009081526033602052604090205490565b610269610350366004611a1c565b610882565b610269610897565b6101d161036b366004611a5d565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6102696103a4366004611995565b6108d1565b6101ee610921565b610212600081565b6101d16103c7366004611a1c565b610930565b6101d16103da366004611a1c565b6109da565b6102696103ed366004611a5d565b6109e8565b6102126104003660046119af565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104be57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b90505b919050565b6060603680546104d590611c4e565b80601f016020809104026020016040519081016040528092919081815260200182805461050190611c4e565b801561054e5780601f106105235761010080835404028352916020019161054e565b820191906000526020600020905b81548152906001019060200180831161053157829003601f168201915b5050505050905090565b600033610566818585610a0d565b5060019392505050565b60003361057e858285610b65565b610589858585610b91565b506001949350505050565b600082815260fb60205260409020600101546105af81610d92565b6105b98383610d9c565b505050565b6001600160a01b03811633146106415760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b61064b8282610e3e565b5050565b3360008181526034602090815260408083206001600160a01b03871684529091528120549091906105669082908690610689908790611bd4565b610a0d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756106b881610d92565b6106c0610ec1565b6106c8610f15565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66106f581610d92565b6106fd610f67565b6105b98383610fba565b6106c83382611088565b600054610100900460ff16158080156107315750600054600160ff909116105b8061074b5750303b15801561074b575060005460ff166001145b6107bd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610638565b6000805460ff1916600117905580156107e0576000805461ff0019166101001790555b6107ea83836111ff565b6107f2611274565b6107fa611274565b6108026112df565b61080e6000335b611352565b6108387fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177533610809565b80156105b9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61088d823383610b65565b61064b8282611088565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756108c181610d92565b6108c9610f67565b6106c861135c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756108fb81610d92565b506001600160a01b0316600090815261012d60205260409020805460ff19166001179055565b6060603780546104d590611c4e565b3360008181526034602090815260408083206001600160a01b0387168452909152812054909190838110156109cd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610638565b6105898286868403610a0d565b600033610566818585610b91565b600082815260fb6020526040902060010154610a0381610d92565b6105b98383610e3e565b6001600160a01b038316610a885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b038216610b045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038216600090815261012d602052604090205460ff166105b9576105b9838383611399565b6001600160a01b038316610c0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b038216610c895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610638565b610c94838383611425565b6001600160a01b03831660009081526033602052604090205481811015610d235760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d839086815260200190565b60405180910390a35b50505050565b6106c881336114a0565b600082815260fb602090815260408083206001600160a01b038516845290915290205460ff1661064b57600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610dfa3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260fb602090815260408083206001600160a01b038516845290915290205460ff161561064b57600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60975460ff16610f135760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610638565b565b610f1d610ec1565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60975460ff1615610f135760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610638565b6001600160a01b0382166110105760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610638565b61101c60008383611425565b806035600082825461102e9190611bd4565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361064b565b6001600160a01b0382166111045760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610638565b61111082600083611425565b6001600160a01b0382166000908152603360205260409020548181101561119f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610638565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105b9565b600054610100900460ff1661126a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b61064b8282611515565b600054610100900460ff16610f135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b600054610100900460ff1661134a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b610f136115a7565b61064b8282610d9c565b611364610f67565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f4a3390565b6001600160a01b038381166000908152603460209081526040808320938616835292905220546000198114610d8c57818110156114185760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610638565b610d8c8484848403610a0d565b61142d610f67565b6001600160a01b038316158061144a57506001600160a01b038216155b8061146e57506001600160a01b038316600090815261012d602052604090205460ff165b8061149257506001600160a01b038216600090815261012d602052604090205460ff165b61149b57600080fd5b6105b9565b600082815260fb602090815260408083206001600160a01b038516845290915290205460ff1661064b576114d38161161e565b6114de836020611630565b6040516020016114ef929190611b20565b60408051601f198184030181529082905262461bcd60e51b825261063891600401611ba1565b600054610100900460ff166115805760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b815161159390603690602085019061185e565b5080516105b990603790602084019061185e565b600054610100900460ff166116125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610638565b6097805460ff19169055565b60606104be6001600160a01b03831660145b6060600061163f836002611bec565b61164a906002611bd4565b67ffffffffffffffff81111561167057634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561169a576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106116df57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061173857634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061175c846002611bec565b611767906001611bd4565b90505b6001811115611808577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106117b657634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106117da57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c9361180181611c37565b905061176a565b5083156118575760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610638565b9392505050565b82805461186a90611c4e565b90600052602060002090601f01602090048101928261188c57600085556118d2565b82601f106118a557805160ff19168380011785556118d2565b828001600101855582156118d2579182015b828111156118d25782518255916020019190600101906118b7565b506118de9291506118e2565b5090565b5b808211156118de57600081556001016118e3565b80356001600160a01b03811681146104c157600080fd5b600082601f83011261191e578081fd5b813567ffffffffffffffff8082111561193957611939611c9f565b604051601f8301601f19908116603f0116810190828211818310171561196157611961611c9f565b81604052838152866020858801011115611979578485fd5b8360208701602083013792830160200193909352509392505050565b6000602082840312156119a6578081fd5b611857826118f7565b600080604083850312156119c1578081fd5b6119ca836118f7565b91506119d8602084016118f7565b90509250929050565b6000806000606084860312156119f5578081fd5b6119fe846118f7565b9250611a0c602085016118f7565b9150604084013590509250925092565b60008060408385031215611a2e578182fd5b611a37836118f7565b946020939093013593505050565b600060208284031215611a56578081fd5b5035919050565b60008060408385031215611a6f578182fd5b823591506119d8602084016118f7565b600060208284031215611a90578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611857578182fd5b60008060408385031215611ad1578182fd5b823567ffffffffffffffff80821115611ae8578384fd5b611af48683870161190e565b93506020850135915080821115611b09578283fd5b50611b168582860161190e565b9150509250929050565b60007f416363657373436f6e74726f6c3a206163636f756e742000000000000000000082528351611b58816017850160208801611c0b565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351611b95816028840160208801611c0b565b01602801949350505050565b6000602082528251806020840152611bc0816040850160208701611c0b565b601f01601f19169190910160400192915050565b60008219821115611be757611be7611c89565b500190565b6000816000190483118215151615611c0657611c06611c89565b500290565b60005b83811015611c26578181015183820152602001611c0e565b83811115610d8c5750506000910152565b600081611c4657611c46611c89565b506000190190565b600281046001821680611c6257607f821691505b60208210811415611c8357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea264697066735822122081ba21adf00d17589976e80abc05fcc3e06e6b53522eb5685438cdd051ab237d64736f6c63430008020033