6080604052600180546001600160a01b031990811661dead17909155600280549091169055620000326009600a6200059c565b6200004290633b9aca006200065d565b6003556107d060035460016200005991906200065d565b62000065919062000530565b6004556101f460035460016200007c91906200065d565b62000088919062000530565b600555606460035460026200009e91906200065d565b620000aa919062000530565b6006556101f4600e819055600f819055620000c6908062000515565b6010556000601155612710601255601380546001600160a01b031990811673ccbe9bf94757c0a988b8b12e82fc517e06d93b5590811790925560148054821690921790915560168054909116737a250d5630b4cf539739df2c5dacb4c659f2488d1790556019805461ffff19908116600117909155602180548216905560026022556023805490911661010017905560035462000167906103e89062000530565b6024556127106003546200017c919062000530565b6025553480156200018c57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601654601580546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200022657600080fd5b505afa1580156200023b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002619190620004e3565b6001600160a01b031663c9c65396601560009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002be57600080fd5b505afa158015620002d3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f99190620004e3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200034157600080fd5b505af115801562000356573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037c9190620004e3565b601d80546001600160a01b0319166001600160a01b039290921691821790556000908152601760205260408120805460ff1916600117905560001990600890620003ce6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120601680548416835290855283822095909555308082526008855283822086548416835285528382206000199055815483168252600b85528382208054600160ff199182168117909255835485168452600d87528584208054821683179055918352600c865284832080548316821790558254841683528483208054831682179055955483168252838220805482168717905585548316825283822080549091169095179094556003548454821685526007845282852081905584549251908152911692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000695565b600060208284031215620004f657600080fd5b81516001600160a01b03811681146200050e57600080fd5b9392505050565b600082198211156200052b576200052b6200067f565b500190565b6000826200054e57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620005945781600019048211156200057857620005786200067f565b808516156200058657918102915b93841c939080029062000558565b509250929050565b60006200050e60ff841683600082620005b85750600162000657565b81620005c75750600062000657565b8160018114620005e05760028114620005eb576200060b565b600191505062000657565b60ff841115620005ff57620005ff6200067f565b50506001821b62000657565b5060208310610133831016604e8410600b841016171562000630575081810a62000657565b6200063c838362000553565b80600019048211156200065357620006536200067f565b0290505b92915050565b60008160001904831182151516156200067a576200067a6200067f565b500290565b634e487b7160e01b600052601160045260246000fd5b612c4c80620006a56000396000f3fe6080604052600436106103035760003560e01c80636f4ce42811610190578063bf56b371116100dc578063e96fada211610095578063f84ba65d1161006f578063f84ba65d14610936578063f8821a6214610956578063f887ea401461096c578063fabb0b4f1461098c57600080fd5b8063e96fada2146108d6578063f1f3bca3146108f6578063f2fde38b1461091657600080fd5b8063bf56b371146107ed578063bfa21d6a14610803578063c1adf7bc14610823578063c287184e14610850578063d686014214610870578063dd62ed3e1461089057600080fd5b806395d89b4111610149578063a8aa1b3111610123578063a8aa1b3114610778578063a9059cbb14610798578063abe57e70146107b8578063bafe446b146107d857600080fd5b806395d89b411461070f5780639b02c40214610742578063a4b45c001461075857600080fd5b80636f4ce428146106275780636fcba3771461065457806370a0823114610674578063715018a6146106aa578063893d20e8146106bf5780638da5cb5b146106f157600080fd5b8063492a937b1161024f578063584f969a1161020857806363a803e1116101e257806363a803e1146105b8578063658d4b7f146105cd57806367243482146105ed5780636ddd17131461060d57600080fd5b8063584f969a1461056d57806360bba03d1461058257806361e08e72146105a257600080fd5b8063492a937b146104b757806350713935146104d757806354a1dfc9146104f757806356a227f214610517578063571ac8b0146105375780635804f1e41461055757600080fd5b8063234e9494116102bc578063313ce56711610296578063313ce5671461043957806334848b9a14610455578063421dd7c71461047557806346d7edaa1461048a57600080fd5b8063234e9494146103ef57806323b872dd146104045780632b112e491461042457600080fd5b80630445b6671461030f57806306fdde0314610338578063095db78f14610373578063095ea7b3146103955780631031e36e146103c557806318160ddd146103da57600080fd5b3661030a57005b600080fd5b34801561031b57600080fd5b5061032560245481565b6040519081526020015b60405180910390f35b34801561034457600080fd5b506040805180820190915260098152684e4f454c4c45494e5560b81b60208201525b60405161032f9190612910565b34801561037f57600080fd5b5061039361038e36600461272c565b6109a2565b005b3480156103a157600080fd5b506103b56103b0366004612694565b610b5e565b604051901515815260200161032f565b3480156103d157600080fd5b50610393610bcb565b3480156103e657600080fd5b50600354610325565b3480156103fb57600080fd5b50610325610c30565b34801561041057600080fd5b506103b561041f36600461261e565b610c50565b34801561043057600080fd5b50610325610ce5565b34801561044557600080fd5b506040516009815260200161032f565b34801561046157600080fd5b50610393610470366004612859565b610d26565b34801561048157600080fd5b50610393610dc7565b34801561049657600080fd5b506103256104a53660046125ab565b60186020526000908152604090205481565b3480156104c357600080fd5b506103936104d236600461265f565b610e1c565b3480156104e357600080fd5b506103936104f2366004612859565b610eda565b34801561050357600080fd5b5061039361051236600461279b565b610f75565b34801561052357600080fd5b50610393610532366004612812565b610ff8565b34801561054357600080fd5b506103b56105523660046125ab565b611088565b34801561056357600080fd5b50610325601f5481565b34801561057957600080fd5b50610393611096565b34801561058e57600080fd5b5061039361059d36600461265f565b6110eb565b3480156105ae57600080fd5b5061032560225481565b3480156105c457600080fd5b50610325611140565b3480156105d957600080fd5b506103936105e836600461265f565b61115b565b3480156105f957600080fd5b506103936106083660046126c0565b6111b0565b34801561061957600080fd5b506023546103b59060ff1681565b34801561063357600080fd5b506103256106423660046125ab565b60096020526000908152604090205481565b34801561066057600080fd5b5061039361066f3660046128b3565b611317565b34801561068057600080fd5b5061032561068f3660046125ab565b6001600160a01b031660009081526007602052604090205490565b3480156106b657600080fd5b5061039361137a565b3480156106cb57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161032f565b3480156106fd57600080fd5b506000546001600160a01b03166106d9565b34801561071b57600080fd5b5060408051808201909152600a8152694e4f454c4c4520494e5560b01b6020820152610366565b34801561074e57600080fd5b50610325601b5481565b34801561076457600080fd5b506103936107733660046125e5565b6113ee565b34801561078457600080fd5b50601d546106d9906001600160a01b031681565b3480156107a457600080fd5b506103b56107b3366004612694565b611446565b3480156107c457600080fd5b506103936107d3366004612837565b611453565b3480156107e457600080fd5b506103256114c4565b3480156107f957600080fd5b50610325601e5481565b34801561080f57600080fd5b506013546106d9906001600160a01b031681565b34801561082f57600080fd5b5061032561083e3660046125ab565b600a6020526000908152604090205481565b34801561085c57600080fd5b5061039361086b3660046127f9565b6114df565b34801561087c57600080fd5b5061039361088b3660046127dd565b61151c565b34801561089c57600080fd5b506103256108ab3660046125e5565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156108e257600080fd5b506014546106d9906001600160a01b031681565b34801561090257600080fd5b50610325610911366004612780565b6115ad565b34801561092257600080fd5b506103936109313660046125ab565b6115fa565b34801561094257600080fd5b5061039361095136600461265f565b6116e4565b34801561096257600080fd5b5061032560255481565b34801561097857600080fd5b506015546106d9906001600160a01b031681565b34801561099857600080fd5b5061032560205481565b3360009081526027602052604090205460ff16806109ca57506000546001600160a01b031633145b6109ef5760405162461bcd60e51b81526004016109e690612965565b60405180910390fd5b8015610a045760195460ff16610a0457600080fd5b60005b82811015610b58578115610a9357601b8054906000610a2583612bb7565b91905055507f47e78c0c4ce6dbe67ff01d67de13c04f361afa37858e7056d665001d746855ea32858584818110610a5e57610a5e612be8565b9050602002016020810190610a7391906125ab565b436002604051610a8694939291906128e5565b60405180910390a1610af3565b60186000858584818110610aa957610aa9612be8565b9050602002016020810190610abe91906125ab565b6001600160a01b0316815260208101919091526040016000205415610af357601b8054906000610aed83612ba0565b91905055505b81610aff576000610b01565b435b60186000868685818110610b1757610b17612be8565b9050602002016020810190610b2c91906125ab565b6001600160a01b0316815260208101919091526040016000205580610b5081612bb7565b915050610a07565b50505050565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610bb99086815260200190565b60405180910390a35060015b92915050565b3360009081526027602052604090205460ff1680610bf357506000546001600160a01b031633145b610c0f5760405162461bcd60e51b81526004016109e690612965565b602154610100900460ff1615610c2457600080fd5b6021805460ff19169055565b6000610c3e6009600a612abf565b600554610c4b9190612a5a565b905090565b6001600160a01b038316600090815260086020908152604080832033845290915281205460001914610cd0576001600160a01b0384166000908152600860209081526040808320338452909152902054610cab908390612b89565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b610cdb848484611739565b90505b9392505050565b6002546001600160a01b039081166000908152600760205260408082205460015490931682528120549091610d1991612a42565b600354610c4b9190612b89565b3360009081526027602052604090205460ff1680610d4e57506000546001600160a01b031633145b610d6a5760405162461bcd60e51b81526004016109e690612965565b60215460ff16158015610d7d5750600a83105b610d8657600080fd5b60208390556021805460ff1916600117905543601e55610da68242612a42565b601c55610db56009600a612abf565b610dbf9082612b6a565b601a55505050565b3360009081526027602052604090205460ff1680610def57506000546001600160a01b031633145b610e0b5760405162461bcd60e51b81526004016109e690612965565b6019805461ffff1916610100179055565b6000546001600160a01b03163314610e465760405162461bcd60e51b81526004016109e69061299c565b601d546001600160a01b0383811691161415610eaf5760405162461bcd60e51b815260206004820152602260248201527f43616e277420616c7465722063757272656e74206c697175696469747920706160448201526134b960f11b60648201526084016109e6565b6001600160a01b03919091166000908152601760205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f045760405162461bcd60e51b81526004016109e69061299c565b600083118015610f145750600082115b8015610f205750600081115b8015610f2e57506127108111155b610f3757600080fd5b8083600354610f469190612b6a565b610f509190612a5a565b6004556003548190610f63908490612b6a565b610f6d9190612a5a565b600555505050565b6000546001600160a01b03163314610f9f5760405162461bcd60e51b81526004016109e69061299c565b60008211610fac57600080fd5b6023805461ffff191685151561ff0019161761010085151502179055600354610fd6908390612a5a565b602455610fe56009600a612abf565b610fef9082612b6a565b60255550505050565b3360009081526027602052604090205460ff168061102057506000546001600160a01b031633145b61103c5760405162461bcd60e51b81526004016109e690612965565b476001600160a01b0382166108fc60646110568685612b6a565b6110609190612a5a565b6040518115909202916000818181858888f19350505050158015610b58573d6000803e3d6000fd5b6000610bc582600019610b5e565b3360009081526027602052604090205460ff16806110be57506000546001600160a01b031633145b6110da5760405162461bcd60e51b81526004016109e690612965565b6021805461ffff1916610101179055565b6000546001600160a01b031633146111155760405162461bcd60e51b81526004016109e69061299c565b6001600160a01b03919091166000908152602760205260409020805460ff1916911515919091179055565b600061114e6009600a612abf565b600654610c4b9190612a5a565b6000546001600160a01b031633146111855760405162461bcd60e51b81526004016109e69061299c565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146111da5760405162461bcd60e51b81526004016109e69061299c565b82158015906111e857508083145b6111f157600080fd5b3360005b8481101561130f576017600087878481811061121357611213612be8565b905060200201602081019061122891906125ab565b6001600160a01b0316815260208101919091526040016000205460ff161580156112975750600d600087878481811061126357611263612be8565b905060200201602081019061127891906125ab565b6001600160a01b0316815260208101919091526040016000205460ff16155b156112fd576112fb828787848181106112b2576112b2612be8565b90506020020160208101906112c791906125ab565b6112d36009600a612abf565b8787868181106112e5576112e5612be8565b905060200201356112f69190612b6a565b611c3b565b505b8061130781612bb7565b9150506111f5565b505050505050565b6000546001600160a01b031633146113415760405162461bcd60e51b81526004016109e69061299c565b600f849055600e8390556113558484612a42565b6010556011829055601281905561136d600282612a5a565b60105410610b5857600080fd5b6000546001600160a01b031633146113a45760405162461bcd60e51b81526004016109e69061299c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146114185760405162461bcd60e51b81526004016109e69061299c565b601380546001600160a01b039384166001600160a01b03199182161790915560148054929093169116179055565b6000610cde338484611739565b6000546001600160a01b0316331461147d5760405162461bcd60e51b81526004016109e69061299c565b60008211801561148d5750600081115b801561149b57506127108111155b6114a457600080fd5b80826003546114b39190612b6a565b6114bd9190612a5a565b6006555050565b60006114d26009600a612abf565b600454610c4b9190612a5a565b6000546001600160a01b031633146115095760405162461bcd60e51b81526004016109e69061299c565b603c81111561151757600080fd5b602255565b3360009081526027602052604090205460ff168061154457506000546001600160a01b031633145b6115605760405162461bcd60e51b81526004016109e690612965565b601954610100900460ff161561157557600080fd5b6019805460ff191683151517905562015180811061159257600080fd5b80601c60008282546115a49190612a42565b90915550505050565b600043602054601e546115c09190612a42565b106115d4576001601254610bc59190612b89565b81156115ea57601154601054610bc59190612a42565b601154601054610bc59190612b89565b6000546001600160a01b031633146116245760405162461bcd60e51b81526004016109e69061299c565b6001600160a01b0381166116895760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109e6565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461170e5760405162461bcd60e51b81526004016109e69061299c565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b60006001600160a01b0384166117915760405162461bcd60e51b815260206004820152601860248201527f42455032303a207472616e736665722066726f6d20307830000000000000000060448201526064016109e6565b6001600160a01b0383166117e05760405162461bcd60e51b8152602060048201526016602482015275042455032303a207472616e7366657220746f203078360541b60448201526064016109e6565b600082116118285760405162461bcd60e51b8152602060048201526015602482015274416d6f756e74206d757374206265203e207a65726f60581b60448201526064016109e6565b6001600160a01b0384166000908152600760205260409020548211156118875760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064016109e6565b601e541580156118af57506001600160a01b03831660009081526017602052604090205460ff165b15611936576001600160a01b0384166000908152600d602052604090205460ff1661191c5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206e6f74206164646564207965742e000000000000000060448201526064016109e6565b61193643601e5542601f556023805460ff19166001179055565b60215460ff166119c3576001600160a01b0384166000908152600d602052604090205460ff168061197f57506001600160a01b0383166000908152600d602052604090205460ff165b6119c35760405162461bcd60e51b81526020600482015260156024820152742a3930b234b733903737ba1037b832b7103cb2ba1760591b60448201526064016109e6565b6119ce848484611cf5565b6001600160a01b03831660009081526017602052604090205460ff16158015611a0557506001546001600160a01b03848116911614155b15611a34576001600160a01b0383166000908152600c602052604090205460ff16611a3457611a34838361204a565b60195460ff168015611a47575042601c54115b15611b11576001600160a01b03841660009081526017602052604090205460ff168015611a7d5750326001600160a01b03841614155b8015611a9f57506001600160a01b038316600090815260186020526040902054155b15611b11576001600160a01b0383166000908152601860205260408120439055601b805491611acd83612bb7565b91905055507f47e78c0c4ce6dbe67ff01d67de13c04f361afa37858e7056d665001d746855ea3284436000604051611b0894939291906128e5565b60405180910390a15b60265460ff1615611b2e57611b27848484611c3b565b9050610cde565b6001600160a01b038416600090815260076020526040902054611b52908390612b89565b6001600160a01b038516600090815260076020908152604080832093909355600b90529081205460ff1615611b875782611b91565b611b9184846120cf565b9050611b9c8461214d565b15611bb0578215611bb057611bb0836121c4565b6001600160a01b038416600090815260076020526040902054611bd4908290612a42565b6001600160a01b0380861660008181526007602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611c289085815260200190565b60405180910390a3506001949350505050565b6001600160a01b038316600090815260076020526040812054611c5f908390612b89565b6001600160a01b038086166000908152600760205260408082209390935590851681522054611c8f908390612a42565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ce39086815260200190565b60405180910390a35060019392505050565b6001600160a01b0383166000908152600c602052604090205460ff1680611d4757506001600160a01b03831660009081526017602052604090205460ff16611d3f57600554611d43565b6004545b8111155b611d875760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016109e6565b6001600160a01b0383166000908152600c602052604090205460ff1680611dd357506022546001600160a01b0383166000908152600a60205260409020544391611dd091612a42565b11155b611e1f5760405162461bcd60e51b815260206004820152601d60248201527f5472616e736665722072617465206c696d69742065786365656465642e00000060448201526064016109e6565b6001600160a01b03831660009081526018602052604090205415611f0257611e496009600a612abf565b601a54611e569190612b6a565b8111158015611e7b57506001600160a01b038316600090815260096020526040902054155b8015611e88575042601c54115b611ee65760405162461bcd60e51b815260206004820152602960248201527f57616c6c65742070726f7465637465642c20706c6561736520636f6e746163746044820152681039bab83837b93a1760b91b60648201526084016109e6565b6001600160a01b03831660009081526009602052604090204390555b6001600160a01b03821660009081526017602052604090205460ff1615611f415750506001600160a01b03166000908152600960205260409020439055565b6001600160a01b0383166000908152600b602052604090205460ff166120455760195460ff168015611f74575042601c54115b8015611f8e5750326000908152600a602052604090205443145b8015611fb057506001600160a01b038216600090815260186020526040902054155b15612011576001600160a01b03821660009081526018602052604090819020439081905590517f47e78c0c4ce6dbe67ff01d67de13c04f361afa37858e7056d665001d746855ea9161200891329186916001906128e5565b60405180910390a15b6001600160a01b0382166000818152600a60205260409020439055321461204557326000908152600a602052604090204390555b505050565b6006546001600160a01b0383166000908152600760205260409020548190612073908490612a42565b11156120455760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016109e6565b6001600160a01b03821660009081526017602052604081205460125460ff9091169082906120fc836115ad565b6121069086612b6a565b6121109190612a5a565b30600090815260076020526040812080549293508392909190612134908490612a42565b9091555061214490508185612b89565b95945050505050565b3360009081526017602052604081205460ff16158015612170575060265460ff16155b801561217e575060235460ff165b80156121a257506001600160a01b03821660009081526017602052604090205460ff165b8015610bc5575060255430600090815260076020526040902054101592915050565b6026805460ff1916600117905560245460009082106121e5576024546121e7565b815b306000908152600760205260409020549091508111156122135750306000908152600760205260409020545b60006010546002600f54846122289190612b6a565b6122329190612a5a565b61223c9190612a5a565b90506122488183612b89565b6040805160028082526060820183529294506000929091602083019080368337019050509050308160008151811061228257612282612be8565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b1580156122d657600080fd5b505afa1580156122ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230e91906125c8565b8160018151811061232157612321612be8565b6001600160a01b03928316602091820292909201015260155460405163791ac94760e01b81524792919091169063791ac9479061236b9087906000908790309042906004016129d1565b600060405180830381600087803b15801561238557600080fd5b505af1158015612399573d6000803e3d6000fd5b50505050600081476123ab9190612b89565b905060006002600f546123be9190612a5a565b6010546123cb9190612b89565b90506000816002600f54856123e09190612b6a565b6123ea9190612a5a565b6123f49190612a5a565b905060006124028285612b89565b90508015612446576014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015612444573d6000803e3d6000fd5b505b86156124f45760155460135460405163f305d71960e01b8152306004820152602481018a905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990849060c4016060604051808303818588803b1580156124b757600080fd5b505af11580156124cb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906124f09190612885565b5050505b60408051828152602081018490529081018890527fdaf6233a382145376035341e71f8a04305f7e323d0fe3e58c908cf0a26b76df99060600160405180910390a150506026805460ff1916905550505050505050565b60008083601f84011261255c57600080fd5b50813567ffffffffffffffff81111561257457600080fd5b6020830191508360208260051b850101111561258f57600080fd5b9250929050565b803580151581146125a657600080fd5b919050565b6000602082840312156125bd57600080fd5b8135610cde81612bfe565b6000602082840312156125da57600080fd5b8151610cde81612bfe565b600080604083850312156125f857600080fd5b823561260381612bfe565b9150602083013561261381612bfe565b809150509250929050565b60008060006060848603121561263357600080fd5b833561263e81612bfe565b9250602084013561264e81612bfe565b929592945050506040919091013590565b6000806040838503121561267257600080fd5b823561267d81612bfe565b915061268b60208401612596565b90509250929050565b600080604083850312156126a757600080fd5b82356126b281612bfe565b946020939093013593505050565b600080600080604085870312156126d657600080fd5b843567ffffffffffffffff808211156126ee57600080fd5b6126fa8883890161254a565b9096509450602087013591508082111561271357600080fd5b506127208782880161254a565b95989497509550505050565b60008060006040848603121561274157600080fd5b833567ffffffffffffffff81111561275857600080fd5b6127648682870161254a565b9094509250612777905060208501612596565b90509250925092565b60006020828403121561279257600080fd5b610cde82612596565b600080600080608085870312156127b157600080fd5b6127ba85612596565b93506127c860208601612596565b93969395505050506040820135916060013590565b600080604083850312156127f057600080fd5b6126b283612596565b60006020828403121561280b57600080fd5b5035919050565b6000806040838503121561282557600080fd5b82359150602083013561261381612bfe565b6000806040838503121561284a57600080fd5b50508035926020909101359150565b60008060006060848603121561286e57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561289a57600080fd5b8351925060208401519150604084015190509250925092565b600080600080608085870312156128c957600080fd5b5050823594602084013594506040840135936060013592509050565b6001600160a01b039485168152929093166020830152604082015260ff909116606082015260800190565b600060208083528351808285015260005b8181101561293d57858101830151858201604001528201612921565b8181111561294f576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601b908201527f43616c6c6572206973206e6f742061207465616d206d656d6265720000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612a215784516001600160a01b0316835293830193918301916001016129fc565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115612a5557612a55612bd2565b500190565b600082612a7757634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115612ab7578160001904821115612a9d57612a9d612bd2565b80851615612aaa57918102915b93841c9390800290612a81565b509250929050565b6000610cde60ff841683600082612ad857506001610bc5565b81612ae557506000610bc5565b8160018114612afb5760028114612b0557612b21565b6001915050610bc5565b60ff841115612b1657612b16612bd2565b50506001821b610bc5565b5060208310610133831016604e8410600b8410161715612b44575081810a610bc5565b612b4e8383612a7c565b8060001904821115612b6257612b62612bd2565b029392505050565b6000816000190483118215151615612b8457612b84612bd2565b500290565b600082821015612b9b57612b9b612bd2565b500390565b600081612baf57612baf612bd2565b506000190190565b6000600019821415612bcb57612bcb612bd2565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0381168114612c1357600080fd5b5056fea26469706673582212206bc0017300301e6ae387c1ac84548a4f8602c48076d8ded3338bd9a57978d8cf64736f6c63430008070033