0x60a06040527361104fbe07ecc735d8d84422c7f045f8d29dbf1560805234801561002857600080fd5b5060016008556080516132866100506000396000818161117c015261123501526132866000f3fe6080604052600436106101d65760003560e01c806301ffc9a7146101db57806306fdde0314610210578063081812fc14610232578063095ea7b31461026a57806318160ddd1461028c57806323b872dd146102af5780632a205e3d146102cf5780632a55205a146103045780632dd0066e146103435780633197cbb61461035857806342842e0e1461036e5780634f558e791461038e57806351905636146103ae57806352a284a2146103c1578063617692dd146103e15780636352211e146104275780636b59f3fe146104475780636da7870b1461046757806370a08231146104875780637c6e551d146104c65780638147ef37146104f65780638da5cb5b1461051657806395d89b411461053d578063a22cb46514610552578063a2309ff814610572578063a5097ebf14610587578063ab3ffb931461059c578063b19ab245146105af578063b88d4fde146105cf578063c3dfab45146105ef578063c87b56dd1461060f578063d112fe331461062f578063d1ad17bf1461064f578063d2fb19291461066f578063d5abeb011461068f578063d72822bb146106b2578063e8a3d485146106d2578063e9038e1f146106e7578063e985e9c514610707578063efc585ad14610727578063f235364114610748575b600080fd5b3480156101e757600080fd5b506101fb6101f636600461207e565b610768565b60405190151581526020015b60405180910390f35b34801561021c57600080fd5b5061022561079f565b60405161020791906120fa565b34801561023e57600080fd5b5061025261024d36600461210d565b610831565b6040516001600160a01b039091168152602001610207565b34801561027657600080fd5b5061028a61028536600461214b565b610861565b005b34801561029857600080fd5b506102a16108c1565b604051908152602001610207565b3480156102bb57600080fd5b5061028a6102ca366004612177565b6108d0565b3480156102db57600080fd5b506102ef6102ea36600461222b565b6108ee565b60408051928352602083019190915201610207565b34801561031057600080fd5b5061032461031f3660046122c9565b610995565b604080516001600160a01b039093168352602083019190915201610207565b34801561034f57600080fd5b506102256109d2565b34801561036457600080fd5b506102a1600e5481565b34801561037a57600080fd5b5061028a610389366004612177565b610a60565b34801561039a57600080fd5b506101fb6103a936600461210d565b610a7b565b61028a6103bc3660046122eb565b610a86565b3480156103cd57600080fd5b5061028a6103dc3660046123c5565b610b0b565b3480156103ed57600080fd5b506102a16103fc3660046123e0565b6001600160a01b0316600090815260076020526040902054600160401b90046001600160401b031690565b34801561043357600080fd5b5061025261044236600461210d565b610b43565b34801561045357600080fd5b50600954610252906001600160a01b031681565b34801561047357600080fd5b5061028a61048236600461210d565b610b57565b34801561049357600080fd5b506102a16104a23660046123e0565b6001600160a01b03166000908152600760205260409020546001600160401b031690565b3480156104d257600080fd5b50600f546104e29062ffffff1681565b60405162ffffff9091168152602001610207565b34801561050257600080fd5b506102a161051136600461240e565b610c1f565b34801561052257600080fd5b50600f5461025290630100000090046001600160a01b031681565b34801561054957600080fd5b50610225610c9e565b34801561055e57600080fd5b5061028a61056d366004612429565b610cad565b34801561057e57600080fd5b506102a1610d2f565b34801561059357600080fd5b50610225610d46565b61028a6105aa3660046124a6565b610d53565b3480156105bb57600080fd5b5061028a6105ca366004612671565b610ddb565b3480156105db57600080fd5b5061028a6105ea3660046126a5565b610e1e565b3480156105fb57600080fd5b5061028a61060a366004612724565b610e43565b34801561061b57600080fd5b5061022561062a36600461210d565b610f9e565b34801561063b57600080fd5b5061028a61064a36600461287f565b611007565b34801561065b57600080fd5b50600a54610252906001600160a01b031681565b34801561067b57600080fd5b5061028a61068a36600461210d565b611171565b34801561069b57600080fd5b50600a546104e290600160a01b900462ffffff1681565b3480156106be57600080fd5b50600c54610252906001600160a01b031681565b3480156106de57600080fd5b5061022561125d565b3480156106f357600080fd5b5061028a61070236600461295a565b611285565b34801561071357600080fd5b506101fb6107223660046129b2565b611332565b34801561073357600080fd5b50600c546101fb90600160a01b900460ff1681565b34801561075457600080fd5b506102ef6107633660046129e0565b611360565b60006001600160e01b031982166380ac58cd60e01b148061079957506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600180546107ae90612a9e565b80601f01602080910402602001604051908101604052809291908181526020018280546107da90612a9e565b80156108275780601f106107fc57610100808354040283529160200191610827565b820191906000526020600020905b81548152906001019060200180831161080a57829003601f168201915b5050505050905090565b600061083c8261140a565b61084557600080fd5b506000908152600560205260409020546001600160a01b031690565b600061086c82610b43565b9050806001600160a01b0316836001600160a01b0316141561088d57600080fd5b336001600160a01b03821614806108a957506108a98133611332565b6108b257600080fd5b6108bc838361142f565b505050565b60006108cb610d2f565b905090565b6108da338261149d565b6108e357600080fd5b6108bc83838361150f565b60095460009081906001600160a01b031663a5fd103f8a8a8a8a8a8a8a61091361164b565b6040518963ffffffff1660e01b8152600401610936989796959493929190612b92565b604080518083038186803b15801561094d57600080fd5b505afa158015610961573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109859190612bf4565b9150915097509795505050505050565b600f546001600160a01b03630100000082041690600090612710906109bf9062ffffff1685612c2e565b6109c99190612c63565b90509250929050565b600d80546109df90612a9e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a0b90612a9e565b8015610a585780601f10610a2d57610100808354040283529160200191610a58565b820191906000526020600020905b815481529060010190602001808311610a3b57829003601f168201915b505050505081565b6108bc83838360405180602001604052806000815250610e1e565b60006107998261140a565b6009546001600160a01b031663e37a61fa348b8b8b8b8b8b8b8b8b610aa961164b565b6040518c63ffffffff1660e01b8152600401610ace9a99989796959493929190612c77565b6000604051808303818588803b158015610ae757600080fd5b505af1158015610afb573d6000803e3d6000fd5b5050505050505050505050505050565b600f54630100000090046001600160a01b03163314610b2957600080fd5b600f805462ffffff191662ffffff92909216919091179055565b600080610b4f83611807565b509392505050565b60026008541415610b835760405162461bcd60e51b8152600401610b7a90612cf9565b60405180910390fd5b6002600855600f54630100000090046001600160a01b03163314610ba657600080fd5b600a54600160a01b900462ffffff1615610bec5780610bc3610d2f565b610bcd9190612d30565b600a54600160a01b900462ffffff161015610be757600080fd5b610bfa565b600e544210610bfa57600080fd5b600f54610c1790630100000090046001600160a01b031682611846565b506001600855565b600a54604051638147ef3760e01b815260ff831660048201526000916001600160a01b031690638147ef379060240160206040518083038186803b158015610c6657600080fd5b505afa158015610c7a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190612d48565b6060600280546107ae90612a9e565b6001600160a01b038216331415610cc357600080fd5b3360008181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000610d3961192d565b6004546108cb9190612d61565b600b80546109df90612a9e565b6009546001600160a01b03166317320c59348c8c8c8c8c8c8c8c8c8c610d7761164b565b6040518d63ffffffff1660e01b8152600401610d9d9b9a99989796959493929190612dae565b6000604051808303818588803b158015610db657600080fd5b505af1158015610dca573d6000803e3d6000fd5b505050505050505050505050505050565b600f54630100000090046001600160a01b03163314610df957600080fd5b600e544210610e0757600080fd5b8051610e1a90600d906020840190611fcf565b5050565b610e28338361149d565b610e3157600080fd5b610e3d84848484611953565b50505050565b600f54600160b81b900460ff1615610e5a57600080fd5b610e6c85600001518660200151611975565b600f805460ff60b81b1916600160b81b179055600c80546001600160a01b0385166001600160a01b031990911617905560608501518051610eb591600d91602090910190611fcf565b506080850151600a805462ffffff909216600160a01b0262ffffff60a01b1990921691909117905560408501518051610ef691600b91602090910190611fcf565b5060a0850151600c805460ff60a01b1916600160a01b9215158302179081905560e0870151600e55610f3d9160ff910416610f32576001610f35565b60005b60ff1661199c565b60c090940151600f80546001600160a01b039586166301000000026001600160b81b031990911662ffffff90931692909217919091179055600a80549184166001600160a01b03199283161790556009805494909316931692909217905550565b600a54606090600160a01b900462ffffff161580610fc85750600d8054610fc490612a9e565b1590505b15610fd55761079961125d565b600d610fe0836119ae565b604051602001610ff1929190612ed9565b6040516020818303038152906040529050919050565b6002600854141561102a5760405162461bcd60e51b8152600401610b7a90612cf9565b6002600855600c546001600160a01b0316331461104657600080fd5b61105284848484611aab565b61108b5760405162461bcd60e51b815260206004820152600a602482015269085a5cd05b1b1bddd95960b21b6044820152606401610b7a565b600a5460405163b124e2f760e01b81526001600160a01b03868116600483015260ff8416602483015262ffffff861660448301529091169063b124e2f790606401600060405180830381600087803b1580156110e657600080fd5b505af11580156110fa573d6000803e3d6000fd5b5050505061110d848462ffffff16611846565b7f59f9fb6d992d2aee0ed338bb4c504a17fd3f67ae91a3135bc2ef947e308c41b28461113860045490565b604080516001600160a01b039093168352602083019190915262ffffff86169082015260600160405180910390a1505060016008555050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156111b35750600f54600160c01b900460ff16155b80156111c0575060058111155b6111c957600080fd5b600a54600160a01b900462ffffff161561120f57806111e6610d2f565b6111f09190612d30565b600a54600160a01b900462ffffff16101561120a57600080fd5b61121d565b600e54421061121d57600080fd5b600f805460ff60c01b1916600160c01b17905561125a7f000000000000000000000000000000000000000000000000000000000000000082611846565b50565b6060600b6040516020016112719190612f2d565b604051602081830303815290604052905090565b600f54630100000090046001600160a01b031633146112a357600080fd5b600a5460405163e9038e1f60e01b815260ff8816600482015260248101879052604481018690526064810185905262ffffff8416608482015260a481018390526001600160a01b039091169063e9038e1f9060c401600060405180830381600087803b15801561131257600080fd5b505af1158015611326573d6000803e3d6000fd5b50505050505050505050565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b60095460009081906001600160a01b031663c7d67e2a8b8b8b8b8b8b8b8b61138661164b565b6040518a63ffffffff1660e01b81526004016113aa99989796959493929190612f49565b604080518083038186803b1580156113c157600080fd5b505afa1580156113d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f99190612bf4565b915091509850989650505050505050565b600061141560045490565b8210801561079957508161142761192d565b111592915050565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061146482610b43565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006114a88261140a565b6114b157600080fd5b60006114bc83610b43565b9050806001600160a01b0316846001600160a01b031614806114f75750836001600160a01b03166114ec84610831565b6001600160a01b0316145b8061150757506115078185611332565b949350505050565b60008061151b83611807565b91509150846001600160a01b0316826001600160a01b03161461153d57600080fd5b6001600160a01b03841661155057600080fd5b61155b60008461142f565b6000611568846001612d30565b600881901c600090815260208190526040902054909150600160ff1b60ff83161c16158015611598575060045481105b156115ce57600081815260036020526040812080546001600160a01b0319166001600160a01b0389161790556115ce9082611b97565b600084815260036020526040902080546001600160a01b0319166001600160a01b03871617905581841461160757611607600085611b97565b83856001600160a01b0316876001600160a01b031660008051602061313183398151915260405160405180910390a46116438686866001611bc3565b505050505050565b6116926040518060c0016040528060608152602001606081526020016060815260200160608152602001600062ffffff16815260200160006001600160a01b031681525090565b6040518060c001604052806116a561079f565b81526020016116b2610c9e565b8152602001600b80546116c490612a9e565b80601f01602080910402602001604051908101604052809291908181526020018280546116f090612a9e565b801561173d5780601f106117125761010080835404028352916020019161173d565b820191906000526020600020905b81548152906001019060200180831161172057829003601f168201915b50505050508152602001600d805461175490612a9e565b80601f016020809104026020016040519081016040528092919081815260200182805461178090612a9e565b80156117cd5780601f106117a2576101008083540402835291602001916117cd565b820191906000526020600020905b8154815290600101906020018083116117b057829003601f168201915b5050509183525050600a54600160a01b900462ffffff166020820152600f54630100000090046001600160a01b0316604090910152919050565b6000806118138361140a565b61181c57600080fd5b61182583611d41565b6000818152600360205260409020546001600160a01b031694909350915050565b600061185160045490565b90506000821161186057600080fd5b6001600160a01b03831661187357600080fd5b81600460008282546118859190612d30565b9091555050600081815260036020526040812080546001600160a01b0319166001600160a01b0386161790556118bb9082611b97565b6000806118c88484612d30565b90506001600160a01b038516915082826000600080516020613131833981519152600080a4600183015b8181146119185780836000600080516020613131833981519152600080a46001016118f2565b506119266000868587611bc3565b5050505050565b600c54600090600160a01b900460ff1661194857600161194b565b60005b60ff16905090565b61195e84848461150f565b61196c848484600185611d4d565b610e3d57600080fd5b8151611988906001906020850190611fcf565b5080516108bc906002906020840190611fcf565b600454156119a957600080fd5b600455565b6060816119d25750506040805180820190915260018152600360fc1b602082015290565b8160005b81156119fc57806119e681612fbb565b91506119f59050600a83612c63565b91506119d6565b6000816001600160401b03811115611a1657611a1661258b565b6040519080825280601f01601f191660200182016040528015611a40576020820181803683370190505b5090505b841561150757611a55600183612d61565b9150611a62600a86612fd6565b611a6d906030612d30565b60f81b818381518110611a8257611a82612fea565b60200101906001600160f81b031916908160001a905350611aa4600a86612c63565b9450611a44565b6000600e544210611abb57600080fd5b60008462ffffff16611acb610d2f565b611ad59190612d30565b600a54909150600160a01b900462ffffff1615611b0757600a54600160a01b900462ffffff16811115611b0757600080fd5b600a5460405163d7ec901960e01b81526001600160a01b039091169063d7ec901990611b3d908990899089908990600401613000565b60206040518083038186803b158015611b5557600080fd5b505afa158015611b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8d9190613070565b9695505050505050565b600881901c600090815260209290925260409091208054600160ff1b60ff9093169290921c9091179055565b600160401b8110611bd357600080fd5b806001600160a01b03851615611c3d576001600160a01b03851660009081526007602052604081208054839290611c149084906001600160401b031661308d565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550611c9d565b6001600160a01b03841660009081526007602052604090208054829190600890611c78908490600160401b90046001600160401b03166130b5565b92506101000a8154816001600160401b0302191690836001600160401b031602179055505b6001600160a01b03841615611d06576001600160a01b03841660009081526007602052604081208054839290611cdd9084906001600160401b03166130b5565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550611926565b6001600160a01b03851660009081526007602052604090208054829190601090611cdd908490600160801b90046001600160401b03166130b5565b60006107998183611eb5565b60006001600160a01b0385163b15611ea857506001835b611d6e8486612d30565b811015611ea257604051630a85bd0160e11b81526001600160a01b0387169063150b7a0290611da79033908b90869089906004016130e0565b602060405180830381600087803b158015611dc157600080fd5b505af1925050508015611df1575060408051601f3d908101601f19168201909252611dee91810190613113565b60015b611e70573d808015611e1f576040519150601f19603f3d011682016040523d82523d6000602084013e611e24565b606091505b508051611e685760405162461bcd60e51b81526020600482015260126024820152713737b71022a9219b9918a932b1b2b4bb32b960711b6044820152606401610b7a565b805181602001fd5b828015611e8d57506001600160e01b03198116630a85bd0160e11b145b92505080611e9a81612fbb565b915050611d64565b50611eac565b5060015b95945050505050565b600881901c60008181526020849052604081205490919060ff808516919082181c8015611ef757611ee581611f4d565b60ff168203600884901b179350611f44565b60008311611f0457600080fd5b506000199091016000818152602086905260409020549091908015611f3f57611f2c81611f4d565b60ff0360ff16600884901b179350611f44565b611ef7565b50505092915050565b60006040518061012001604052806101008152602001613151610100913960f87e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff611f9685611fb7565b02901c81518110611fa957611fa9612fea565b016020015160f81c92915050565b6000808211611fc557600080fd5b5060008190031690565b828054611fdb90612a9e565b90600052602060002090601f016020900481019282611ffd5760008555612043565b82601f1061201657805160ff1916838001178555612043565b82800160010185558215612043579182015b82811115612043578251825591602001919060010190612028565b5061204f929150612053565b5090565b5b8082111561204f5760008155600101612054565b6001600160e01b03198116811461125a57600080fd5b60006020828403121561209057600080fd5b813561209b81612068565b9392505050565b60005b838110156120bd5781810151838201526020016120a5565b83811115610e3d5750506000910152565b600081518084526120e68160208601602086016120a2565b601f01601f19169290920160200192915050565b60208152600061209b60208301846120ce565b60006020828403121561211f57600080fd5b5035919050565b6001600160a01b038116811461125a57600080fd5b803561214681612126565b919050565b6000806040838503121561215e57600080fd5b823561216981612126565b946020939093013593505050565b60008060006060848603121561218c57600080fd5b833561219781612126565b925060208401356121a781612126565b929592945050506040919091013590565b803561ffff8116811461214657600080fd5b60008083601f8401126121dc57600080fd5b5081356001600160401b038111156121f357600080fd5b60208301915083602082850101111561220b57600080fd5b9250929050565b801515811461125a57600080fd5b803561214681612212565b600080600080600080600060a0888a03121561224657600080fd5b61224f886121b8565b965060208801356001600160401b038082111561226b57600080fd5b6122778b838c016121ca565b909850965060408a0135955060608a0135915061229382612212565b909350608089013590808211156122a957600080fd5b506122b68a828b016121ca565b989b979a50959850939692959293505050565b600080604083850312156122dc57600080fd5b50508035926020909101359150565b600080600080600080600080600060e08a8c03121561230957600080fd5b893561231481612126565b985061232260208b016121b8565b975060408a01356001600160401b038082111561233e57600080fd5b61234a8d838e016121ca565b909950975060608c0135965060808c0135915061236682612126565b90945060a08b01359061237882612126565b90935060c08b0135908082111561238e57600080fd5b5061239b8c828d016121ca565b915080935050809150509295985092959850929598565b803562ffffff8116811461214657600080fd5b6000602082840312156123d757600080fd5b61209b826123b2565b6000602082840312156123f257600080fd5b813561209b81612126565b803560ff8116811461214657600080fd5b60006020828403121561242057600080fd5b61209b826123fd565b6000806040838503121561243c57600080fd5b823561244781612126565b9150602083013561245781612212565b809150509250929050565b60008083601f84011261247457600080fd5b5081356001600160401b0381111561248b57600080fd5b6020830191508360208260051b850101111561220b57600080fd5b60008060008060008060008060008060e08b8d0312156124c557600080fd5b8a356124d081612126565b99506124de60208c016121b8565b985060408b01356001600160401b03808211156124fa57600080fd5b6125068e838f016121ca565b909a50985060608d013591508082111561251f57600080fd5b61252b8e838f01612462565b909850965060808d0135915061254082612126565b81955061254f60a08e0161213b565b945060c08d013591508082111561256557600080fd5b506125728d828e016121ca565b915080935050809150509295989b9194979a5092959850565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b03811182821017156125c4576125c461258b565b60405290565b604051601f8201601f191681016001600160401b03811182821017156125f2576125f261258b565b604052919050565b60006001600160401b038311156126135761261361258b565b612626601f8401601f19166020016125ca565b905082815283838301111561263a57600080fd5b828260208301376000602084830101529392505050565b600082601f83011261266257600080fd5b61209b838335602085016125fa565b60006020828403121561268357600080fd5b81356001600160401b0381111561269957600080fd5b61150784828501612651565b600080600080608085870312156126bb57600080fd5b84356126c681612126565b935060208501356126d681612126565b92506040850135915060608501356001600160401b038111156126f857600080fd5b8501601f8101871361270957600080fd5b612718878235602084016125fa565b91505092959194509250565b600080600080600060a0868803121561273c57600080fd5b85356001600160401b038082111561275357600080fd5b90870190610100828a03121561276857600080fd5b6127706125a1565b82358281111561277f57600080fd5b61278b8b828601612651565b8252506020830135828111156127a057600080fd5b6127ac8b828601612651565b6020830152506040830135828111156127c457600080fd5b6127d08b828601612651565b6040830152506060830135828111156127e857600080fd5b6127f48b828601612651565b606083015250612806608084016123b2565b608082015261281760a08401612220565b60a082015261282860c084016123b2565b60c082015260e083013560e08201528097505050506128496020870161213b565b93506128576040870161213b565b92506128656060870161213b565b91506128736080870161213b565b90509295509295909350565b6000806000806080858703121561289557600080fd5b84356128a081612126565b935060206128af8682016123b2565b935060408601356001600160401b03808211156128cb57600080fd5b818801915088601f8301126128df57600080fd5b8135818111156128f1576128f161258b565b8060051b91506129028483016125ca565b818152918301840191848101908b84111561291c57600080fd5b938501935b8385101561293a57843582529385019390850190612921565b80975050505050505061294f606086016123fd565b905092959194509250565b60008060008060008060c0878903121561297357600080fd5b61297c876123fd565b955060208701359450604087013593506060870135925061299f608088016123b2565b915060a087013590509295509295509295565b600080604083850312156129c557600080fd5b82356129d081612126565b9150602083013561245781612126565b60008060008060008060008060a0898b0312156129fc57600080fd5b612a05896121b8565b975060208901356001600160401b0380821115612a2157600080fd5b612a2d8c838d016121ca565b909950975060408b0135915080821115612a4657600080fd5b612a528c838d01612462565b909750955060608b01359150612a6782612212565b90935060808a01359080821115612a7d57600080fd5b50612a8a8b828c016121ca565b999c989b5096995094979396929594505050565b600181811c90821680612ab257607f821691505b60208210811415612ad357634e487b7160e01b600052602260045260246000fd5b50919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000815160c08452612b1760c08501826120ce565b905060208301518482036020860152612b3082826120ce565b91505060408301518482036040860152612b4a82826120ce565b91505060608301518482036060860152612b6482826120ce565b60808581015162ffffff169087015260a0948501516001600160a01b03169490950193909352509192915050565b61ffff8916815260c060208201526000612bb060c08301898b612ad9565b87604084015286151560608401528281036080840152612bd1818688612ad9565b905082810360a0840152612be58185612b02565b9b9a5050505050505050505050565b60008060408385031215612c0757600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612c4857612c48612c18565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612c7257612c72612c4d565b500490565b6001600160a01b038b8116825261ffff8b16602083015261010060408301819052600091612ca88483018c8e612ad9565b9150896060850152808916608085015280881660a08501525082810360c0840152612cd4818688612ad9565b905082810360e0840152612ce88185612b02565b9d9c50505050505050505050505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60008219821115612d4357612d43612c18565b500190565b600060208284031215612d5a57600080fd5b5051919050565b600082821015612d7357612d73612c18565b500390565b81835260006001600160fb1b03831115612d9157600080fd5b8260051b8083602087013760009401602001938452509192915050565b6001600160a01b038c8116825261ffff8c16602083015261010060408301819052600091612ddf8483018d8f612ad9565b91508382036060850152612df4828b8d612d78565b898216608086015290881660a085015283810360c08501529050612e19818688612ad9565b905082810360e0840152612e2d8185612b02565b9e9d5050505050505050505050505050565b8054600090600181811c9080831680612e5957607f831692505b6020808410821415612e7b57634e487b7160e01b600052602260045260246000fd5b818015612e8f5760018114612ea057612ecd565b60ff19861689528489019650612ecd565b60008881526020902060005b86811015612ec55781548b820152908501908301612eac565b505084890196505b50505050505092915050565b66697066733a2f2f60c81b81526000612ef56007830185612e3f565b602f60f81b81528351612f0f8160018401602088016120a2565b64173539b7b760d91b60019290910191820152600601949350505050565b66697066733a2f2f60c81b8152600061209b6007830184612e3f565b61ffff8a16815260c060208201526000612f6760c083018a8c612ad9565b8281036040840152612f7a81898b612d78565b905086151560608401528281036080840152612f97818688612ad9565b905082810360a0840152612fab8185612b02565b9c9b505050505050505050505050565b6000600019821415612fcf57612fcf612c18565b5060010190565b600082612fe557612fe5612c4d565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038516815262ffffff841660208083019190915260806040830181905284519083018190526000918581019160a0850190845b818110156130565784518352938301939183019160010161303a565b505080935050505060ff8316606083015295945050505050565b60006020828403121561308257600080fd5b815161209b81612212565b60006001600160401b03838116908316818110156130ad576130ad612c18565b039392505050565b60006001600160401b038281168482168083038211156130d7576130d7612c18565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611b8d908301846120ce565b60006020828403121561312557600080fd5b815161209b8161206856feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0001020903110a19042112290b311a3905412245134d2a550c5d32651b6d3a7506264262237d468514804e8d2b95569d0d495ea533a966b11c886eb93bc176c9071727374353637324837e9b47af86c7155181ad4fd18ed32c9096db57d59ee30e2e4a6a5f92a6be3498aae067ddb2eb1d5989b56fd7baf33ca0c2ee77e5caf7ff0810182028303840444c545c646c7425617c847f8c949c48a4a8b087b8c0c816365272829aaec650acd0d28fdad4e22d6991bd97dfdcea58b4d6f29fede4f6fe0f1f2f3f4b5b6b607b8b93a3a7b7bf357199c5abcfd9e168bcdee9b3f1ecf5fd1e3e5a7a8aa2b670c4ced8bbe8f0f4fc3d79a1c3cde7effb78cce6facbf9f8a264697066735822122043eb7565b623a5118a4ddaef80d040e27d66b9068e7f4598472b7d24eb3bf2bf64736f6c63430008090033