61010060405269054b40b1f852bda0000060025569152d02c7e14af6800000600355600269152d02c7e14af68000006200003a9190620009a0565b600955600269152d02c7e14af6800000620000569190620009a0565b600a553480156200006657600080fd5b506000620000796200095f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d3919062000a55565b73ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505060196004819055506019600581905550600060068190555060805173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000292919062000a55565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060c0516040518363ffffffff1660e01b8152600401620002d092919062000a98565b6020604051808303816000875af1158015620002f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000316919062000a55565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250503373ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506a084595161401484a000000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600060a05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c600060e05173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600060805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008e76200095f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a00000060405162000951919062000ad6565b60405180910390a362000af3565b600033905090565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620009ad8262000967565b9150620009ba8362000967565b9250828202620009ca8162000967565b91508282048414831517620009e457620009e362000971565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a1d82620009f0565b9050919050565b62000a2f8162000a10565b811462000a3b57600080fd5b50565b60008151905062000a4f8162000a24565b92915050565b60006020828403121562000a6e5762000a6d620009eb565b5b600062000a7e8482850162000a3e565b91505092915050565b62000a928162000a10565b82525050565b600060408201905062000aaf600083018562000a87565b62000abe602083018462000a87565b9392505050565b62000ad08162000967565b82525050565b600060208201905062000aed600083018462000ac5565b92915050565b60805160a05160c05160e05161366c62000b496000396000611ebe01526000611e0f015260008181610a1501528181611bc80152611c32015260008181611e7e01528181611f3b0152611fe0015261366c6000f3fe6080604052600436106101c65760003560e01c8063751039fc116100f7578063aa4bde2811610095578063dba9d42011610064578063dba9d42014610605578063dd62ed3e1461062e578063e5cd8b6a1461066b578063f2fde38b14610682576101cd565b8063aa4bde281461056f578063aca1f1571461059a578063c9567bf9146105c3578063cc1776d3146105da576101cd565b80638da5cb5b116100d15780638da5cb5b146104b357806395d89b41146104de578063974ea01e14610509578063a9059cbb14610532576101cd565b8063751039fc14610448578063778c61521461045f5780638c0b5e2214610488576101cd565b806341e1259d1161016457806355811acc1161013e57806355811acc146103a05780636f9fb98a146103c957806370a08231146103f4578063715018a614610431576101cd565b806341e1259d1461032157806349bd5a5e1461034a5780634f7041a514610375576101cd565b806318160ddd116101a057806318160ddd146102635780631de3b4501461028e57806323b872dd146102b9578063313ce567146102f6576101cd565b806306fdde03146101d2578063095ea7b3146101fd5780630b006d601461023a576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ab565b6040516101f491906125b9565b60405180910390f35b34801561020957600080fd5b50610224600480360381019061021f9190612679565b6106e8565b60405161023191906126d4565b60405180910390f35b34801561024657600080fd5b50610261600480360381019061025c91906126ef565b610706565b005b34801561026f57600080fd5b506102786107fd565b604051610285919061272b565b60405180910390f35b34801561029a57600080fd5b506102a3610810565b6040516102b0919061272b565b60405180910390f35b3480156102c557600080fd5b506102e060048036038101906102db9190612746565b610816565b6040516102ed91906126d4565b60405180910390f35b34801561030257600080fd5b5061030b6108ce565b60405161031891906127b5565b60405180910390f35b34801561032d57600080fd5b50610348600480360381019061034391906126ef565b6108d7565b005b34801561035657600080fd5b5061035f610a13565b60405161036c91906127df565b60405180910390f35b34801561038157600080fd5b5061038a610a37565b604051610397919061272b565b60405180910390f35b3480156103ac57600080fd5b506103c760048036038101906103c291906126ef565b610a3d565b005b3480156103d557600080fd5b506103de610b79565b6040516103eb919061272b565b60405180910390f35b34801561040057600080fd5b5061041b600480360381019061041691906127fa565b610b81565b604051610428919061272b565b60405180910390f35b34801561043d57600080fd5b50610446610bca565b005b34801561045457600080fd5b5061045d610d1d565b005b34801561046b57600080fd5b50610486600480360381019061048191906126ef565b610dd8565b005b34801561049457600080fd5b5061049d610ecf565b6040516104aa919061272b565b60405180910390f35b3480156104bf57600080fd5b506104c8610ed5565b6040516104d591906127df565b60405180910390f35b3480156104ea57600080fd5b506104f3610efe565b60405161050091906125b9565b60405180910390f35b34801561051557600080fd5b50610530600480360381019061052b9190612827565b610f3b565b005b34801561053e57600080fd5b5061055960048036038101906105549190612679565b611064565b60405161056691906126d4565b60405180910390f35b34801561057b57600080fd5b50610584611082565b604051610591919061272b565b60405180910390f35b3480156105a657600080fd5b506105c160048036038101906105bc91906128df565b611088565b005b3480156105cf57600080fd5b506105d86111ad565b005b3480156105e657600080fd5b506105ef611267565b6040516105fc919061272b565b60405180910390f35b34801561061157600080fd5b5061062c600480360381019061062791906127fa565b61126d565b005b34801561063a57600080fd5b506106556004803603810190610650919061292c565b6113b5565b604051610662919061272b565b60405180910390f35b34801561067757600080fd5b5061068061143c565b005b34801561068e57600080fd5b506106a960048036038101906106a491906127fa565b611578565b005b60606040518060400160405280600c81526020017f477561726469616e20446f670000000000000000000000000000000000000000815250905090565b60006106fc6106f5611619565b8484611621565b6001905092915050565b61070e611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461079b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610792906129b8565b60405180910390fd5b606381106107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590612a24565b60405180910390fd5b69021e19e0c9bab2400000816107f49190612a73565b600a8190555050565b60006a084595161401484a000000905090565b60065481565b60006108238484846117ea565b6108c38461082f611619565b84600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610879611619565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546108be9190612ab5565b611621565b600190509392505050565b60006012905090565b6108df611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610963906129b8565b60405180910390fd5b6103e781106109b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a790612b5b565b60405180910390fd5b60035481106109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90612bed565b60405180910390fd5b69021e19e0c9bab240000081610a0a9190612a73565b60028190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60045481565b610a45611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac9906129b8565b60405180910390fd5b6103e78110610b16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0d90612c7f565b60405180910390fd5b6002548111610b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5190612d11565b60405180910390fd5b69021e19e0c9bab240000081610b709190612a73565b60038190555050565b600047905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610bd2611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c56906129b8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d25611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610db2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da9906129b8565b60405180910390fd5b6a084595161401484a0000006009819055506a084595161401484a000000600a81905550565b610de0611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e64906129b8565b60405180910390fd5b60638110610eb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea790612d7d565b60405180910390fd5b69021e19e0c9bab240000081610ec69190612a73565b60098190555050565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4d696c616e000000000000000000000000000000000000000000000000000000815250905090565b610f43611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc7906129b8565b60405180910390fd5b605a831080610fdf5750605a82105b80610fea5750605a81105b8061100b5750605a818385610fff9190612d9d565b6110099190612d9d565b105b61104a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104190612e1d565b60405180910390fd5b826004819055508160058190555080600681905550505050565b6000611078611071611619565b84846117ea565b6001905092915050565b600a5481565b611090611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461111d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611114906129b8565b60405180910390fd5b60005b828290508110156111a8576000600b600085858581811061114457611143612e3d565b5b905060200201602081019061115991906127fa565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806111a190612e6c565b9050611120565b505050565b6111b5611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611239906129b8565b60405180910390fd5b6001600760006101000a81548160ff021916908360ff16021790555043600881905550565b60055481565b611275611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f9906129b8565b60405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611444611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c8906129b8565b60405180910390fd5b60006114db610b79565b1161151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290612f00565b60405180910390fd5b6000611525610b79565b905061152f610ed5565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611574573d6000803e3d6000fd5b5050565b611580611619565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461160d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611604906129b8565b60405180910390fd5b611616816123fd565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611690576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168790612f92565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f690613024565b60405180910390fd5b80600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117dd919061272b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611859576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611850906130b6565b60405180910390fd5b633b9aca00811161189f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189690613122565b60405180910390fd5b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119425750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561195057600090506120dd565b6000600760009054906101000a900460ff1660ff161415801561197557506009548211155b6119b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ab906131b4565b60405180910390fd5b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611a9557600a5482600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a539190612d9d565b1115611a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8b90613220565b60405180910390fd5b5b6001600760019054906101000a900460ff1660ff1603611bc65781600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611afe9190612ab5565b9250508190555081600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b549190612d9d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611bb8919061272b565b60405180910390a3506123f8565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611c3057600654600454611c299190612d9d565b90506120dc565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120d6576000600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060025481118015611cea57506000600760019054906101000a900460ff1660ff16145b156120be57600354811115611cff5760035490505b60006006546002600554600454611d169190612d9d565b611d20919061326f565b611d2a9190612d9d565b60065483611d389190612a73565b611d42919061326f565b905060008183611d529190612ab5565b90506001600760016101000a81548160ff021916908360ff1602179055506000600267ffffffffffffffff811115611d8d57611d8c6132a0565b5b604051908082528060200260200182016040528015611dbb5781602001602082028036833780820191505090505b5090503081600081518110611dd357611dd2612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110611e4257611e41612e3d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947836000847f0000000000000000000000000000000000000000000000000000000000000000426040518663ffffffff1660e01b8152600401611efe959493929190613427565b600060405180830381600087803b158015611f1857600080fd5b505af1158015611f2c573d6000803e3d6000fd5b50505050600083111561209e577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947600285611f82919061326f565b60008430426040518663ffffffff1660e01b8152600401611fa7959493929190613481565b600060405180830381600087803b158015611fc157600080fd5b505af1158015611fd5573d6000803e3d6000fd5b5050505060004790507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230600288612029919061326f565b600080612034610ed5565b426040518863ffffffff1660e01b8152600401612056969594939291906134db565b60606040518083038185885af1158015612074573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120999190613551565b505050505b6000600760016101000a81548160ff021916908360ff1602179055505050505b6006546005546120ce9190612d9d565b9150506120db565b600090505b5b5b600081146122e4576000606482846120f59190612a73565b6120ff919061326f565b90506000818461210f9190612ab5565b905083600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121609190612ab5565b9250508190555080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121b69190612d9d565b9250508190555081600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461220c9190612d9d565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612270919061272b565b60405180910390a38473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122d5919061272b565b60405180910390a350506123f6565b81600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123339190612ab5565b9250508190555081600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546123899190612d9d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123ed919061272b565b60405180910390a35b505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361246c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246390613616565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612563578082015181840152602081019050612548565b60008484015250505050565b6000601f19601f8301169050919050565b600061258b82612529565b6125958185612534565b93506125a5818560208601612545565b6125ae8161256f565b840191505092915050565b600060208201905081810360008301526125d38184612580565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612610826125e5565b9050919050565b61262081612605565b811461262b57600080fd5b50565b60008135905061263d81612617565b92915050565b6000819050919050565b61265681612643565b811461266157600080fd5b50565b6000813590506126738161264d565b92915050565b600080604083850312156126905761268f6125db565b5b600061269e8582860161262e565b92505060206126af85828601612664565b9150509250929050565b60008115159050919050565b6126ce816126b9565b82525050565b60006020820190506126e960008301846126c5565b92915050565b600060208284031215612705576127046125db565b5b600061271384828501612664565b91505092915050565b61272581612643565b82525050565b6000602082019050612740600083018461271c565b92915050565b60008060006060848603121561275f5761275e6125db565b5b600061276d8682870161262e565b935050602061277e8682870161262e565b925050604061278f86828701612664565b9150509250925092565b600060ff82169050919050565b6127af81612799565b82525050565b60006020820190506127ca60008301846127a6565b92915050565b6127d981612605565b82525050565b60006020820190506127f460008301846127d0565b92915050565b6000602082840312156128105761280f6125db565b5b600061281e8482850161262e565b91505092915050565b6000806000606084860312156128405761283f6125db565b5b600061284e86828701612664565b935050602061285f86828701612664565b925050604061287086828701612664565b9150509250925092565b600080fd5b600080fd5b600080fd5b60008083601f84011261289f5761289e61287a565b5b8235905067ffffffffffffffff8111156128bc576128bb61287f565b5b6020830191508360208202830111156128d8576128d7612884565b5b9250929050565b600080602083850312156128f6576128f56125db565b5b600083013567ffffffffffffffff811115612914576129136125e0565b5b61292085828601612889565b92509250509250929050565b60008060408385031215612943576129426125db565b5b60006129518582860161262e565b92505060206129628582860161262e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129a2602083612534565b91506129ad8261296c565b602082019050919050565b600060208201905081810360008301526129d181612995565b9050919050565b7f4d61782077616c6c65742063616e6e6f742062652061626f7665203939250000600082015250565b6000612a0e601e83612534565b9150612a19826129d8565b602082019050919050565b60006020820190508181036000830152612a3d81612a01565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612a7e82612643565b9150612a8983612643565b9250828202612a9781612643565b91508282048414831517612aae57612aad612a44565b5b5092915050565b6000612ac082612643565b9150612acb83612643565b9250828203905081811115612ae357612ae2612a44565b5b92915050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000612b45602383612534565b9150612b5082612ae9565b604082019050919050565b60006020820190508181036000830152612b7481612b38565b9050919050565b7f4d696e20537761702063616e6e6f742062652067726561746572207468616e2060008201527f6d61782073776170000000000000000000000000000000000000000000000000602082015250565b6000612bd7602883612534565b9150612be282612b7b565b604082019050919050565b60006020820190508181036000830152612c0681612bca565b9050919050565b7f4d617820537761702063616e6e6f742062652067726561746572207468616e2060008201527f3939250000000000000000000000000000000000000000000000000000000000602082015250565b6000612c69602383612534565b9150612c7482612c0d565b604082019050919050565b60006020820190508181036000830152612c9881612c5c565b9050919050565b7f4d617820537761702063616e6e6f74206265206c657373207468616e206d696e60008201527f2073776170000000000000000000000000000000000000000000000000000000602082015250565b6000612cfb602583612534565b9150612d0682612c9f565b604082019050919050565b60006020820190508181036000830152612d2a81612cee565b9050919050565b7f4d61782054782063616e6e6f742062652061626f766520393925000000000000600082015250565b6000612d67601a83612534565b9150612d7282612d31565b602082019050919050565b60006020820190508181036000830152612d9681612d5a565b9050919050565b6000612da882612643565b9150612db383612643565b9250828201905080821115612dcb57612dca612a44565b5b92915050565b7f43616e6e6f74207365742074617865732061626f766520393025000000000000600082015250565b6000612e07601a83612534565b9150612e1282612dd1565b602082019050919050565b60006020820190508181036000830152612e3681612dfa565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612e7782612643565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ea957612ea8612a44565b5b600182019050919050565b7f4e6f2062616c616e636520746f20776974686472617700000000000000000000600082015250565b6000612eea601683612534565b9150612ef582612eb4565b602082019050919050565b60006020820190508181036000830152612f1981612edd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f7c602483612534565b9150612f8782612f20565b604082019050919050565b60006020820190508181036000830152612fab81612f6f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061300e602283612534565b915061301982612fb2565b604082019050919050565b6000602082019050818103600083015261303d81613001565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006130a0602583612534565b91506130ab82613044565b604082019050919050565b600060208201905081810360008301526130cf81613093565b9050919050565b7f4d696e207472616e7366657220616d7400000000000000000000000000000000600082015250565b600061310c601083612534565b9150613117826130d6565b602082019050919050565b6000602082019050818103600083015261313b816130ff565b9050919050565b7f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e60008201527f6368000000000000000000000000000000000000000000000000000000000000602082015250565b600061319e602283612534565b91506131a982613142565b604082019050919050565b600060208201905081810360008301526131cd81613191565b9050919050565b7f45786365656473206d61782077616c6c65742062616c616e6365000000000000600082015250565b600061320a601a83612534565b9150613215826131d4565b602082019050919050565b60006020820190508181036000830152613239816131fd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061327a82612643565b915061328583612643565b92508261329557613294613240565b5b828204905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000819050919050565b6000819050919050565b60006132fe6132f96132f4846132cf565b6132d9565b612643565b9050919050565b61330e816132e3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61334981612605565b82525050565b600061335b8383613340565b60208301905092915050565b6000602082019050919050565b600061337f82613314565b613389818561331f565b935061339483613330565b8060005b838110156133c55781516133ac888261334f565b97506133b783613367565b925050600181019050613398565b5085935050505092915050565b60006133ed6133e86133e3846125e5565b6132d9565b6125e5565b9050919050565b60006133ff826133d2565b9050919050565b6000613411826133f4565b9050919050565b61342181613406565b82525050565b600060a08201905061343c600083018861271c565b6134496020830187613305565b818103604083015261345b8186613374565b905061346a6060830185613418565b613477608083018461271c565b9695505050505050565b600060a082019050613496600083018861271c565b6134a36020830187613305565b81810360408301526134b58186613374565b90506134c460608301856127d0565b6134d1608083018461271c565b9695505050505050565b600060c0820190506134f060008301896127d0565b6134fd602083018861271c565b61350a6040830187613305565b6135176060830186613305565b61352460808301856127d0565b61353160a083018461271c565b979650505050505050565b60008151905061354b8161264d565b92915050565b60008060006060848603121561356a576135696125db565b5b60006135788682870161353c565b93505060206135898682870161353c565b925050604061359a8682870161353c565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613600602683612534565b915061360b826135a4565b604082019050919050565b6000602082019050818103600083015261362f816135f3565b905091905056fea2646970667358221220ab6a48702771ea92f5584b877248cc65bfebe7053290eb74fb33c71519342caf64736f6c63430008120033