608060405234801561001057600080fd5b50612f60806100206000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806394bf804d11610104578063c4d66de8116100a2578063d905777e11610071578063d905777e1461041c578063dd62ed3e1461042f578063ef8b30f714610245578063fc0c546a1461047557600080fd5b8063c4d66de8146103e1578063c63d75b6146102f8578063c6e6f592146103f6578063ce96cb771461040957600080fd5b8063a9059cbb116100de578063a9059cbb14610395578063b3d7f6b9146103a8578063b460af94146103bb578063ba087652146103ce57600080fd5b806394bf804d1461036757806395d89b411461037a578063a457c2d71461038257600080fd5b80632dd60c5e1161017c578063402d267d1161014b578063402d267d146102f85780634cdad5061461030b5780636e553f651461031e57806370a082311461033157600080fd5b80632dd60c5e14610273578063313ce567146102b857806338d52e0f146102c757806339509351146102e557600080fd5b8063095ea7b3116101b8578063095ea7b3146102225780630a28a4771461024557806318160ddd1461025857806323b872dd1461026057600080fd5b806301e1d114146101df57806306fdde03146101fa57806307a2d13a1461020f575b600080fd5b6101e7610495565b6040519081526020015b60405180910390f35b6102026105db565b6040516101f19190612a65565b6101e761021d366004612ab6565b61066d565b610235610230366004612af1565b610723565b60405190151581526020016101f1565b6101e7610253366004612ab6565b610739565b6067546101e7565b61023561026e366004612b1d565b610744565b6097546102939073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f1565b604051601281526020016101f1565b60985473ffffffffffffffffffffffffffffffffffffffff16610293565b6102356102f3366004612af1565b61081e565b6101e7610306366004612b5e565b610862565b6101e7610319366004612ab6565b610928565b6101e761032c366004612b7b565b610933565b6101e761033f366004612b5e565b73ffffffffffffffffffffffffffffffffffffffff1660009081526065602052604090205490565b6101e7610375366004612b7b565b6109fb565b610202610b0d565b610235610390366004612af1565b610b1c565b6102356103a3366004612af1565b610bdc565b6101e76103b6366004612ab6565b610be9565b6101e76103c9366004612bab565b610bff565b6101e76103dc366004612bab565b610d97565b6103f46103ef366004612b5e565b610ee8565b005b6101e7610404366004612ab6565b6112f6565b6101e7610417366004612b5e565b61139c565b6101e761042a366004612b5e565b611468565b6101e761043d366004612bed565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260666020908152604080832093909416825291909152205490565b6098546102939073ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561050d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105319190612c1b565b609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ff9b5966040518163ffffffff1660e01b8152600401602060405180830381865afa15801561059e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c29190612c1b565b6105cc9190612c63565b6105d69190612ca0565b905090565b6060606880546105ea90612cdb565b80601f016020809104026020016040519081016040528092919081815260200182805461061690612cdb565b80156106635780601f1061063857610100808354040283529160200191610663565b820191906000526020600020905b81548152906001019060200180831161064657829003601f168201915b5050505050905090565b6000670de0b6b3a7640000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637ff9b5966040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107099190612c1b565b6107139084612c63565b61071d9190612ca0565b92915050565b600061073033848461152b565b50600192915050565b600061071d826112f6565b60006107518484846116ab565b73ffffffffffffffffffffffffffffffffffffffff84166000908152606660209081526040808320338452909152902054828110156107fd5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610811853361080c8685612d2f565b61152b565b60019150505b9392505050565b33600081815260666020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161073091859061080c908690612d46565b609754604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa1580156108d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f69190612d5e565b610920577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61071d565b600092915050565b600061071d8261066d565b6000600260015414156109885760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f4565b600260015561099883833361191a565b604080518381526020810183905292955090925073ffffffffffffffffffffffffffffffffffffffff84169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7910160405180910390a36001805592915050565b600060026001541415610a505760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f4565b600260015582610a8c576040517fcbca5aa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a9784610be9565b9050600080610aa783863361191a565b604080518381526020810183905292945090925073ffffffffffffffffffffffffffffffffffffffff87169133917fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7910160405180910390a35060018055949350505050565b6060606980546105ea90612cdb565b33600090815260666020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015610bc35760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016107f4565b610bd2338561080c8685612d2f565b5060019392505050565b60006107303384846116ab565b6000610bf48261066d565b61071d906001612d46565b600060026001541415610c545760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f4565b600260015583610c90576040517fcbca5aa200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8514610cc757610cc285610739565b610cee565b73ffffffffffffffffffffffffffffffffffffffff83166000908152606560205260409020545b9050600080610cfe838787611b43565b915091508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051610d81929190918252602082015260400190565b60405180910390a4600180559695505050505050565b600060026001541415610dec5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107f4565b60026001557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841415610e425773ffffffffffffffffffffffffffffffffffffffff821660009081526065602052604090205493505b600080610e50868686611b43565b915091508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db8585604051610ed3929190918252602082015260400190565b60405180910390a45060018055949350505050565b600054610100900460ff1680610f01575060005460ff16155b610f735760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107f4565b600054610100900460ff16158015610fb257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b610fba611d47565b6111228273ffffffffffffffffffffffffffffffffffffffff166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015611008573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261104e9190810190612daf565b60405160200161105e9190612e6f565b6040516020818303038152906040528373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa1580156110b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526110fe9190810190612daf565b60405160200161110e9190612eb0565b604051602081830303815290604052611e4b565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155604080517ffc0c546a000000000000000000000000000000000000000000000000000000008152905163fc0c546a916004808201926020929091908290030181865afa1580156111b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111dd9190612ef1565b609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9283169081179091556040517f095ea7b300000000000000000000000000000000000000000000000000000000815291841660048301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248301529063095ea7b3906044016020604051808303816000875af115801561129e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c29190612d5e565b5080156112f257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b609754604080517f7ff9b596000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691637ff9b5969160048083019260209291908290030181865afa158015611366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138a9190612c1b565b610713670de0b6b3a764000084612c63565b609754604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa15801561140c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114309190612d5e565b6109205761146361021d8373ffffffffffffffffffffffffffffffffffffffff1660009081526065602052604090205490565b61071d565b609754604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa1580156114d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fc9190612d5e565b6109205773ffffffffffffffffffffffffffffffffffffffff821660009081526065602052604090205461071d565b73ffffffffffffffffffffffffffffffffffffffff83166115b35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016107f4565b73ffffffffffffffffffffffffffffffffffffffff821661163c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016107f4565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526066602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166117345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016107f4565b73ffffffffffffffffffffffffffffffffffffffff82166117bd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016107f4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260656020526040902054818110156118595760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016107f4565b6118638282612d2f565b73ffffffffffffffffffffffffffffffffffffffff80861660009081526065602052604080822093909355908516815290812080548492906118a6908490612d46565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161190c91815260200190565b60405180910390a350505050565b609854600090819073ffffffffffffffffffffffffffffffffffffffff1661194481853089611f5b565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156119b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d59190612c1b565b6097546040517f2befabbf000000000000000000000000000000000000000000000000000000008152600481018a90526001602482015273fb3bd022d5dacf95ee28a6b07825d4ff9c5b3814604482015291925073ffffffffffffffffffffffffffffffffffffffff1690632befabbf906064016020604051808303816000875af1158015611a68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a8c9190612c1b565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290935060009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015611afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b209190612c1b565b9050611b2c8183612d2f565b9450611b38878561203d565b505050935093915050565b6097546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600091829173ffffffffffffffffffffffffffffffffffffffff90911690829082906370a0823190602401602060405180830381865afa158015611bba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bde9190612c1b565b6040517f8b30b5160000000000000000000000000000000000000000000000000000000081526004810189905290915073ffffffffffffffffffffffffffffffffffffffff831690638b30b516906024016020604051808303816000875af1158015611c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c729190612c1b565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290945073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015611cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d039190612c1b565b611d0d9082612d2f565b9250611d198584612143565b609854611d3d9073ffffffffffffffffffffffffffffffffffffffff1687866121e4565b5050935093915050565b600054610100900460ff1680611d60575060005460ff16155b611dd25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107f4565b600054610100900460ff16158015611e1157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b611e1961223a565b8015611e4857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b50565b600054610100900460ff1680611e64575060005460ff16155b611ed65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107f4565b600054610100900460ff16158015611f1557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b611f1d612339565b611f278383612433565b8015611f5657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b505050565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526120379085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612558565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166120a05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016107f4565b80606760008282546120b29190612d46565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600090815260656020526040812080548392906120ec908490612d46565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff821633146121da5773ffffffffffffffffffffffffffffffffffffffff82166000908152606660209081526040808320338452909152902054818110156121cb576040517f13be252b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121d8833384840361152b565b505b6112f2828261264a565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052611f569084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611fb5565b600054610100900460ff1680612253575060005460ff16155b6122c55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107f4565b600054610100900460ff1615801561230457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b600180558015611e4857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600054610100900460ff1680612352575060005460ff16155b6123c45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107f4565b600054610100900460ff16158015611e1957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790558015611e4857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b600054610100900460ff168061244c575060005460ff16155b6124be5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107f4565b600054610100900460ff161580156124fd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b82516125109060689060208601906129a0565b5081516125249060699060208501906129a0565b508015611f5657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055505050565b60006125ba826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166128049092919063ffffffff16565b805190915015611f5657808060200190518101906125d89190612d5e565b611f565760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016107f4565b73ffffffffffffffffffffffffffffffffffffffff82166126d35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016107f4565b73ffffffffffffffffffffffffffffffffffffffff82166000908152606560205260409020548181101561276f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016107f4565b6127798282612d2f565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260656020526040812091909155606780548492906127b4908490612d2f565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161169e565b6060612813848460008561281b565b949350505050565b6060824710156128935760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016107f4565b843b6128e15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107f4565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161290a9190612f0e565b60006040518083038185875af1925050503d8060008114612947576040519150601f19603f3d011682016040523d82523d6000602084013e61294c565b606091505b509150915061295c828286612967565b979650505050505050565b60608315612976575081610817565b8251156129865782518084602001fd5b8160405162461bcd60e51b81526004016107f49190612a65565b8280546129ac90612cdb565b90600052602060002090601f0160209004810192826129ce5760008555612a14565b82601f106129e757805160ff1916838001178555612a14565b82800160010185558215612a14579182015b82811115612a145782518255916020019190600101906129f9565b50612a20929150612a24565b5090565b5b80821115612a205760008155600101612a25565b60005b83811015612a54578181015183820152602001612a3c565b838111156120375750506000910152565b6020815260008251806020840152612a84816040850160208701612a39565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215612ac857600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114611e4857600080fd5b60008060408385031215612b0457600080fd5b8235612b0f81612acf565b946020939093013593505050565b600080600060608486031215612b3257600080fd5b8335612b3d81612acf565b92506020840135612b4d81612acf565b929592945050506040919091013590565b600060208284031215612b7057600080fd5b813561081781612acf565b60008060408385031215612b8e57600080fd5b823591506020830135612ba081612acf565b809150509250929050565b600080600060608486031215612bc057600080fd5b833592506020840135612bd281612acf565b91506040840135612be281612acf565b809150509250925092565b60008060408385031215612c0057600080fd5b8235612c0b81612acf565b91506020830135612ba081612acf565b600060208284031215612c2d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c9b57612c9b612c34565b500290565b600082612cd6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600181811c90821680612cef57607f821691505b60208210811415612d29577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b600082821015612d4157612d41612c34565b500390565b60008219821115612d5957612d59612c34565b500190565b600060208284031215612d7057600080fd5b8151801515811461081757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215612dc157600080fd5b815167ffffffffffffffff80821115612dd957600080fd5b818401915084601f830112612ded57600080fd5b815181811115612dff57612dff612d80565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612e4557612e45612d80565b81604052828152876020848701011115612e5e57600080fd5b61295c836020830160208801612a39565b60008251612e81818460208701612a39565b7f3436323641646170746572000000000000000000000000000000000000000000920191825250600b01919050565b60008251612ec2818460208701612a39565b7f3436323600000000000000000000000000000000000000000000000000000000920191825250600401919050565b600060208284031215612f0357600080fd5b815161081781612acf565b60008251612f20818460208701612a39565b919091019291505056fea2646970667358221220e6971f471917c706d3fc0b4732ad3968aace330b3296cf5ef811d20562ba350c64736f6c634300080a0033