0x6101606040523480156200001257600080fd5b506040518060400160405280600781526020017f4d79546f6b656e00000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f4d79546f6b656e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d544b00000000000000000000000000000000000000000000000000000000008152508160039081620000fd91906200082a565b5080600490816200010f91906200082a565b5050506200012d6005836200023160201b62000dd91790919060201c565b6101208181525050620001506006826200023160201b62000dd91790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a081815250506200018f6200028e60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050620001ed620001e1620002eb60201b60201c565b620002f360201b60201c565b6200022b3362000202620003b960201b60201c565b600a62000210919062000aa1565b6103e86200021f919062000af2565b620003c260201b60201c565b62000e2a565b600060208351101562000257576200024f836200052f60201b60201c565b905062000288565b826200026e836200059c60201b62000e1d1760201c565b60000190816200027f91906200082a565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e051610100514630604051602001620002d095949392919062000bae565b60405160208183030381529060405280519060200120905090565b600033905090565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006012905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000434576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200042b9062000c6c565b60405180910390fd5b6200044860008383620005a660201b60201c565b80600260008282546200045c919062000c8e565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200050f919062000cc9565b60405180910390a36200052b60008383620005ab60201b60201c565b5050565b600080829050601f815111156200057f57826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040162000576919062000d64565b60405180910390fd5b8051816200058d9062000dba565b60001c1760001b915050919050565b6000819050919050565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200063257607f821691505b602082108103620006485762000647620005ea565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006b27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000673565b620006be868362000673565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200070b62000705620006ff84620006d6565b620006e0565b620006d6565b9050919050565b6000819050919050565b6200072783620006ea565b6200073f620007368262000712565b84845462000680565b825550505050565b600090565b6200075662000747565b620007638184846200071c565b505050565b5b818110156200078b576200077f6000826200074c565b60018101905062000769565b5050565b601f821115620007da57620007a4816200064e565b620007af8462000663565b81016020851015620007bf578190505b620007d7620007ce8562000663565b83018262000768565b50505b505050565b600082821c905092915050565b6000620007ff60001984600802620007df565b1980831691505092915050565b60006200081a8383620007ec565b9150826002028217905092915050565b6200083582620005b0565b67ffffffffffffffff811115620008515762000850620005bb565b5b6200085d825462000619565b6200086a8282856200078f565b600060209050601f831160018114620008a257600084156200088d578287015190505b6200089985826200080c565b86555062000909565b601f198416620008b2866200064e565b60005b82811015620008dc57848901518255600182019150602085019450602081019050620008b5565b86831015620008fc5784890151620008f8601f891682620007ec565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200099f5780860481111562000977576200097662000911565b5b6001851615620009875780820291505b8081029050620009978562000940565b945062000957565b94509492505050565b600082620009ba576001905062000a8d565b81620009ca576000905062000a8d565b8160018114620009e35760028114620009ee5762000a24565b600191505062000a8d565b60ff84111562000a035762000a0262000911565b5b8360020a91508482111562000a1d5762000a1c62000911565b5b5062000a8d565b5060208310610133831016604e8410600b841016171562000a5e5782820a90508381111562000a585762000a5762000911565b5b62000a8d565b62000a6d84848460016200094d565b9250905081840481111562000a875762000a8662000911565b5b81810290505b9392505050565b600060ff82169050919050565b600062000aae82620006d6565b915062000abb8362000a94565b925062000aea7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620009a8565b905092915050565b600062000aff82620006d6565b915062000b0c83620006d6565b925082820262000b1c81620006d6565b9150828204841483151762000b365762000b3562000911565b5b5092915050565b6000819050919050565b62000b528162000b3d565b82525050565b62000b6381620006d6565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000b968262000b69565b9050919050565b62000ba88162000b89565b82525050565b600060a08201905062000bc5600083018862000b47565b62000bd4602083018762000b47565b62000be3604083018662000b47565b62000bf2606083018562000b58565b62000c01608083018462000b9d565b9695505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000c54601f8362000c0b565b915062000c618262000c1c565b602082019050919050565b6000602082019050818103600083015262000c878162000c45565b9050919050565b600062000c9b82620006d6565b915062000ca883620006d6565b925082820190508082111562000cc35762000cc262000911565b5b92915050565b600060208201905062000ce0600083018462000b58565b92915050565b60005b8381101562000d0657808201518184015260208101905062000ce9565b60008484015250505050565b6000601f19601f8301169050919050565b600062000d3082620005b0565b62000d3c818562000c0b565b935062000d4e81856020860162000ce6565b62000d598162000d12565b840191505092915050565b6000602082019050818103600083015262000d80818462000d23565b905092915050565b600081519050919050565b6000819050602082019050919050565b600062000db1825162000b3d565b80915050919050565b600062000dc78262000d88565b8262000dd38462000d93565b905062000de08162000da3565b9250602082101562000e235762000e1e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080262000673565b831692505b5050919050565b60805160a05160c05160e05161010051610120516101405161359462000e8560003960006108fa015260006108c601526000611a3e01526000611a1d015260006112fe015260006113540152600061137d01526135946000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063a457c2d71161007c578063a457c2d71461036e578063a9059cbb1461039e578063d505accf146103ce578063d9d98ce4146103ea578063dd62ed3e1461041a578063f2fde38b1461044a57610137565b8063715018a6146102d45780637ecebe00146102de57806384b0196e1461030e5780638da5cb5b1461033257806395d89b411461035057610137565b80633644e515116100ff5780633644e515146101f657806339509351146102145780635cffe9de14610244578063613255ab1461027457806370a08231146102a457610137565b806306fdde031461013c578063095ea7b31461015a57806318160ddd1461018a57806323b872dd146101a8578063313ce567146101d8575b600080fd5b610144610466565b6040516101519190611e81565b60405180910390f35b610174600480360381019061016f9190611f41565b6104f8565b6040516101819190611f9c565b60405180910390f35b61019261051b565b60405161019f9190611fc6565b60405180910390f35b6101c260048036038101906101bd9190611fe1565b610525565b6040516101cf9190611f9c565b60405180910390f35b6101e0610554565b6040516101ed9190612050565b60405180910390f35b6101fe61055d565b60405161020b9190612084565b60405180910390f35b61022e60048036038101906102299190611f41565b61056c565b60405161023b9190611f9c565b60405180910390f35b61025e60048036038101906102599190612142565b6105a3565b60405161026b9190611f9c565b60405180910390f35b61028e600480360381019061028991906121ca565b610790565b60405161029b9190611fc6565b60405180910390f35b6102be60048036038101906102b991906121ca565b610807565b6040516102cb9190611fc6565b60405180910390f35b6102dc61084f565b005b6102f860048036038101906102f391906121ca565b610863565b6040516103059190611fc6565b60405180910390f35b6103166108b3565b60405161032997969594939291906122ff565b60405180910390f35b61033a6109b5565b6040516103479190612383565b60405180910390f35b6103586109df565b6040516103659190611e81565b60405180910390f35b61038860048036038101906103839190611f41565b610a71565b6040516103959190611f9c565b60405180910390f35b6103b860048036038101906103b39190611f41565b610ae8565b6040516103c59190611f9c565b60405180910390f35b6103e860048036038101906103e391906123f6565b610b0b565b005b61040460048036038101906103ff9190611f41565b610c4d565b6040516104119190611fc6565b60405180910390f35b610434600480360381019061042f9190612498565b610ccf565b6040516104419190611fc6565b60405180910390f35b610464600480360381019061045f91906121ca565b610d56565b005b60606003805461047590612507565b80601f01602080910402602001604051908101604052809291908181526020018280546104a190612507565b80156104ee5780601f106104c3576101008083540402835291602001916104ee565b820191906000526020600020905b8154815290600101906020018083116104d157829003601f168201915b5050505050905090565b600080610503610e27565b9050610510818585610e2f565b600191505092915050565b6000600254905090565b600080610530610e27565b905061053d858285610ff8565b610548858585611084565b60019150509392505050565b60006012905090565b60006105676112fa565b905090565b600080610577610e27565b90506105988185856105898589610ccf565b6105939190612567565b610e2f565b600191505092915050565b60006105ae85610790565b8411156105f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e79061260d565b60405180910390fd5b60006105fc8686610c4d565b905061060887866113b1565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98773ffffffffffffffffffffffffffffffffffffffff166323e30c8b338989868a8a6040518763ffffffff1660e01b815260040161066c9695949392919061267a565b6020604051808303816000875af115801561068b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106af91906126eb565b146106ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e69061278a565b60405180910390fd5b60006106f9611507565b90506107118830848961070c9190612567565b610ff8565b600082148061074c5750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b1561076b576107668883886107619190612567565b61150c565b610781565b610775888761150c565b610780888284611084565b5b60019250505095945050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146107cc576000610800565b6107d461051b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6107ff91906127aa565b5b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108576116d9565b6108616000611757565b565b60006108ac600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061181d565b9050919050565b6000606080600080600060606108f360057f000000000000000000000000000000000000000000000000000000000000000061182b90919063ffffffff16565b61092760067f000000000000000000000000000000000000000000000000000000000000000061182b90919063ffffffff16565b46306000801b600067ffffffffffffffff811115610948576109476127de565b5b6040519080825280602002602001820160405280156109765781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109ee90612507565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1a90612507565b8015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b5050505050905090565b600080610a7c610e27565b90506000610a8a8286610ccf565b905083811015610acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac69061287f565b60405180910390fd5b610adc8286868403610e2f565b60019250505092915050565b600080610af3610e27565b9050610b00818585611084565b600191505092915050565b83421115610b4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b45906128eb565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610b7d8c6118db565b89604051602001610b939695949392919061290b565b6040516020818303038152906040528051906020012090506000610bb682611939565b90506000610bc682878787611953565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2d906129b8565b60405180910390fd5b610c418a8a8a610e2f565b50505050505050505050565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610cbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb490612a24565b60405180910390fd5b610cc7838361197e565b905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610d5e6116d9565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc490612ab6565b60405180910390fd5b610dd681611757565b50565b6000602083511015610df557610dee83611986565b9050610e17565b82610dff83610e1d565b6000019081610e0e9190612c82565b5060ff60001b90505b92915050565b6000819050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9590612dc6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0490612e58565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610feb9190611fc6565b60405180910390a3505050565b60006110048484610ccf565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461107e5781811015611070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106790612ec4565b60405180910390fd5b61107d8484848403610e2f565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ea90612f56565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611162576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115990612fe8565b60405180910390fd5b61116d8383836119ee565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156111f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ea9061307a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112e19190611fc6565b60405180910390a36112f48484846119f3565b50505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561137657507f000000000000000000000000000000000000000000000000000000000000000046145b156113a3577f000000000000000000000000000000000000000000000000000000000000000090506113ae565b6113ab6119f8565b90505b90565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611420576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611417906130e6565b60405180910390fd5b61142c600083836119ee565b806002600082825461143e9190612567565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114ef9190611fc6565b60405180910390a3611503600083836119f3565b5050565b600090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361157b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157290613178565b60405180910390fd5b611587826000836119ee565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561160d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116049061320a565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516116c09190611fc6565b60405180910390a36116d4836000846119f3565b505050565b6116e1610e27565b73ffffffffffffffffffffffffffffffffffffffff166116ff6109b5565b73ffffffffffffffffffffffffffffffffffffffff1614611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613276565b60405180910390fd5b565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b606060ff60001b83146118485761184183611a8e565b90506118d5565b81805461185490612507565b80601f016020809104026020016040519081016040528092919081815260200182805461188090612507565b80156118cd5780601f106118a2576101008083540402835291602001916118cd565b820191906000526020600020905b8154815290600101906020018083116118b057829003601f168201915b505050505090505b92915050565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506119288161181d565b915061193381611b02565b50919050565b600061194c6119466112fa565b83611b18565b9050919050565b600080600061196487878787611b59565b9150915061197181611c3b565b8192505050949350505050565b600092915050565b600080829050601f815111156119d357826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016119ca9190611e81565b60405180910390fd5b8051816119df906132c6565b60001c1760001b915050919050565b505050565b505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001611a7395949392919061332d565b60405160208183030381529060405280519060200120905090565b60606000611a9b83611da1565b90506000602067ffffffffffffffff811115611aba57611ab96127de565b5b6040519080825280601f01601f191660200182016040528015611aec5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b6001816000016000828254019250508190555050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115611b94576000600391509150611c32565b600060018787878760405160008152602001604052604051611bb99493929190613380565b6020604051602081039080840390855afa158015611bdb573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c2957600060019250925050611c32565b80600092509250505b94509492505050565b60006004811115611c4f57611c4e6133c5565b5b816004811115611c6257611c616133c5565b5b0315611d9e5760016004811115611c7c57611c7b6133c5565b5b816004811115611c8f57611c8e6133c5565b5b03611ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc690613440565b60405180910390fd5b60026004811115611ce357611ce26133c5565b5b816004811115611cf657611cf56133c5565b5b03611d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2d906134ac565b60405180910390fd5b60036004811115611d4a57611d496133c5565b5b816004811115611d5d57611d5c6133c5565b5b03611d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d949061353e565b60405180910390fd5b5b50565b60008060ff8360001c169050601f811115611de8576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611e2b578082015181840152602081019050611e10565b60008484015250505050565b6000601f19601f8301169050919050565b6000611e5382611df1565b611e5d8185611dfc565b9350611e6d818560208601611e0d565b611e7681611e37565b840191505092915050565b60006020820190508181036000830152611e9b8184611e48565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ed882611ead565b9050919050565b611ee881611ecd565b8114611ef357600080fd5b50565b600081359050611f0581611edf565b92915050565b6000819050919050565b611f1e81611f0b565b8114611f2957600080fd5b50565b600081359050611f3b81611f15565b92915050565b60008060408385031215611f5857611f57611ea3565b5b6000611f6685828601611ef6565b9250506020611f7785828601611f2c565b9150509250929050565b60008115159050919050565b611f9681611f81565b82525050565b6000602082019050611fb16000830184611f8d565b92915050565b611fc081611f0b565b82525050565b6000602082019050611fdb6000830184611fb7565b92915050565b600080600060608486031215611ffa57611ff9611ea3565b5b600061200886828701611ef6565b935050602061201986828701611ef6565b925050604061202a86828701611f2c565b9150509250925092565b600060ff82169050919050565b61204a81612034565b82525050565b60006020820190506120656000830184612041565b92915050565b6000819050919050565b61207e8161206b565b82525050565b60006020820190506120996000830184612075565b92915050565b60006120aa82611ecd565b9050919050565b6120ba8161209f565b81146120c557600080fd5b50565b6000813590506120d7816120b1565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112612102576121016120dd565b5b8235905067ffffffffffffffff81111561211f5761211e6120e2565b5b60208301915083600182028301111561213b5761213a6120e7565b5b9250929050565b60008060008060006080868803121561215e5761215d611ea3565b5b600061216c888289016120c8565b955050602061217d88828901611ef6565b945050604061218e88828901611f2c565b935050606086013567ffffffffffffffff8111156121af576121ae611ea8565b5b6121bb888289016120ec565b92509250509295509295909350565b6000602082840312156121e0576121df611ea3565b5b60006121ee84828501611ef6565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61222c816121f7565b82525050565b61223b81611ecd565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61227681611f0b565b82525050565b6000612288838361226d565b60208301905092915050565b6000602082019050919050565b60006122ac82612241565b6122b6818561224c565b93506122c18361225d565b8060005b838110156122f25781516122d9888261227c565b97506122e483612294565b9250506001810190506122c5565b5085935050505092915050565b600060e082019050612314600083018a612223565b81810360208301526123268189611e48565b9050818103604083015261233a8188611e48565b90506123496060830187611fb7565b6123566080830186612232565b61236360a0830185612075565b81810360c083015261237581846122a1565b905098975050505050505050565b60006020820190506123986000830184612232565b92915050565b6123a781612034565b81146123b257600080fd5b50565b6000813590506123c48161239e565b92915050565b6123d38161206b565b81146123de57600080fd5b50565b6000813590506123f0816123ca565b92915050565b600080600080600080600060e0888a03121561241557612414611ea3565b5b60006124238a828b01611ef6565b97505060206124348a828b01611ef6565b96505060406124458a828b01611f2c565b95505060606124568a828b01611f2c565b94505060806124678a828b016123b5565b93505060a06124788a828b016123e1565b92505060c06124898a828b016123e1565b91505092959891949750929550565b600080604083850312156124af576124ae611ea3565b5b60006124bd85828601611ef6565b92505060206124ce85828601611ef6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061251f57607f821691505b602082108103612532576125316124d8565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061257282611f0b565b915061257d83611f0b565b925082820190508082111561259557612594612538565b5b92915050565b7f4552433230466c6173684d696e743a20616d6f756e742065786365656473206d60008201527f6178466c6173684c6f616e000000000000000000000000000000000000000000602082015250565b60006125f7602b83611dfc565b91506126028261259b565b604082019050919050565b60006020820190508181036000830152612626816125ea565b9050919050565b600082825260208201905092915050565b82818337600083830152505050565b6000612659838561262d565b935061266683858461263e565b61266f83611e37565b840190509392505050565b600060a08201905061268f6000830189612232565b61269c6020830188612232565b6126a96040830187611fb7565b6126b66060830186611fb7565b81810360808301526126c981848661264d565b9050979650505050505050565b6000815190506126e5816123ca565b92915050565b60006020828403121561270157612700611ea3565b5b600061270f848285016126d6565b91505092915050565b7f4552433230466c6173684d696e743a20696e76616c69642072657475726e207660008201527f616c756500000000000000000000000000000000000000000000000000000000602082015250565b6000612774602483611dfc565b915061277f82612718565b604082019050919050565b600060208201905081810360008301526127a381612767565b9050919050565b60006127b582611f0b565b91506127c083611f0b565b92508282039050818111156127d8576127d7612538565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000612869602583611dfc565b91506128748261280d565b604082019050919050565b600060208201905081810360008301526128988161285c565b9050919050565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b60006128d5601d83611dfc565b91506128e08261289f565b602082019050919050565b60006020820190508181036000830152612904816128c8565b9050919050565b600060c0820190506129206000830189612075565b61292d6020830188612232565b61293a6040830187612232565b6129476060830186611fb7565b6129546080830185611fb7565b61296160a0830184611fb7565b979650505050505050565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b60006129a2601e83611dfc565b91506129ad8261296c565b602082019050919050565b600060208201905081810360008301526129d181612995565b9050919050565b7f4552433230466c6173684d696e743a2077726f6e6720746f6b656e0000000000600082015250565b6000612a0e601b83611dfc565b9150612a19826129d8565b602082019050919050565b60006020820190508181036000830152612a3d81612a01565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612aa0602683611dfc565b9150612aab82612a44565b604082019050919050565b60006020820190508181036000830152612acf81612a93565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302612b387fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612afb565b612b428683612afb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000612b7f612b7a612b7584611f0b565b612b5a565b611f0b565b9050919050565b6000819050919050565b612b9983612b64565b612bad612ba582612b86565b848454612b08565b825550505050565b600090565b612bc2612bb5565b612bcd818484612b90565b505050565b5b81811015612bf157612be6600082612bba565b600181019050612bd3565b5050565b601f821115612c3657612c0781612ad6565b612c1084612aeb565b81016020851015612c1f578190505b612c33612c2b85612aeb565b830182612bd2565b50505b505050565b600082821c905092915050565b6000612c5960001984600802612c3b565b1980831691505092915050565b6000612c728383612c48565b9150826002028217905092915050565b612c8b82611df1565b67ffffffffffffffff811115612ca457612ca36127de565b5b612cae8254612507565b612cb9828285612bf5565b600060209050601f831160018114612cec5760008415612cda578287015190505b612ce48582612c66565b865550612d4c565b601f198416612cfa86612ad6565b60005b82811015612d2257848901518255600182019150602085019450602081019050612cfd565b86831015612d3f5784890151612d3b601f891682612c48565b8355505b6001600288020188555050505b505050505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612db0602483611dfc565b9150612dbb82612d54565b604082019050919050565b60006020820190508181036000830152612ddf81612da3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612e42602283611dfc565b9150612e4d82612de6565b604082019050919050565b60006020820190508181036000830152612e7181612e35565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000612eae601d83611dfc565b9150612eb982612e78565b602082019050919050565b60006020820190508181036000830152612edd81612ea1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612f40602583611dfc565b9150612f4b82612ee4565b604082019050919050565b60006020820190508181036000830152612f6f81612f33565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612fd2602383611dfc565b9150612fdd82612f76565b604082019050919050565b6000602082019050818103600083015261300181612fc5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000613064602683611dfc565b915061306f82613008565b604082019050919050565b6000602082019050818103600083015261309381613057565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006130d0601f83611dfc565b91506130db8261309a565b602082019050919050565b600060208201905081810360008301526130ff816130c3565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000613162602183611dfc565b915061316d82613106565b604082019050919050565b6000602082019050818103600083015261319181613155565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006131f4602283611dfc565b91506131ff82613198565b604082019050919050565b60006020820190508181036000830152613223816131e7565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613260602083611dfc565b915061326b8261322a565b602082019050919050565b6000602082019050818103600083015261328f81613253565b9050919050565b600081519050919050565b6000819050602082019050919050565b60006132bd825161206b565b80915050919050565b60006132d182613296565b826132db846132a1565b90506132e6816132b1565b92506020821015613326576133217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802612afb565b831692505b5050919050565b600060a0820190506133426000830188612075565b61334f6020830187612075565b61335c6040830186612075565b6133696060830185611fb7565b6133766080830184612232565b9695505050505050565b60006080820190506133956000830187612075565b6133a26020830186612041565b6133af6040830185612075565b6133bc6060830184612075565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b600061342a601883611dfc565b9150613435826133f4565b602082019050919050565b600060208201905081810360008301526134598161341d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000613496601f83611dfc565b91506134a182613460565b602082019050919050565b600060208201905081810360008301526134c581613489565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000613528602283611dfc565b9150613533826134cc565b604082019050919050565b600060208201905081810360008301526135578161351b565b905091905056fea2646970667358221220acb4af9fd1a9af0e103f44804371bb8c2c16952777db4fe5e9da8b842401398764736f6c63430008120033