VeChain
Explorer
Mainnet
Search
Networks
Main
Test
Contract
0x3dAcc3…57CE
Summary
Transactions
Transfers
Address
0x3dAcc31F0cF24dC791C907f8e0d2eF8e138d57CE
VET
0.00
VET
VTHO
0.00
VTHO
Master
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Deployer
0xa3568b1f8Eb9E56A01beAcAD660244BF46be18F5
Code
0x6080604052600436106103285760003560e01c80637a9e5e4b116101a5578063a9059cbb116100ec578063d505accf11610095578063ec35bef31161006f578063ec35bef314610a5d578063f1127ed814610a7d578063f23a6e6114610ac9578063f6ecbf0414610b0f57600080fd5b8063d505accf146109b8578063dd62ed3e146109d8578063e2ceba6414610a3d57600080fd5b8063bf7e214f116100c6578063bf7e214f1461093b578063c0c53b8b14610978578063c3cda5201461099857600080fd5b8063a9059cbb1461088a578063ad3cb1cc146108aa578063bc197c81146108f357600080fd5b806391ddadf41161014e578063966a23bd11610128578063966a23bd146108285780639ab24eb01461083d578063a9048d071461085d57600080fd5b806391ddadf4146107ba578063950c7822146107e657806395d89b411461081357600080fd5b806384b0196e1161017f57806384b0196e1461075d5780638e539e8c146107855780638fb36037146107a557600080fd5b80637a9e5e4b146107085780637ecebe00146107285780638456cb591461074857600080fd5b806342966c68116102745780635c975abb1161021d57806370a08231116101f757806370a082311461069357806371ca337d146106b357806371ca44aa146106c857806379cc6790146106e857600080fd5b80635c975abb14610612578063629bf891146106495780636fcfff451461065e57600080fd5b806352d1902d1161024e57806352d1902d1461056d578063587cde1e146105825780635c19a95c146105f257600080fd5b806342966c68146105255780634bf5d7e9146105455780634f1ef2861461055a57600080fd5b806323b872dd116102d65780633a46b1a8116102b05780633a46b1a8146104d05780633f4ba83a146104f057806340c10f191461050557600080fd5b806323b872dd1461047f578063313ce5671461049f5780633644e515146104bb57600080fd5b8063095ea7b311610307578063095ea7b3146103ab578063150b7a02146103cb57806318160ddd1461044157600080fd5b806223de291461032d57806301ffc9a71461035457806306fdde0314610389575b600080fd5b34801561033957600080fd5b50610352610348366004614ff6565b5050505050505050565b005b34801561036057600080fd5b5061037461036f3660046150a7565b610b24565b60405190151581526020015b60405180910390f35b34801561039557600080fd5b5061039e610c09565b6040516103809190615139565b3480156103b757600080fd5b506103746103c636600461514c565b610cc4565b3480156103d757600080fd5b506104106103e6366004615178565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610380565b34801561044d57600080fd5b507f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02545b604051908152602001610380565b34801561048b57600080fd5b5061037461049a3660046151eb565b610cdc565b3480156104ab57600080fd5b5060405160128152602001610380565b3480156104c757600080fd5b50610471610d02565b3480156104dc57600080fd5b506104716104eb36600461514c565b610d11565b3480156104fc57600080fd5b50610352610dd4565b34801561051157600080fd5b5061035261052036600461514c565b610deb565b34801561053157600080fd5b5061035261054036600461522c565b610ede565b34801561055157600080fd5b5061039e610fb7565b61035261056836600461528c565b611048565b34801561057957600080fd5b50610471611063565b34801561058e57600080fd5b506105da61059d366004615334565b6001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6040516001600160a01b039091168152602001610380565b3480156105fe57600080fd5b5061035261060d366004615334565b611092565b34801561061e57600080fd5b507fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610374565b34801561065557600080fd5b5061035261109d565b34801561066a57600080fd5b5061067e610679366004615334565b6112f0565b60405163ffffffff9091168152602001610380565b34801561069f57600080fd5b506104716106ae366004615334565b6112fb565b3480156106bf57600080fd5b50610471611340565b3480156106d457600080fd5b506103526106e33660046153e4565b6113e0565b3480156106f457600080fd5b5061035261070336600461514c565b611781565b34801561071457600080fd5b50610352610723366004615334565b611945565b34801561073457600080fd5b50610471610743366004615334565b611a24565b34801561075457600080fd5b50610352611a2f565b34801561076957600080fd5b50610772611a40565b60405161038097969594939291906154db565b34801561079157600080fd5b506104716107a036600461522c565b611b22565b3480156107b157600080fd5b50610410611bc9565b3480156107c657600080fd5b506107cf611c3e565b60405165ffffffffffff9091168152602001610380565b3480156107f257600080fd5b50610806610801366004615334565b611c48565b6040516103809190615565565b34801561081f57600080fd5b5061039e611d46565b34801561083457600080fd5b50610352611d97565b34801561084957600080fd5b50610471610858366004615334565b611e50565b34801561086957600080fd5b5061087d6108783660046155c6565b611ec2565b60405161038091906155fb565b34801561089657600080fd5b506103746108a536600461514c565b612011565b3480156108b657600080fd5b5061039e6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b3480156108ff57600080fd5b5061041061090e36600461567b565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b34801561094757600080fd5b507ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b03166105da565b34801561098457600080fd5b50610352610993366004615719565b61201f565b3480156109a457600080fd5b506103526109b336600461577a565b6123d2565b3480156109c457600080fd5b506103526109d33660046157d4565b6124a8565b3480156109e457600080fd5b506104716109f3366004615842565b6001600160a01b0391821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832093909416825291909152205490565b348015610a4957600080fd5b50610352610a58366004615334565b612633565b348015610a6957600080fd5b506000546105da906001600160a01b031681565b348015610a8957600080fd5b50610a9d610a9836600461588d565b612676565b60408051825165ffffffffffff1681526020928301516001600160d01b03169281019290925201610380565b348015610ad557600080fd5b50610410610ae43660046158bb565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b348015610b1b57600080fd5b506105da612694565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a02000000000000000000000000000000000000000000000000000000001480610bb757507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b80610c0357507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b606060007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b9050806003018054610c4090615937565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6c90615937565b8015610cb95780601f10610c8e57610100808354040283529160200191610cb9565b820191906000526020600020905b815481529060010190602001808311610c9c57829003601f168201915b505050505091505090565b600033610cd281858561272e565b5060019392505050565b600033610cea858285612740565b610cf58585856127f6565b60019150505b9392505050565b6000610d0c612887565b905090565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081610d3d611c3e565b90508065ffffffffffff168410610d96576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff821660248201526044015b60405180910390fd5b610dc2610da285612891565b6001600160a01b03871660009081526001850160205260409020906128e1565b6001600160d01b031695945050505050565b610de1335b60003661299a565b610de9612b65565b565b610df3612bd7565b600080546040517fda88d5410000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152306024820152604481018390527383a273eb9bd41f212ecf24bd0906a3ee961c29a29063da88d54190606401602060405180830381865af4158015610e76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9a9190615971565b9050610ea68382612c58565b610eb08384612ca7565b50610eda60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b5050565b610ee6612bd7565b6000546040517f85d9ba910000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152306024820152336044820152606481018290527383a273eb9bd41f212ecf24bd0906a3ee961c29a2906385d9ba919060840160006040518083038186803b158015610f6957600080fd5b505af4158015610f7d573d6000803e3d6000fd5b50505050610f8b3382612db9565b610fb460017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b50565b6060610fc1612e08565b65ffffffffffff16610fd1611c3e565b65ffffffffffff1614611010576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b611050612e13565b61105982612ee3565b610eda8282612eec565b600061106d612fed565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b33610eda8183612ca7565b600080546040517f627447040000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906362744704906111179060040160208082526004908201527f6170707300000000000000000000000000000000000000000000000000000000604082015260600190565b602060405180830381865afa158015611134573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611158919061598a565b90506000816001600160a01b031663c04cff196040518163ffffffff1660e01b8152600401600060405180830381865afa15801561119a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111c291908101906159a7565b90506000815167ffffffffffffffff8111156111e0576111e0615245565b604051908082528060200260200182016040528015611209578160200160208202803683370190505b509050600061121783611ec2565b905060005b83518110156112645783818151811061123757611237615a2d565b602002602001015183828151811061125157611251615a2d565b602090810291909101015260010161121c565b506000546040517f98c6b8a900000000000000000000000000000000000000000000000000000000815273b6e19c3ce9f09c8bc5ce219ba9f0c8c438893dfd916398c6b8a9916112c4916001600160a01b03169086908690600401615a43565b60006040518083038186803b1580156112dc57600080fd5b505af4158015610348573d6000803e3d6000fd5b6000610c038261304f565b6000807f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace005b6001600160a01b0390931660009081526020939093525050604090205490565b600080546040517f61b614c30000000000000000000000000000000000000000000000000000000081526001600160a01b0390911660048201523060248201527383a273eb9bd41f212ecf24bd0906a3ee961c29a2906361b614c390604401602060405180830381865af41580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c9190615971565b6113e8612bd7565b80518251146114395760405162461bcd60e51b815260206004820152600f60248201527f4c656e677468206d69736d6174636800000000000000000000000000000000006044820152606401610d8d565b3360009081527f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba4602090815260408083208151815493840281016060908101845292810184815290939192849284918401828280156114b757602002820191906000526020600020905b8154815260200190600101908083116114a3575b505050505081526020016001820180548060200260200160405190810160405280929190818152602001828054801561150f57602002820191906000526020600020905b8154815260200190600101908083116114fb575b505050505081525050905060005b8151518110156115b9578160200151818151811061153d5761153d615a2d565b602002602001015161156c7f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba490565b60010160008460000151848151811061158757611587615a2d565b6020026020010151815260200190815260200160002060008282546115ac9190615aeb565b909155505060010161151d565b506000805b8351811015611678578381815181106115d9576115d9615a2d565b6020026020010151826115ec9190615afe565b915083818151811061160057611600615a2d565b602002602001015161162f7f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba490565b600101600087848151811061164657611646615a2d565b60200260200101518152602001908152602001600020600082825461166b9190615afe565b90915550506001016115be565b50611682336112fb565b8111156116d15760405162461bcd60e51b815260206004820152601f60248201527f496e73756666696369656e742062616c616e636520666f7220766f74696e67006044820152606401610d8d565b60405180604001604052808581526020018481525061170d7f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba490565b33600090815260209182526040902082518051919261173192849290910190614f41565b50602082810151805161174a9260018501920190614f41565b5090505061175661109d565b5050610eda60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b611789612bd7565b6001600160a01b03821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020908152604080832033845290915290205481111561181b5760405162461bcd60e51b815260206004820152601d60248201527f4275726e20616d6f756e74206578636565647320616c6c6f77616e63650000006044820152606401610d8d565b6000546040517f85d9ba910000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201523060248201529083166044820152606481018290527383a273eb9bd41f212ecf24bd0906a3ee961c29a2906385d9ba919060840160006040518083038186803b1580156118a057600080fd5b505af41580156118b4573d6000803e3d6000fd5b505050506118c28282612db9565b6001600160a01b03821660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01602090815260408083203380855292529091205461191c918491611917908590615aeb565b61272e565b610eda60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b336119777ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b0316816001600160a01b0316146119cc576040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610d8d565b816001600160a01b03163b600003611a1b576040517fc2f31e5e0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610d8d565b610eda826130b2565b6000610c038261313d565b611a3833610dd9565b610de9613148565b600060608082808083817fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1008054909150158015611a7f57506001810154155b611acb5760405162461bcd60e51b815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610d8d565b611ad36131a3565b611adb6131f4565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009c939b5091995046985030975095509350915050565b60007fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0081611b4e611c3e565b90508065ffffffffffff168410611ba2576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810185905265ffffffffffff82166024820152604401610d8d565b611bb8611bae85612891565b60028401906128e1565b6001600160d01b0316949350505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546000919074010000000000000000000000000000000000000000900460ff16611c16576000611c38565b7f8fb36037000000000000000000000000000000000000000000000000000000005b91505090565b6000610d0c612e08565b604080518082018252606080825260208083018290526001600160a01b03851660009081527f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba4825284902084518154928302810184018652948501828152939493909284928491840182828015611cde57602002820191906000526020600020905b815481526020019060010190808311611cca575b5050505050815260200160018201805480602002602001604051908101604052809291908181526020018280548015611d3657602002820191906000526020600020905b815481526020019060010190808311611d22575b5050505050815250509050919050565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0480546060917f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0091610c4090615937565b611d9f612bd7565b6000546040517fb3eb04060000000000000000000000000000000000000000000000000000000081526001600160a01b03909116600482015273b6e19c3ce9f09c8bc5ce219ba9f0c8c438893dfd9063b3eb04069060240160006040518083038186803b158015611e0f57600080fd5b505af4158015611e23573d6000803e3d6000fd5b50505050610de960017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d01602052604081207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090611eb29061321e565b6001600160d01b03169392505050565b60606000825167ffffffffffffffff811115611ee057611ee0615245565b604051908082528060200260200182016040528015611f09578160200160208202803683370190505b50905060005b835181101561200a5760007f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba46001016000868481518110611f5257611f52615a2d565b60200260200101518152602001908152602001600020549050600080611f967f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b11611fa2576000611fd9565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0254611fcf836064615b11565b611fd99190615b3e565b905080848481518110611fee57611fee615a2d565b60ff909216602092830291909101909101525050600101611f0f565b5092915050565b600033610cd28185856127f6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff1660008115801561206a5750825b905060008267ffffffffffffffff1660011480156120875750303b155b905081158015612095575080155b156120cc576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561212d5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6121a16040518060400160405280600681526020017f76654233545200000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f766542335452000000000000000000000000000000000000000000000000000081525061325a565b6121a961326c565b6121b1613274565b6121ba88613284565b6121f86040518060400160405280600681526020017f7665423354520000000000000000000000000000000000000000000000000000815250613295565b61220061326c565b61220861326c565b6122106132dc565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03888116919091179091556040517f02571be30000000000000000000000000000000000000000000000000000000081527f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e26004820152908816906302571be390602401602060405180830381865afa1580156122be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122e2919061598a565b6040517f1e83409a0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039190911690631e83409a906024016020604051808303816000875af1158015612343573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123679190615971565b5083156103485784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15050505050505050565b8342111561240f576040517f4683af0e00000000000000000000000000000000000000000000000000000000815260048101859052602401610d8d565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090612489906124819060a001604051602081830303815290604052805190602001206132ec565b858585613334565b90506124958187613362565b61249f8188612ca7565b50505050505050565b834211156124e5576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610d8d565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886125518c6001600160a01b031660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006125ac826132ec565b905060006125bc82878787613334565b9050896001600160a01b0316816001600160a01b03161461261c576040517f4b800e460000000000000000000000000000000000000000000000000000000081526001600160a01b0380831660048301528b166024820152604401610d8d565b6126278a8a8a61272e565b50505050505050505050565b61263c33610dd9565b600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6040805180820190915260008082526020820152610cfb83836133ed565b600080546040517f539ff5a20000000000000000000000000000000000000000000000000000000081526001600160a01b03909116600482015273b6e19c3ce9f09c8bc5ce219ba9f0c8c438893dfd9063539ff5a290602401602060405180830381865af415801561270a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d0c919061598a565b61273b838383600161346a565b505050565b6001600160a01b0383811660009081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01602090815260408083209386168352929052205460001981146127f057818110156127e1576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024810182905260448101839052606401610d8d565b6127f08484848403600061346a565b50505050565b6001600160a01b038316612839576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d8d565b6001600160a01b03821661287c576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8d565b61273b838383613596565b6000610d0c613612565b600065ffffffffffff8211156128dd576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610d8d565b5090565b8154600090818160058111156129405760006128fc84613686565b6129069085615aeb565b60008881526020902090915081015465ffffffffffff90811690871610156129305780915061293e565b61293b816001615afe565b92505b505b600061294e8787858561376e565b9050801561298c5761297387612965600184615aeb565b600091825260209091200190565b54660100000000000090046001600160d01b031661298f565b60005b979650505050505050565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00600080612a106129f27ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b8730612a02600460008a8c615b60565b612a0b91615b8a565b6137d0565b9150915081612b5d5763ffffffff811615612b205782547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000178355612a937ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00546001600160a01b031690565b6001600160a01b03166394c7d7ee8787876040518463ffffffff1660e01b8152600401612ac293929190615bd2565b600060405180830381600087803b158015612adc57600080fd5b505af1158015612af0573d6000803e3d6000fd5b505084547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16855550612b5d9050565b6040517f068ca9d80000000000000000000000000000000000000000000000000000000081526001600160a01b0387166004820152602401610d8d565b505050505050565b612b6d613922565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01612c52576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b6001600160a01b038216612c9b576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8d565b610eda60008383613596565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006000612d0b846001600160a01b0390811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260409020541690565b6001600160a01b0385811660008181526020869052604080822080547fffffffffffffffffffffffff000000000000000000000000000000000000000016898616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46127f08184612d8e8761397d565b613988565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b6001600160a01b038216612dfc576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610d8d565b610eda82600083613596565b6000610d0c43612891565b306001600160a01b037f0000000000000000000000003dacc31f0cf24dc791c907f8e0d2ef8e138d57ce161480612eac57507f0000000000000000000000003dacc31f0cf24dc791c907f8e0d2ef8e138d57ce6001600160a01b0316612ea07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614155b15610de9576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fb433610dd9565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612f46575060408051601f3d908101601f19168201909252612f4391810190615971565b60015b612f87576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610d8d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612fe3576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610d8d565b61273b8383613b14565b306001600160a01b037f0000000000000000000000003dacc31f0cf24dc791c907f8e0d2ef8e138d57ce1614610de9576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0160205260408120547fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0090610cfb90613b6a565b7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0080546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117825560408051918252517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9181900360200190a15050565b6000610c0382613bb4565b613150613bdd565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833612bb9565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10280546060917fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10091610c4090615937565b606060007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100610c2f565b805460009080156132515761323883612965600184615aeb565b54660100000000000090046001600160d01b0316610cfb565b60009392505050565b613262613c39565b610eda8282613ca0565b610de9613c39565b61327c613c39565b610de9613d03565b61328c613c39565b610fb481613d36565b61329d613c39565b610fb4816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250613d47565b6132e4613c39565b610de9613dba565b6000610c036132f9612887565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060008061334688888888613dc2565b9250925092506133568282613e91565b50909695505050505050565b6001600160a01b03821660009081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb006020526040902080546001810190915581811461273b576040517f752d88c00000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604401610d8d565b604080518082018252600080825260208083018290526001600160a01b03861682527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d019052919091207fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00906134629084613f95565b949350505050565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b0385166134ce576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610d8d565b6001600160a01b038416613511576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610d8d565b6001600160a01b0380861660009081526001830160209081526040808320938816835292905220839055811561358f57836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161358691815260200190565b60405180910390a35b5050505050565b6135a1838383614008565b6001600160a01b038216158015906135f057506001600160a01b0382811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d00602052604090205416155b156135ff576135ff8283612ca7565b61360a8383836140a7565b61273b61109d565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61363d61471c565b613645614798565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60008160000361369857506000919050565b600060016136a5846147ee565b901c6001901b905060018184816136be576136be615b28565b048201901c905060018184816136d6576136d6615b28565b048201901c905060018184816136ee576136ee615b28565b048201901c9050600181848161370657613706615b28565b048201901c9050600181848161371e5761371e615b28565b048201901c9050600181848161373657613736615b28565b048201901c9050600181848161374e5761374e615b28565b048201901c9050610cfb8182858161376857613768615b28565b04614882565b60005b818310156137c85760006137858484614898565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156137b4578092506137c2565b6137bf816001615afe565b93505b50613771565b509392505050565b6040516001600160a01b03848116602483015283811660448301527fffffffff000000000000000000000000000000000000000000000000000000008316606483015260009182918291829189169060840160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb700961300000000000000000000000000000000000000000000000000000000179052516138859190615c11565b600060405180830381855afa9150503d80600081146138c0576040519150601f19603f3d011682016040523d82523d6000602084013e6138c5565b606091505b509150915081156139175760408151106138f757808060200190518101906138ed9190615c3d565b9094509250613917565b602081511061391757808060200190518101906139149190615c69565b93505b505094509492505050565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff16610de9576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c03826112fb565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b03848116908416148015906139c55750600082115b156127f0576001600160a01b03841615613a6f576001600160a01b038416600090815260018201602052604081208190613a0a906148b3613a05876148bf565b61490c565b6001600160d01b031691506001600160d01b03169150856001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613a64929190918252602082015260400190565b60405180910390a250505b6001600160a01b038316156127f0576001600160a01b038316600090815260018201602052604081208190613aaa90614945613a05876148bf565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051613b04929190918252602082015260400190565b60405180910390a2505050505050565b613b1d82614951565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115613b625761273b82826149f9565b610eda614a6f565b600063ffffffff8211156128dd576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610d8d565b6000807f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00611320565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1615610de9576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff16610de9576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613ca8613c39565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace007f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03613cf48482615ccc565b50600481016127f08382615ccc565b613d0b613c39565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300805460ff19169055565b613d3e613c39565b610fb4816130b2565b613d4f613c39565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d1007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d102613d9b8482615ccc565b5060038101613daa8382615ccc565b5060008082556001909101555050565b612d93613c39565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115613dfd5750600091506003905082613e87565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015613e51573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613e7d57506000925060019150829050613e87565b9250600091508190505b9450945094915050565b6000826003811115613ea557613ea5615d8c565b03613eae575050565b6001826003811115613ec257613ec2615d8c565b03613ef9576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115613f0d57613f0d615d8c565b03613f47576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610d8d565b6003826003811115613f5b57613f5b615d8c565b03610eda576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610d8d565b6040805180820190915260008082526020820152826000018263ffffffff1681548110613fc457613fc4615a2d565b60009182526020918290206040805180820190915291015465ffffffffffff81168252660100000000000090046001600160d01b0316918101919091529392505050565b614013838383614aa7565b6001600160a01b03831661409c57600061404b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace025490565b90506001600160d01b0380821115614099576040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610d8d565b50505b61273b838383614aba565b600081116140f75760405162461bcd60e51b815260206004820152601f60248201527f56616c7565206d7573742062652067726561746572207468616e207a65726f006044820152606401610d8d565b6001600160a01b03831660009081527f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba46020908152604080832081518154938402810160609081018452928101848152909391928492849184018282801561417e57602002820191906000526020600020905b81548152602001906001019080831161416a575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156141d657602002820191906000526020600020905b8154815260200190600101908083116141c2575b50505050508152505090506000805b826020015151811015614225578260200151818151811061420857614208615a2d565b60200260200101518261421b9190615afe565b91506001016141e5565b5080156144045760005b8260200151518110156143985760008360200151828151811061425457614254615a2d565b60200260200101519050600083868561426d9190615aeb565b6142779084615b11565b6142819190615b3e565b9050808560200151848151811061429a5761429a615a2d565b602002602001018181525050808210614320576142b78183615aeb565b855180517f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba591600091879081106142f0576142f0615a2d565b6020026020010151815260200190815260200160002060008282546143159190615aeb565b9091555061438e9050565b61432a8282615aeb565b855180517f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba5916000918790811061436357614363615a2d565b6020026020010151815260200190815260200160002060008282546143889190615afe565b90915550505b505060010161422f565b506001600160a01b03851660009081527f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba4602090815260409091208351805185936143e7928492910190614f41565b5060208281015180516144009260018501920190614f41565b5050505b6001600160a01b0384161561358f576001600160a01b03841660009081527f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba46020908152604080832081518154938402810160609081018452928101848152909391928492849184018282801561449a57602002820191906000526020600020905b815481526020019060010190808311614486575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156144f257602002820191906000526020600020905b8154815260200190600101908083116144de575b50505050508152505090506000805b826020015151811015614541578260200151818151811061452457614524615a2d565b6020026020010151826145379190615afe565b9150600101614501565b50801561249f5760005b8260200151518110156146b45760008360200151828151811061457057614570615a2d565b6020026020010151905060008388856145899190615afe565b6145939084615b11565b61459d9190615b3e565b905080856020015184815181106145b6576145b6615a2d565b60200260200101818152505080821061463c576145d38183615aeb565b855180517f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba5916000918790811061460c5761460c615a2d565b6020026020010151815260200190815260200160002060008282546146319190615aeb565b909155506146aa9050565b6146468282615aeb565b855180517f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba5916000918790811061467f5761467f615a2d565b6020026020010151815260200190815260200160002060008282546146a49190615afe565b90915550505b505060010161454b565b506001600160a01b03861660009081527f9b415c02b7befb759552a9b6d8734c72ff48825e08833aa8390b015748747ba460209081526040909120835180518593614703928492910190614f41565b5060208281015180516126279260018501920190614f41565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816147486131a3565b80519091501561476057805160209091012092915050565b8154801561476f579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b60007fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100816147c46131f4565b8051909150156147dc57805160209091012092915050565b6001820154801561476f579392505050565b600080608083901c1561480357608092831c92015b604083901c1561481557604092831c92015b602083901c1561482757602092831c92015b601083901c1561483957601092831c92015b600883901c1561484b57600892831c92015b600483901c1561485d57600492831c92015b600283901c1561486f57600292831c92015b600183901c15610c035760010192915050565b60008183106148915781610cfb565b5090919050565b60006148a76002848418615b3e565b610cfb90848416615afe565b6000610cfb8284615da2565b60006001600160d01b038211156128dd576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d0600482015260248101839052604401610d8d565b60008061493861491a611c3e565b6149306149268861321e565b868863ffffffff16565b879190614b74565b915091505b935093915050565b6000610cfb8284615dc2565b806001600160a01b03163b6000036149a0576040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526001600160a01b0382166004820152602401610d8d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051614a169190615c11565b600060405180830381855af49150503d8060008114614a51576040519150601f19603f3d011682016040523d82523d6000602084013e614a56565b606091505b5091509150614a66858383614b82565b95945050505050565b3415610de9576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b614aaf613bdd565b61273b838383614bf7565b7fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d006001600160a01b038416614aff57614afc81600201614945613a05856148bf565b50505b6001600160a01b038316614b2357614b20816002016148b3613a05856148bf565b50505b6001600160a01b0384811660009081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0060205260408082205486841683529120546127f092918216911684613988565b600080614938858585614d60565b606082614b9757614b9282614eff565b610cfb565b8151158015614bae57506001600160a01b0384163b155b15614bf0576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610d8d565b5080610cfb565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace006001600160a01b038416614c455781816002016000828254614c3a9190615afe565b90915550614cd09050565b6001600160a01b03841660009081526020829052604090205482811015614cb1576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03861660048201526024810182905260448101849052606401610d8d565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316614cee576002810180548390039055614d0d565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051614d5291815260200190565b60405180910390a350505050565b825460009081908015614ea1576000614d7e87612965600185615aeb565b60408051808201909152905465ffffffffffff80821680845266010000000000009092046001600160d01b031660208401529192509087161015614dee576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603614e3d5784614e1188612965600186615aeb565b80546001600160d01b039290921666010000000000000265ffffffffffff909216919091179055614e91565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b60200151925083915061493d9050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316660100000000000002919093161792019190915590508161493d565b805115614f0f5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828054828255906000526020600020908101928215614f7c579160200282015b82811115614f7c578251825591602001919060010190614f61565b506128dd9291505b808211156128dd5760008155600101614f84565b6001600160a01b0381168114610fb457600080fd5b60008083601f840112614fbf57600080fd5b50813567ffffffffffffffff811115614fd757600080fd5b602083019150836020828501011115614fef57600080fd5b9250929050565b60008060008060008060008060c0898b03121561501257600080fd5b883561501d81614f98565b9750602089013561502d81614f98565b9650604089013561503d81614f98565b955060608901359450608089013567ffffffffffffffff8082111561506157600080fd5b61506d8c838d01614fad565b909650945060a08b013591508082111561508657600080fd5b506150938b828c01614fad565b999c989b5096995094979396929594505050565b6000602082840312156150b957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610cfb57600080fd5b60005b838110156151045781810151838201526020016150ec565b50506000910152565b600081518084526151258160208601602086016150e9565b601f01601f19169290920160200192915050565b602081526000610cfb602083018461510d565b6000806040838503121561515f57600080fd5b823561516a81614f98565b946020939093013593505050565b60008060008060006080868803121561519057600080fd5b853561519b81614f98565b945060208601356151ab81614f98565b935060408601359250606086013567ffffffffffffffff8111156151ce57600080fd5b6151da88828901614fad565b969995985093965092949392505050565b60008060006060848603121561520057600080fd5b833561520b81614f98565b9250602084013561521b81614f98565b929592945050506040919091013590565b60006020828403121561523e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561528457615284615245565b604052919050565b6000806040838503121561529f57600080fd5b82356152aa81614f98565b915060208381013567ffffffffffffffff808211156152c857600080fd5b818601915086601f8301126152dc57600080fd5b8135818111156152ee576152ee615245565b61530084601f19601f8401160161525b565b9150808252878482850101111561531657600080fd5b80848401858401376000848284010152508093505050509250929050565b60006020828403121561534657600080fd5b8135610cfb81614f98565b600067ffffffffffffffff82111561536b5761536b615245565b5060051b60200190565b600082601f83011261538657600080fd5b8135602061539b61539683615351565b61525b565b8083825260208201915060208460051b8701019350868411156153bd57600080fd5b602086015b848110156153d957803583529183019183016153c2565b509695505050505050565b600080604083850312156153f757600080fd5b823567ffffffffffffffff8082111561540f57600080fd5b61541b86838701615375565b935060209150818501358181111561543257600080fd5b85019050601f8101861361544557600080fd5b803561545361539682615351565b81815260059190911b8201830190838101908883111561547257600080fd5b928401925b8284101561549057833582529284019290840190615477565b80955050505050509250929050565b60008151808452602080850194506020840160005b838110156154d0578151875295820195908201906001016154b4565b509495945050505050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e06020820152600061551660e083018961510d565b8281036040840152615528818961510d565b90508660608401526001600160a01b03861660808401528460a084015282810360c0840152615557818561549f565b9a9950505050505050505050565b6020808252825160408383015280516060840181905260009291820190839060808601905b808310156155aa578351825292840192600192909201919084019061558a565b5092860151858403601f190160408701529261298f818561549f565b6000602082840312156155d857600080fd5b813567ffffffffffffffff8111156155ef57600080fd5b61346284828501615375565b6020808252825182820181905260009190848201906040850190845b8181101561335657835160ff1683529284019291840191600101615617565b60008083601f84011261564857600080fd5b50813567ffffffffffffffff81111561566057600080fd5b6020830191508360208260051b8501011115614fef57600080fd5b60008060008060008060008060a0898b03121561569757600080fd5b88356156a281614f98565b975060208901356156b281614f98565b9650604089013567ffffffffffffffff808211156156cf57600080fd5b6156db8c838d01615636565b909850965060608b01359150808211156156f457600080fd5b6157008c838d01615636565b909650945060808b013591508082111561508657600080fd5b60008060006060848603121561572e57600080fd5b833561573981614f98565b9250602084013561574981614f98565b9150604084013561575981614f98565b809150509250925092565b803560ff8116811461577557600080fd5b919050565b60008060008060008060c0878903121561579357600080fd5b863561579e81614f98565b955060208701359450604087013593506157ba60608801615764565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a0312156157ef57600080fd5b87356157fa81614f98565b9650602088013561580a81614f98565b9550604088013594506060880135935061582660808901615764565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561585557600080fd5b823561586081614f98565b9150602083013561587081614f98565b809150509250929050565b63ffffffff81168114610fb457600080fd5b600080604083850312156158a057600080fd5b82356158ab81614f98565b915060208301356158708161587b565b60008060008060008060a087890312156158d457600080fd5b86356158df81614f98565b955060208701356158ef81614f98565b94506040870135935060608701359250608087013567ffffffffffffffff81111561591957600080fd5b61592589828a01614fad565b979a9699509497509295939492505050565b600181811c9082168061594b57607f821691505b60208210810361596b57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561598357600080fd5b5051919050565b60006020828403121561599c57600080fd5b8151610cfb81614f98565b600060208083850312156159ba57600080fd5b825167ffffffffffffffff8111156159d157600080fd5b8301601f810185136159e257600080fd5b80516159f061539682615351565b81815260059190911b82018301908381019087831115615a0f57600080fd5b928401925b8284101561298f57835182529284019290840190615a14565b634e487b7160e01b600052603260045260246000fd5b6000606082016001600160a01b03861683526020606081850152818651808452608086019150828801935060005b81811015615a8d57845183529383019391830191600101615a71565b50508481036040860152855180825290820192508186019060005b81811015615ac757825160ff1685529383019391830191600101615aa8565b509298975050505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610c0357610c03615ad5565b80820180821115610c0357610c03615ad5565b8082028115828204841417610c0357610c03615ad5565b634e487b7160e01b600052601260045260246000fd5b600082615b5b57634e487b7160e01b600052601260045260246000fd5b500490565b60008085851115615b7057600080fd5b83861115615b7d57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015615bca5780818660040360031b1b83161692505b505092915050565b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008251615c238184602087016150e9565b9190910192915050565b8051801515811461577557600080fd5b60008060408385031215615c5057600080fd5b615c5983615c2d565b915060208301516158708161587b565b600060208284031215615c7b57600080fd5b610cfb82615c2d565b601f82111561273b576000816000526020600020601f850160051c81016020861015615cad5750805b601f850160051c820191505b81811015612b5d57828155600101615cb9565b815167ffffffffffffffff811115615ce657615ce6615245565b615cfa81615cf48454615937565b84615c84565b602080601f831160018114615d2f5760008415615d175750858301515b600019600386901b1c1916600185901b178555612b5d565b600085815260208120601f198616915b82811015615d5e57888601518255948401946001909101908401615d3f565b5085821015615d7c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fd5b6001600160d01b0382811682821603908082111561200a5761200a615ad5565b6001600160d01b0381811683821601908082111561200a5761200a615ad556fea26469706673582212209ed5f2e0d8c37d5168706700fcf45024b5a314ea32c4ed7213ad87984c23eccc64736f6c63430008180033