60806040526032600555601e600655601460075560326008556003600d556003600e55600a600f55348015610032575f80fd5b50604051615b73380380615b7383398181016040528101906100549190610ae7565b6040518060400160405280601281526020017f54617861626c65205465737420546f6b656e00000000000000000000000000008152506040518060400160405280600781526020017f544158544553540000000000000000000000000000000000000000000000000081525081600390816100cf9190610d7c565b5080600490816100df9190610d7c565b5050505f6100f16104d660201b60201c565b600a6100fd9190610fb3565b856101089190610ffd565b90505f606460148361011a9190610ffd565b610124919061106b565b90505f60646050846101369190610ffd565b610140919061106b565b90503360125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160095f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506102de60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168587896104de60201b60201c565b61030f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836107b860201b60201c565b61031f84826107b860201b60201c565b8560105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161043c91906110aa565b60405180910390a360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516104c291906110aa565b60405180910390a350505050505050611153565b5f6012905090565b6001600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600b83908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b82908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b81908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b84908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610828575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161081f91906110d2565b60405180910390fd5b6108395f838361083d60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361088d578060025f82825461088191906110eb565b9250508190555061095b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610916578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161090d9392919061111e565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a2578060025f82825403925050819055506109ec565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a4991906110aa565b60405180910390a3505050565b5f80fd5b5f819050919050565b610a6c81610a5a565b8114610a76575f80fd5b50565b5f81519050610a8781610a63565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610ab682610a8d565b9050919050565b610ac681610aac565b8114610ad0575f80fd5b50565b5f81519050610ae181610abd565b92915050565b5f805f8060808587031215610aff57610afe610a56565b5b5f610b0c87828801610a79565b9450506020610b1d87828801610ad3565b9350506040610b2e87828801610ad3565b9250506060610b3f87828801610ad3565b91505092959194509250565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610bc657607f821691505b602082108103610bd957610bd8610b82565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610c3b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610c00565b610c458683610c00565b95508019841693508086168417925050509392505050565b5f819050919050565b5f610c80610c7b610c7684610a5a565b610c5d565b610a5a565b9050919050565b5f819050919050565b610c9983610c66565b610cad610ca582610c87565b848454610c0c565b825550505050565b5f90565b610cc1610cb5565b610ccc818484610c90565b505050565b5b81811015610cef57610ce45f82610cb9565b600181019050610cd2565b5050565b601f821115610d3457610d0581610bdf565b610d0e84610bf1565b81016020851015610d1d578190505b610d31610d2985610bf1565b830182610cd1565b50505b505050565b5f82821c905092915050565b5f610d545f1984600802610d39565b1980831691505092915050565b5f610d6c8383610d45565b9150826002028217905092915050565b610d8582610b4b565b67ffffffffffffffff811115610d9e57610d9d610b55565b5b610da88254610baf565b610db3828285610cf3565b5f60209050601f831160018114610de4575f8415610dd2578287015190505b610ddc8582610d61565b865550610e43565b601f198416610df286610bdf565b5f5b82811015610e1957848901518255600182019150602085019450602081019050610df4565b86831015610e365784890151610e32601f891682610d45565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610ecd57808604811115610ea957610ea8610e4b565b5b6001851615610eb85780820291505b8081029050610ec685610e78565b9450610e8d565b94509492505050565b5f82610ee55760019050610fa0565b81610ef2575f9050610fa0565b8160018114610f085760028114610f1257610f41565b6001915050610fa0565b60ff841115610f2457610f23610e4b565b5b8360020a915084821115610f3b57610f3a610e4b565b5b50610fa0565b5060208310610133831016604e8410600b8410161715610f765782820a905083811115610f7157610f70610e4b565b5b610fa0565b610f838484846001610e84565b92509050818404811115610f9a57610f99610e4b565b5b81810290505b9392505050565b5f60ff82169050919050565b5f610fbd82610a5a565b9150610fc883610fa7565b9250610ff57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610ed6565b905092915050565b5f61100782610a5a565b915061101283610a5a565b925082820261102081610a5a565b9150828204841483151761103757611036610e4b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61107582610a5a565b915061108083610a5a565b9250826110905761108f61103e565b5b828204905092915050565b6110a481610a5a565b82525050565b5f6020820190506110bd5f83018461109b565b92915050565b6110cc81610aac565b82525050565b5f6020820190506110e55f8301846110c3565b92915050565b5f6110f582610a5a565b915061110083610a5a565b925082820190508082111561111857611117610e4b565b5b92915050565b5f6060820190506111315f8301866110c3565b61113e602083018561109b565b61114b604083018461109b565b949350505050565b614a13806111605f395ff3fe608060405234801561000f575f80fd5b50600436106101e3575f3560e01c806355b6ed5c1161010d578063a9059cbb116100a0578063dc1052e21161006f578063dc1052e214610559578063dd62ed3e14610575578063ed12e8ef146105a5578063f2fde38b146105c3576101e3565b8063a9059cbb146104bf578063cc1776d3146104ef578063d4d7b19a1461050d578063d6117ed11461053d576101e3565b806382b98f9d116100dc57806382b98f9d146104495780638cd09d50146104675780638da5cb5b1461048357806395d89b41146104a1576101e3565b806355b6ed5c146103c357806370a08231146103f3578063715018a61461042357806379cc67901461042d576101e3565b806327e235e31161018557806342966c681161015457806342966c6814610361578063482199451461037d5780634d6822cb146103875780634f7041a5146103a5576101e3565b806327e235e3146102d95780632c18b02214610309578063313ce567146103275780633446e4b414610345576101e3565b806318cf08a2116101c157806318cf08a214610253578063227aa2771461026f57806323b872dd1461028b57806326d1c3d7146102bb576101e3565b806306fdde03146101e7578063095ea7b31461020557806318160ddd14610235575b5f80fd5b6101ef6105df565b6040516101fc9190613c39565b60405180910390f35b61021f600480360381019061021a9190613cea565b61066f565b60405161022c9190613d42565b60405180910390f35b61023d610691565b60405161024a9190613d6a565b60405180910390f35b61026d60048036038101906102689190613d83565b61069a565b005b61028960048036038101906102849190613dae565b6107fb565b005b6102a560048036038101906102a09190613dfe565b6108fd565b6040516102b29190613d42565b60405180910390f35b6102c36110a1565b6040516102d09190613d6a565b60405180910390f35b6102f360048036038101906102ee9190613d83565b6110a7565b6040516103009190613d6a565b60405180910390f35b6103116110bc565b60405161031e9190613d6a565b60405180910390f35b61032f6110c2565b60405161033c9190613e69565b60405180910390f35b61035f600480360381019061035a9190613e82565b6110ca565b005b61037b60048036038101906103769190613e82565b61119a565b005b6103856111ae565b005b61038f61133d565b60405161039c9190613d6a565b60405180910390f35b6103ad611343565b6040516103ba9190613d6a565b60405180910390f35b6103dd60048036038101906103d89190613ead565b611349565b6040516103ea9190613d6a565b60405180910390f35b61040d60048036038101906104089190613d83565b611369565b60405161041a9190613d6a565b60405180910390f35b61042b6113ae565b005b61044760048036038101906104429190613cea565b6114fa565b005b61045161151a565b60405161045e9190613d6a565b60405180910390f35b610481600480360381019061047c9190613e82565b611520565b005b61048b611641565b6040516104989190613efa565b60405180910390f35b6104a9611666565b6040516104b69190613c39565b60405180910390f35b6104d960048036038101906104d49190613cea565b6116f6565b6040516104e69190613d42565b60405180910390f35b6104f7611cc2565b6040516105049190613d6a565b60405180910390f35b61052760048036038101906105229190613d83565b611cc8565b6040516105349190613d42565b60405180910390f35b61055760048036038101906105529190613e82565b611ce5565b005b610573600480360381019061056e9190613e82565b611e06565b005b61058f600480360381019061058a9190613ead565b611f27565b60405161059c9190613d6a565b60405180910390f35b6105ad611fa9565b6040516105ba9190613d6a565b60405180910390f35b6105dd60048036038101906105d89190613d83565b61200e565b005b6060600380546105ee90613f40565b80601f016020809104026020016040519081016040528092919081815260200182805461061a90613f40565b80156106655780601f1061063c57610100808354040283529160200191610665565b820191905f5260205f20905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b5f806106796121c9565b90506106868185856121d0565b600191505092915050565b5f600254905090565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072090613fe0565b60405180910390fd5b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107af9061406e565b60405180910390fd5b8060145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461088a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088190613fe0565b60405180910390fd5b606481838561089991906140b9565b6108a391906140b9565b146108e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108da90614136565b60405180910390fd5b826005819055508160068190555080600781905550505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361096c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109639061419e565b60405180910390fd5b8160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156109ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e390614206565b60405180910390fd5b81600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e9061426e565b60405180910390fd5b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b4e575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610ba5575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80610bfc575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b15610db7578160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610c4d919061428c565b925050819055508160095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ca091906140b9565b9250508190555081600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610d2e919061428c565b92505081905550610d3e836121e2565b610d49848484612333565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610da69190613d6a565b60405180910390a36001905061109a565b5f6064600d5484610dc891906142bf565b610dd2919061432d565b90505f8184610de1919061428c565b90508360095f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e2f919061428c565b925050819055508060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610e8291906140b9565b925050819055508160095f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610ef691906140b9565b9250508190555083600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610f84919061428c565b92505081905550610f94856121e2565b610f9d86612423565b610fa8868683612333565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110059190613d6a565b60405180910390a360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f5d37fd68fe66745a199f8c603e00ae02183f4aabb8ec0089589b0b40c4ead5e18460405161108b9190613d6a565b60405180910390a36001925050505b9392505050565b60055481565b6009602052805f5260405f205f915090505481565b60065481565b5f6012905090565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611159576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115090613fe0565b60405180910390fd5b80600f819055507fee091bcfa3ce1f1aa8c13cad30c1bd18750c3345aebab4ad12dd7316b0fa8b488160405161118f9190613d6a565b60405180910390a150565b6111ab6111a56121c9565b8261273e565b50565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611255575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611294576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128b906143cd565b60405180910390fd5b5f61129d6127bd565b90505f805f6112ab84612d23565b9250925092505f805f806112c38751875187516132cf565b93509350935093506112d587856133e7565b6112df86846133e7565b6112e985836133e7565b6112f281613621565b7f7ba5a62deef7afbadce8f5a20a7094cd288bc457ac2e254c797968fd418c18da87858886898760405161132b969594939291906144a2565b60405180910390a15050505050505050565b60075481565b600d5481565b600a602052815f5260405f20602052805f5260405f205f91509150505481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490613fe0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61150c826115066121c9565b8361370c565b611516828261273e565b5050565b60085481565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a690613fe0565b60405180910390fd5b600181101580156115c1575060648111155b611600576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f790614586565b60405180910390fd5b80600e819055507fa6255338a5f732d64ceba7f4c18182567f9d1067eb984b46d478b37d72a52d11816040516116369190613d6a565b60405180910390a150565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606004805461167590613f40565b80601f01602080910402602001604051908101604052809291908181526020018280546116a190613f40565b80156116ec5780601f106116c3576101008083540402835291602001916116ec565b820191905f5260205f20905b8154815290600101906020018083116116cf57829003601f168201915b5050505050905090565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611765576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175c9061419e565b60405180910390fd5b8160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156117e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dc90614206565b60405180910390fd5b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061188c575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806118e3575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b8061193a575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15611a67578160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461198b919061428c565b925050819055508160095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546119de91906140b9565b925050819055506119ee836121e2565b6119f9338484612333565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611a569190613d6a565b60405180910390a360019050611cbc565b5f6064600e5484611a7891906142bf565b611a82919061432d565b90505f8184611a91919061428c565b90508360095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611adf919061428c565b925050819055508060095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611b3291906140b9565b925050819055508160095f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611ba691906140b9565b92505081905550611bb6856121e2565b611bbf33612423565b611bca338683612333565b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c279190613d6a565b60405180910390a360105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f5d37fd68fe66745a199f8c603e00ae02183f4aabb8ec0089589b0b40c4ead5e184604051611cad9190613d6a565b60405180910390a36001925050505b92915050565b600e5481565b600c602052805f5260405f205f915054906101000a900460ff1681565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b90613fe0565b60405180910390fd5b60018110158015611d86575060648111155b611dc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbc90614586565b60405180910390fd5b806008819055507fe61db5f154fe1c4c549dc2557e8c4981d953f387285fe995036b437bb41dff1581604051611dfb9190613d6a565b60405180910390a150565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8c90613fe0565b60405180910390fd5b60018110158015611ea7575060648111155b611ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edd90614586565b60405180910390fd5b80600d819055507f7a758dc8e99047b028278b3e2ff1416d8493a7aacee7a5dc30b6bf93270eccce81604051611f1c9190613d6a565b60405180910390a150565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f60095f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905090565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461209d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209490613fe0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361210b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210290614614565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b6121dd838383600161379e565b505050565b600c5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561227557505f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054115b15612330576001600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600b81908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036123a3575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161239a9190613efa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612413575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161240a9190613efa565b60405180910390fd5b61241e83838361396d565b505050565b5f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541480156124b55750600c5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561250e575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015612567575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b1561273b575f600c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f5b600b80549050811015612739578173ffffffffffffffffffffffffffffffffffffffff16600b82815481106125fa576125f9614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361272c57600b6001600b80549050612651919061428c565b8154811061266257612661614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b828154811061269e5761269d614632565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b8054806126f5576126f461465f565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055612739565b80806001019150506125c2565b505b50565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036127ae575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016127a59190613efa565b60405180910390fd5b6127b9825f8361396d565b5050565b60605f600b8054905090505f811161280a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612801906146d6565b60405180910390fd5b5f60646008548361281b91906142bf565b612825919061432d565b9050600381101561283557600390505b5f8167ffffffffffffffff8111156128505761284f6146f4565b5b60405190808252806020026020018201604052801561287e5781602001602082028036833780820191505090505b5090505f8367ffffffffffffffff81111561289c5761289b6146f4565b5b6040519080825280602002602001820160405280156128ca5781602001602082028036833780820191505090505b5090505f805f606490505f5b86841080156128e457508181105b15612cd3575f6128f4848a613b86565b905085818151811061290957612908614632565b5b60200260200101511580156129985750600f5460095f600b848154811061293357612932614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b8015612a2c575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b82815481106129eb576129ea614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612ac0575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b8281548110612a7f57612a7e614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612b54575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b8281548110612b1357612b12614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b8015612be8575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b8281548110612ba757612ba6614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b15612cb057600b8181548110612c0157612c00614632565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16878681518110612c3c57612c3b614632565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001868281518110612c8b57612c8a614632565b5b6020026020010190151590811515815250508480612ca890614721565b955050612cbf565b8180612cbb90614721565b9250505b8380612cca90614721565b945050506128d6565b868414612d15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0c906147b2565b60405180910390fd5b859850505050505050505090565b60608060605f845167ffffffffffffffff811115612d4457612d436146f4565b5b604051908082528060200260200182016040528015612d725781602001602082028036833780820191505090505b5090505f5b8551811015612e045760095f878381518110612d9657612d95614632565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054828281518110612deb57612dea614632565b5b6020026020010181815250508080600101915050612d77565b505f5b8551811015612fc2575f600182612e1e91906140b9565b90505b8651811015612fb457828181518110612e3d57612e3c614632565b5b6020026020010151838381518110612e5857612e57614632565b5b60200260200101511015612fa757828181518110612e7957612e78614632565b5b6020026020010151838381518110612e9457612e93614632565b5b6020026020010151848481518110612eaf57612eae614632565b5b60200260200101858481518110612ec957612ec8614632565b5b6020026020010182815250828152505050868181518110612eed57612eec614632565b5b6020026020010151878381518110612f0857612f07614632565b5b6020026020010151888481518110612f2357612f22614632565b5b60200260200101898481518110612f3d57612f3c614632565b5b602002602001018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152508273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050505b8080600101915050612e21565b508080600101915050612e07565b505f6064600f8751612fd491906142bf565b612fde919061432d565b90505f606460238851612ff191906142bf565b612ffb919061432d565b90505f82148061300a57505f81145b156130185760019150600190505b5f81838951613027919061428c565b613031919061428c565b90505f8367ffffffffffffffff81111561304e5761304d6146f4565b5b60405190808252806020026020018201604052801561307c5781602001602082028036833780820191505090505b5090505f8367ffffffffffffffff81111561309a576130996146f4565b5b6040519080825280602002602001820160405280156130c85781602001602082028036833780820191505090505b5090505f8367ffffffffffffffff8111156130e6576130e56146f4565b5b6040519080825280602002602001820160405280156131145781602001602082028036833780820191505090505b5090505f5b86811015613196578b818151811061313457613133614632565b5b602002602001015184828151811061314f5761314e614632565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050613119565b505f5b85811015613221578b81886131ae91906140b9565b815181106131bf576131be614632565b5b60200260200101518382815181106131da576131d9614632565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050613199565b505f5b848110156132b7578b81878961323a91906140b9565b61324491906140b9565b8151811061325557613254614632565b5b60200260200101518282815181106132705761326f614632565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050613224565b50828282995099509950505050505050509193909250565b5f805f805f60095f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f606482613343919061432d565b90505f8183613352919061428c565b90505f8a60646005548461336691906142bf565b613370919061432d565b61337a919061432d565b90505f8a60646006548561338e91906142bf565b613398919061432d565b6133a2919061432d565b90505f8a6064600754866133b691906142bf565b6133c0919061432d565b6133ca919061432d565b905082828287995099509950995050505050505093509350935093565b5f82511161342a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161342190614840565b60405180910390fd5b5f5b825181101561361c575f83828151811061344957613448614632565b5b602002602001015190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036134c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134b8906148a8565b60405180910390fd5b8260095f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461352e919061428c565b925050819055508260095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461358191906140b9565b925050819055508073ffffffffffffffffffffffffffffffffffffffff1660105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516136069190613d6a565b60405180910390a350808060010191505061342c565b505050565b8060095f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461368e919061428c565b925050819055508060095f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461370291906140b9565b9250508190555050565b5f6137178484611f27565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146137985781811015613789578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401613780939291906148c6565b60405180910390fd5b61379784848484035f61379e565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361380e575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016138059190613efa565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361387e575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016138759190613efa565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015613967578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161395e9190613d6a565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036139bd578060025f8282546139b191906140b9565b92505081905550613a8b565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015613a46578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401613a3d939291906148c6565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613ad2578060025f8282540392505081905550613b1c565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b799190613d6a565b60405180910390a3505050565b5f8142443386604051602001613b9f9493929190614960565b604051602081830303815290604052805190602001205f1c613bc191906149ad565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f613c0b82613bc9565b613c158185613bd3565b9350613c25818560208601613be3565b613c2e81613bf1565b840191505092915050565b5f6020820190508181035f830152613c518184613c01565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613c8682613c5d565b9050919050565b613c9681613c7c565b8114613ca0575f80fd5b50565b5f81359050613cb181613c8d565b92915050565b5f819050919050565b613cc981613cb7565b8114613cd3575f80fd5b50565b5f81359050613ce481613cc0565b92915050565b5f8060408385031215613d0057613cff613c59565b5b5f613d0d85828601613ca3565b9250506020613d1e85828601613cd6565b9150509250929050565b5f8115159050919050565b613d3c81613d28565b82525050565b5f602082019050613d555f830184613d33565b92915050565b613d6481613cb7565b82525050565b5f602082019050613d7d5f830184613d5b565b92915050565b5f60208284031215613d9857613d97613c59565b5b5f613da584828501613ca3565b91505092915050565b5f805f60608486031215613dc557613dc4613c59565b5b5f613dd286828701613cd6565b9350506020613de386828701613cd6565b9250506040613df486828701613cd6565b9150509250925092565b5f805f60608486031215613e1557613e14613c59565b5b5f613e2286828701613ca3565b9350506020613e3386828701613ca3565b9250506040613e4486828701613cd6565b9150509250925092565b5f60ff82169050919050565b613e6381613e4e565b82525050565b5f602082019050613e7c5f830184613e5a565b92915050565b5f60208284031215613e9757613e96613c59565b5b5f613ea484828501613cd6565b91505092915050565b5f8060408385031215613ec357613ec2613c59565b5b5f613ed085828601613ca3565b9250506020613ee185828601613ca3565b9150509250929050565b613ef481613c7c565b82525050565b5f602082019050613f0d5f830184613eeb565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680613f5757607f821691505b602082108103613f6a57613f69613f13565b5b50919050565b7f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f5f8201527f6e00000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fca602183613bd3565b9150613fd582613f70565b604082019050919050565b5f6020820190508181035f830152613ff781613fbe565b9050919050565b7f4f6e6c79206f776e65722063616e20736574207468652054696d657220636f6e5f8201527f7472616374000000000000000000000000000000000000000000000000000000602082015250565b5f614058602583613bd3565b915061406382613ffe565b604082019050919050565b5f6020820190508181035f8301526140858161404c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6140c382613cb7565b91506140ce83613cb7565b92508282019050808211156140e6576140e561408c565b5b92915050565b7f546f74616c2070657263656e74616765206d75737420626520313030000000005f82015250565b5f614120601c83613bd3565b915061412b826140ec565b602082019050919050565b5f6020820190508181035f83015261414d81614114565b9050919050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f614188600f83613bd3565b915061419382614154565b602082019050919050565b5f6020820190508181035f8301526141b58161417c565b9050919050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6141f0601483613bd3565b91506141fb826141bc565b602082019050919050565b5f6020820190508181035f83015261421d816141e4565b9050919050565b7f416c6c6f77616e636520657863656564656400000000000000000000000000005f82015250565b5f614258601283613bd3565b915061426382614224565b602082019050919050565b5f6020820190508181035f8301526142858161424c565b9050919050565b5f61429682613cb7565b91506142a183613cb7565b92508282039050818111156142b9576142b861408c565b5b92915050565b5f6142c982613cb7565b91506142d483613cb7565b92508282026142e281613cb7565b915082820484148315176142f9576142f861408c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61433782613cb7565b915061434283613cb7565b92508261435257614351614300565b5b828204905092915050565b7f4f6e6c79206f776e6572206f722054696d657220636f6e74726163742063616e5f8201527f2063616c6c20746869732066756e6374696f6e00000000000000000000000000602082015250565b5f6143b7603383613bd3565b91506143c28261435d565b604082019050919050565b5f6020820190508181035f8301526143e4816143ab565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61441d81613c7c565b82525050565b5f61442e8383614414565b60208301905092915050565b5f602082019050919050565b5f614450826143eb565b61445a81856143f5565b935061446583614405565b805f5b8381101561449557815161447c8882614423565b97506144878361443a565b925050600181019050614468565b5085935050505092915050565b5f60c0820190508181035f8301526144ba8189614446565b90506144c96020830188613d5b565b81810360408301526144db8187614446565b90506144ea6060830186613d5b565b81810360808301526144fc8185614446565b905061450b60a0830184613d5b565b979650505050505050565b7f50657263656e74616765206d757374206265206265747765656e203120616e645f8201527f2031303000000000000000000000000000000000000000000000000000000000602082015250565b5f614570602483613bd3565b915061457b82614516565b604082019050919050565b5f6020820190508181035f83015261459d81614564565b9050919050565b7f4e6577206f776e65722063616e6e6f7420626520746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6145fe602483613bd3565b9150614609826145a4565b604082019050919050565b5f6020820190508181035f83015261462b816145f2565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4e6f20746f6b656e20686f6c6465727320746f207069636b2066726f6d0000005f82015250565b5f6146c0601d83613bd3565b91506146cb8261468c565b602082019050919050565b5f6020820190508181035f8301526146ed816146b4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f61472b82613cb7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361475d5761475c61408c565b5b600182019050919050565b7f4661696c656420746f207069636b20656e6f7567682077696e6e6572730000005f82015250565b5f61479c601d83613bd3565b91506147a782614768565b602082019050919050565b5f6020820190508181035f8301526147c981614790565b9050919050565b7f47726f75702073697a65206d7573742062652067726561746572207468616e205f8201527f7a65726f00000000000000000000000000000000000000000000000000000000602082015250565b5f61482a602483613bd3565b9150614835826147d0565b604082019050919050565b5f6020820190508181035f8301526148578161481e565b9050919050565b7f496e76616c696420726563697069656e742061646472657373000000000000005f82015250565b5f614892601983613bd3565b915061489d8261485e565b602082019050919050565b5f6020820190508181035f8301526148bf81614886565b9050919050565b5f6060820190506148d95f830186613eeb565b6148e66020830185613d5b565b6148f36040830184613d5b565b949350505050565b5f819050919050565b61491561491082613cb7565b6148fb565b82525050565b5f8160601b9050919050565b5f6149318261491b565b9050919050565b5f61494282614927565b9050919050565b61495a61495582613c7c565b614938565b82525050565b5f61496b8287614904565b60208201915061497b8286614904565b60208201915061498b8285614949565b60148201915061499b8284614904565b60208201915081905095945050505050565b5f6149b782613cb7565b91506149c283613cb7565b9250826149d2576149d1614300565b5b82820690509291505056fea2646970667358221220726b65fdac62afa3e4de48f62ba5f7b69578c9c700cb947a8dbf3dd254b478a064736f6c634300081a003300000000000000000000000000000000000000000000000000000000000007d000000000000000000000000027378dda622da1c7c62ceffe8f3f713263d36eda00000000000000000000000027378dda622da1c7c62ceffe8f3f713263d36eda00000000000000000000000027378dda622da1c7c62ceffe8f3f713263d36eda