60c06040523480156200001157600080fd5b50604051620063c5380380620063c5833981810160405281019062000037919062000468565b8062000049816200018d60201b60201c565b506200006a6200005e620001a260201b60201c565b620001aa60201b60201c565b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050826005600060028110620000eb57620000ea6200050f565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160056001600281106200014357620001426200050f565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505062000870565b80600290816200019e919062000789565b5050565b600033905090565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002b18262000284565b9050919050565b620002c381620002a4565b8114620002cf57600080fd5b50565b600081519050620002e381620002b8565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200033e82620002f3565b810181811067ffffffffffffffff8211171562000360576200035f62000304565b5b80604052505050565b60006200037562000270565b905062000383828262000333565b919050565b600067ffffffffffffffff821115620003a657620003a562000304565b5b620003b182620002f3565b9050602081019050919050565b60005b83811015620003de578082015181840152602081019050620003c1565b60008484015250505050565b600062000401620003fb8462000388565b62000369565b90508281526020810184848401111562000420576200041f620002ee565b5b6200042d848285620003be565b509392505050565b600082601f8301126200044d576200044c620002e9565b5b81516200045f848260208601620003ea565b91505092915050565b600080600080600060a086880312156200048757620004866200027a565b5b60006200049788828901620002d2565b9550506020620004aa88828901620002d2565b9450506040620004bd88828901620002d2565b9350506060620004d088828901620002d2565b925050608086015167ffffffffffffffff811115620004f457620004f36200027f565b5b620005028882890162000435565b9150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200059157607f821691505b602082108103620005a757620005a662000549565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006117fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620005d2565b6200061d8683620005d2565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200066a620006646200065e8462000635565b6200063f565b62000635565b9050919050565b6000819050919050565b620006868362000649565b6200069e620006958262000671565b848454620005df565b825550505050565b600090565b620006b5620006a6565b620006c28184846200067b565b505050565b5b81811015620006ea57620006de600082620006ab565b600181019050620006c8565b5050565b601f82111562000739576200070381620005ad565b6200070e84620005c2565b810160208510156200071e578190505b620007366200072d85620005c2565b830182620006c7565b50505b505050565b600082821c905092915050565b60006200075e600019846008026200073e565b1980831691505092915050565b60006200077983836200074b565b9150826002028217905092915050565b62000794826200053e565b67ffffffffffffffff811115620007b057620007af62000304565b5b620007bc825462000578565b620007c9828285620006ee565b600060209050601f831160018114620008015760008415620007ec578287015190505b620007f885826200076b565b86555062000868565b601f1984166200081186620005ad565b60005b828110156200083b5784890151825560018201915060208501945060208101905062000814565b868310156200085b578489015162000857601f8916826200074b565b8355505b6001600288020188555050505b505050505050565b60805160a051615b1a620008ab600039600081816106690152611def015260008181610aaa015281816113cd0152611e440152615b1a6000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638da5cb5b116100f9578063d0d7728411610097578063e985e9c511610071578063e985e9c51461051b578063f23c620c1461054b578063f242432a14610567578063f2fde38b14610583576101c3565b8063d0d77284146104ad578063d574ea3d146104c9578063e58ef8a8146104ff576101c3565b8063a22cb465116100d3578063a22cb46514610413578063affed0e01461042f578063cc3c0f061461044d578063d0a639641461047d576101c3565b80638da5cb5b146103bb57806399248ea7146103d95780639d89c207146103f7576101c3565b80634439f6d511610166578063627cdcb911610140578063627cdcb91461036f57806365e47b8c14610379578063715018a61461039557806383efe69c1461039f576101c3565b80634439f6d5146102de5780634e1273f41461030e57806361e2cdaa1461033e576101c3565b80630e89341c116101a25780630e89341c146102465780630efe6a8b146102765780632079fb9a146102925780632eb2c2d6146102c2576101c3565b8062fdd58e146101c8578063013efa26146101f857806301ffc9a714610216575b600080fd5b6101e260048036038101906101dd9190613b29565b61059f565b6040516101ef9190613b78565b60405180910390f35b610200610667565b60405161020d9190613ba2565b60405180910390f35b610230600480360381019061022b9190613c15565b61068b565b60405161023d9190613c5d565b60405180910390f35b610260600480360381019061025b9190613c78565b61076d565b60405161026d9190613d35565b60405180910390f35b610290600480360381019061028b9190613d57565b610801565b005b6102ac60048036038101906102a79190613c78565b610b9c565b6040516102b99190613ba2565b60405180910390f35b6102dc60048036038101906102d79190613fa7565b610bd2565b005b6102f860048036038101906102f39190614076565b610c73565b6040516103059190613b78565b60405180910390f35b61032860048036038101906103239190614179565b610ce0565b60405161033591906142af565b60405180910390f35b610358600480360381019061035391906142d1565b610df3565b6040516103669291906143d8565b60405180910390f35b610377610f84565b005b610393600480360381019061038e9190613b29565b610fe0565b005b61039d61122e565b005b6103b960048036038101906103b49190614449565b611242565b005b6103c36113a1565b6040516103d09190613ba2565b60405180910390f35b6103e16113cb565b6040516103ee9190613ba2565b60405180910390f35b610411600480360381019061040c919061449c565b6113ef565b005b61042d6004803603810190610428919061456a565b6116af565b005b6104376116c5565b6040516104449190613b78565b60405180910390f35b610467600480360381019061046291906145d6565b6116cb565b6040516104749190613c5d565b60405180910390f35b61049760048036038101906104929190613c78565b6116eb565b6040516104a49190613b78565b60405180910390f35b6104c760048036038101906104c29190614603565b611a0e565b005b6104e360048036038101906104de9190613c78565b611eea565b6040516104f697969594939291906146ec565b60405180910390f35b6105196004803603810190610514919061475b565b611fd8565b005b610535600480360381019061053091906147ae565b612115565b6040516105429190613c5d565b60405180910390f35b61056560048036038101906105609190613c78565b6121a9565b005b610581600480360381019061057c91906147ee565b6124c7565b005b61059d60048036038101906105989190614885565b6124f9565b005b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361060f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060690614924565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061075657507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061076657506107658261257c565b5b9050919050565b60606002805461077c90614973565b80601f01602080910402602001604051908101604052809291908181526020018280546107a890614973565b80156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b50505050509050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610867576040517f8aa3a72f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082036108a1576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600760008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610942576040517f4e236e9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060010160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1683826003015461098591906149d3565b11156109bd576040517f485849a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060010160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16421015610a29576040517f085de62500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a358385610c73565b905083826003016000828254610a4b91906149d3565b92505081905550610aa33330868560000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166125e6909392919063ffffffff16565b610aee85827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661266f9092919063ffffffff16565b610b09858486604051806020016040528060008152506126f5565b8160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16847fcf1743d5c9be77c70f3e3c166efc3e15714fd03eb0cb26630e3007bdac9e1b4c8789604051610b8d929190614a07565b60405180910390a45050505050565b60058160028110610bac57600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bda6128a5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610c205750610c1f85610c1a6128a5565b612115565b5b610c5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5690614aa2565b60405180910390fd5b610c6c85858585856128ad565b5050505050565b6000670de0b6b3a7640000826007600086815260200190815260200160002060040160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610cce9190614ac2565b610cd89190614b33565b905092915050565b60608151835114610d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1d90614bd6565b60405180910390fd5b6000835167ffffffffffffffff811115610d4357610d42613daf565b5b604051908082528060200260200182016040528015610d715781602001602082028036833780820191505090505b50905060005b8451811015610de857610dbe858281518110610d9657610d95614bf6565b5b6020026020010151858381518110610db157610db0614bf6565b5b602002602001015161059f565b828281518110610dd157610dd0614bf6565b5b602002602001018181525050806001019050610d77565b508091505092915050565b60008060418451141580610e0957506041835114155b15610e40576040517f4be6321b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b468a8a8a8a8a8a604051602001610e5d9796959493929190614c25565b6040516020818303038152906040528051906020012090506000610e89610e8383612bc8565b86612bfe565b90506000610e9f610e9984612bc8565b86612bfe565b90506005600060028110610eb657610eb5614bf6565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015610f7357506005600160028110610f2257610f21614bf6565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b935050509850989650505050505050565b610f8c612c25565b60006001600454610f9d91906149d3565b9050806004819055507f3396aba31d3216d4a383421ce055698b867b4161fc143cbc438debb6ac57ff9681604051610fd59190613b78565b60405180910390a150565b610fe8612c25565b6001811115611023576040517fb4120f1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006005826002811061103957611038614bf6565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110c2576040517fb7c51b6500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005600083146110d35760006110d6565b60015b60ff16600281106110ea576110e9614bf6565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611170576040517f8044bb3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826005836002811061118557611184614bf6565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fb924ec8eb9456bf8272123e4af91d7bcc538a8b44d22e0cbe62087218040b047846040516112219190613b78565b60405180910390a3505050565b611236612c25565b6112406000612ca3565b565b61124a612c25565b6000600760008581526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036112eb576040517f4e236e9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828160010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550818160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550837fee2fb903a6a9bf3bb664df028707c2c33fccf660cae240f5ea423a4c69cc88bd8484604051611393929190614c94565b60405180910390a250505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6113f7612c25565b6000600760008981526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611498576040517fa741a04500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550858160010160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555042856fffffffffffffffffffffffffffffffff161015611562576040517f26e687eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b848160010160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550838160020160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828160020160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550818160040160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055508673ffffffffffffffffffffffffffffffffffffffff16887f22ff836beb2f66591e1c6a4a8e8fb82ffb43a6fb7452326c577b32f9fe413b72888888888860405161169d959493929190614cbd565b60405180910390a35050505050505050565b6116c16116ba6128a5565b8383612d69565b5050565b60045481565b60086020528060005260406000206000915054906101000a900460ff1681565b600080600760008481526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016001820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001600382015481526020016004820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361194a576040517f4e236e9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80604001516fffffffffffffffffffffffffffffffff16421015611995578060600151816040015161197c9190614d10565b6fffffffffffffffffffffffffffffffff169150611a08565b600181606001516fffffffffffffffffffffffffffffffff1682604001516fffffffffffffffffffffffffffffffff16426119d09190614d54565b6119da9190614b33565b6119e491906149d3565b81604001516fffffffffffffffffffffffffffffffff16611a059190614ac2565b91505b50919050565b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1603611a74576040517f8aa3a72f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600760008381526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016001820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001600382015481526020016004820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603611cd2576040517f4e236e9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611ce784336004548c8c8c8c8c610df3565b9150915081611d22576040517fed3c247c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008600082815260200190815260200160002060009054906101000a900460ff1615611d7a576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016008600083815260200190815260200160002060006101000a81548160ff0219169083151502179055506000891115611ddf57611dde8a8a856000015173ffffffffffffffffffffffffffffffffffffffff1661266f9092919063ffffffff16565b5b6000881115611e3457611e338a897f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661266f9092919063ffffffff16565b5b6000871115611e8957611e888a887f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1661266f9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff16847f32f7f3193dc8d3b84a9ab4da662f84ce47c807326eb27fca423660acd1e30ff38b8b8b8f604051611ed69493929190614d88565b60405180910390a350505050505050505050565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a90046fffffffffffffffffffffffffffffffff16908060010160109054906101000a90046fffffffffffffffffffffffffffffffff16908060020160009054906101000a90046fffffffffffffffffffffffffffffffff16908060020160109054906101000a90046fffffffffffffffffffffffffffffffff16908060030154908060040160009054906101000a90046fffffffffffffffffffffffffffffffff16905087565b611fe0612c25565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612046576040517f8aa3a72f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008103612080576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6120ab83828473ffffffffffffffffffffffffffffffffffffffff1661266f9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f1b89874203ff7f0bba87c969ada3f32fda22ed38a6706d35199d21280c7811b1836040516121089190613b78565b60405180910390a3505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600760008381526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016001820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1681526020016002820160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168152602001600382015481526020016004820160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603612407576040517f4e236e9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612413338461059f565b90506000810361244f576040517f669567ea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808260a0018181516124619190614d54565b91508181525050612473338483612ed5565b3373ffffffffffffffffffffffffffffffffffffffff16837f0ef0ecd4af74967faf13b3438d01f11e08a1cea767fbfb7b82fd59bdb3eb5e00836040516124ba9190613b78565b60405180910390a3505050565b6040517fe827105e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612501612c25565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256790614e3f565b60405180910390fd5b61257981612ca3565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612669846323b872dd60e01b85858560405160240161260793929190614e5f565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061311b565b50505050565b6126f08363a9059cbb60e01b848460405160240161268e929190614e96565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061311b565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612764576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161275b90614f31565b60405180910390fd5b600061276e6128a5565b9050600061277b856131e3565b90506000612788856131e3565b90506127998360008985858961325d565b8460008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546127f891906149d3565b925050819055508673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628989604051612876929190614f51565b60405180910390a461288d83600089858589613265565b61289c8360008989898961326d565b50505050505050565b600033905090565b81518351146128f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e890614fec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129579061507e565b60405180910390fd5b600061296a6128a5565b905061297a81878787878761325d565b60005b8451811015612b2557600085828151811061299b5761299a614bf6565b5b6020026020010151905060008583815181106129ba576129b9614bf6565b5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5290615110565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b1091906149d3565b9250508190555050505080600101905061297d565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051612b9c929190615130565b60405180910390a4612bb2818787878787613265565b612bc0818787878787613444565b505050505050565b60007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005281601c52603c6000209050919050565b6000806000612c0d858561361b565b91509150612c1a8161366c565b819250505092915050565b612c2d6128a5565b73ffffffffffffffffffffffffffffffffffffffff16612c4b6113a1565b73ffffffffffffffffffffffffffffffffffffffff1614612ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c98906151b3565b60405180910390fd5b565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dce90615245565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612ec89190613c5d565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612f44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3b906152d7565b60405180910390fd5b6000612f4e6128a5565b90506000612f5b846131e3565b90506000612f68846131e3565b9050612f888387600085856040518060200160405280600081525061325d565b600080600087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508481101561301f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161301690615369565b60405180910390fd5b84810360008088815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6289896040516130ec929190614f51565b60405180910390a461311284886000868660405180602001604052806000815250613265565b50505050505050565b600061317d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166137d29092919063ffffffff16565b905060008151148061319f57508080602001905181019061319e919061539e565b5b6131de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131d59061543d565b60405180910390fd5b505050565b60606000600167ffffffffffffffff81111561320257613201613daf565b5b6040519080825280602002602001820160405280156132305781602001602082028036833780820191505090505b509050828160008151811061324857613247614bf6565b5b60200260200101818152505080915050919050565b505050505050565b505050505050565b61328c8473ffffffffffffffffffffffffffffffffffffffff166137ea565b1561343c578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016132d29594939291906154b2565b6020604051808303816000875af192505050801561330e57506040513d601f19601f8201168201806040525081019061330b9190615521565b60015b6133b35761331a61555b565b806308c379a003613376575061332e61557d565b806133395750613378565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161336d9190613d35565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133aa9061567f565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461343a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343190615711565b60405180910390fd5b505b505050505050565b6134638473ffffffffffffffffffffffffffffffffffffffff166137ea565b15613613578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b81526004016134a9959493929190615731565b6020604051808303816000875af19250505080156134e557506040513d601f19601f820116820180604052508101906134e29190615521565b60015b61358a576134f161555b565b806308c379a00361354d575061350561557d565b80613510575061354f565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135449190613d35565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135819061567f565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161360890615711565b60405180910390fd5b505b505050505050565b600080604183510361365c5760008060006020860151925060408601519150606086015160001a90506136508782858561380d565b94509450505050613665565b60006002915091505b9250929050565b600060048111156136805761367f615799565b5b81600481111561369357613692615799565b5b03156137cf57600160048111156136ad576136ac615799565b5b8160048111156136c0576136bf615799565b5b03613700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136f790615814565b60405180910390fd5b6002600481111561371457613713615799565b5b81600481111561372757613726615799565b5b03613767576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161375e90615880565b60405180910390fd5b6003600481111561377b5761377a615799565b5b81600481111561378e5761378d615799565b5b036137ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137c590615912565b60405180910390fd5b5b50565b60606137e184846000856138ef565b90509392505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156138485760006003915091506138e6565b60006001878787876040516000815260200160405260405161386d949392919061594e565b6020604051602081039080840390855afa15801561388f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036138dd576000600192509250506138e6565b80600092509250505b94509492505050565b606082471015613934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161392b90615a05565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161395d9190615a61565b60006040518083038185875af1925050503d806000811461399a576040519150601f19603f3d011682016040523d82523d6000602084013e61399f565b606091505b50915091506139b0878383876139bc565b92505050949350505050565b60608315613a1e576000835103613a16576139d6856137ea565b613a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a0c90615ac4565b60405180910390fd5b5b829050613a29565b613a288383613a31565b5b949350505050565b600082511115613a445781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a789190613d35565b60405180910390fd5b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613ac082613a95565b9050919050565b613ad081613ab5565b8114613adb57600080fd5b50565b600081359050613aed81613ac7565b92915050565b6000819050919050565b613b0681613af3565b8114613b1157600080fd5b50565b600081359050613b2381613afd565b92915050565b60008060408385031215613b4057613b3f613a8b565b5b6000613b4e85828601613ade565b9250506020613b5f85828601613b14565b9150509250929050565b613b7281613af3565b82525050565b6000602082019050613b8d6000830184613b69565b92915050565b613b9c81613ab5565b82525050565b6000602082019050613bb76000830184613b93565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613bf281613bbd565b8114613bfd57600080fd5b50565b600081359050613c0f81613be9565b92915050565b600060208284031215613c2b57613c2a613a8b565b5b6000613c3984828501613c00565b91505092915050565b60008115159050919050565b613c5781613c42565b82525050565b6000602082019050613c726000830184613c4e565b92915050565b600060208284031215613c8e57613c8d613a8b565b5b6000613c9c84828501613b14565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613cdf578082015181840152602081019050613cc4565b60008484015250505050565b6000601f19601f8301169050919050565b6000613d0782613ca5565b613d118185613cb0565b9350613d21818560208601613cc1565b613d2a81613ceb565b840191505092915050565b60006020820190508181036000830152613d4f8184613cfc565b905092915050565b600080600060608486031215613d7057613d6f613a8b565b5b6000613d7e86828701613ade565b9350506020613d8f86828701613b14565b9250506040613da086828701613b14565b9150509250925092565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613de782613ceb565b810181811067ffffffffffffffff82111715613e0657613e05613daf565b5b80604052505050565b6000613e19613a81565b9050613e258282613dde565b919050565b600067ffffffffffffffff821115613e4557613e44613daf565b5b602082029050602081019050919050565b600080fd5b6000613e6e613e6984613e2a565b613e0f565b90508083825260208201905060208402830185811115613e9157613e90613e56565b5b835b81811015613eba5780613ea68882613b14565b845260208401935050602081019050613e93565b5050509392505050565b600082601f830112613ed957613ed8613daa565b5b8135613ee9848260208601613e5b565b91505092915050565b600080fd5b600067ffffffffffffffff821115613f1257613f11613daf565b5b613f1b82613ceb565b9050602081019050919050565b82818337600083830152505050565b6000613f4a613f4584613ef7565b613e0f565b905082815260208101848484011115613f6657613f65613ef2565b5b613f71848285613f28565b509392505050565b600082601f830112613f8e57613f8d613daa565b5b8135613f9e848260208601613f37565b91505092915050565b600080600080600060a08688031215613fc357613fc2613a8b565b5b6000613fd188828901613ade565b9550506020613fe288828901613ade565b945050604086013567ffffffffffffffff81111561400357614002613a90565b5b61400f88828901613ec4565b935050606086013567ffffffffffffffff8111156140305761402f613a90565b5b61403c88828901613ec4565b925050608086013567ffffffffffffffff81111561405d5761405c613a90565b5b61406988828901613f79565b9150509295509295909350565b6000806040838503121561408d5761408c613a8b565b5b600061409b85828601613b14565b92505060206140ac85828601613b14565b9150509250929050565b600067ffffffffffffffff8211156140d1576140d0613daf565b5b602082029050602081019050919050565b60006140f56140f0846140b6565b613e0f565b9050808382526020820190506020840283018581111561411857614117613e56565b5b835b81811015614141578061412d8882613ade565b84526020840193505060208101905061411a565b5050509392505050565b600082601f8301126141605761415f613daa565b5b81356141708482602086016140e2565b91505092915050565b600080604083850312156141905761418f613a8b565b5b600083013567ffffffffffffffff8111156141ae576141ad613a90565b5b6141ba8582860161414b565b925050602083013567ffffffffffffffff8111156141db576141da613a90565b5b6141e785828601613ec4565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61422681613af3565b82525050565b6000614238838361421d565b60208301905092915050565b6000602082019050919050565b600061425c826141f1565b61426681856141fc565b93506142718361420d565b8060005b838110156142a2578151614289888261422c565b975061429483614244565b925050600181019050614275565b5085935050505092915050565b600060208201905081810360008301526142c98184614251565b905092915050565b600080600080600080600080610100898b0312156142f2576142f1613a8b565b5b60006143008b828c01613b14565b98505060206143118b828c01613ade565b97505060406143228b828c01613b14565b96505060606143338b828c01613b14565b95505060806143448b828c01613b14565b94505060a06143558b828c01613b14565b93505060c089013567ffffffffffffffff81111561437657614375613a90565b5b6143828b828c01613f79565b92505060e089013567ffffffffffffffff8111156143a3576143a2613a90565b5b6143af8b828c01613f79565b9150509295985092959890939650565b6000819050919050565b6143d2816143bf565b82525050565b60006040820190506143ed6000830185613c4e565b6143fa60208301846143c9565b9392505050565b60006fffffffffffffffffffffffffffffffff82169050919050565b61442681614401565b811461443157600080fd5b50565b6000813590506144438161441d565b92915050565b60008060006060848603121561446257614461613a8b565b5b600061447086828701613b14565b935050602061448186828701614434565b925050604061449286828701614434565b9150509250925092565b600080600080600080600060e0888a0312156144bb576144ba613a8b565b5b60006144c98a828b01613b14565b97505060206144da8a828b01613ade565b96505060406144eb8a828b01614434565b95505060606144fc8a828b01614434565b945050608061450d8a828b01614434565b93505060a061451e8a828b01614434565b92505060c061452f8a828b01614434565b91505092959891949750929550565b61454781613c42565b811461455257600080fd5b50565b6000813590506145648161453e565b92915050565b6000806040838503121561458157614580613a8b565b5b600061458f85828601613ade565b92505060206145a085828601614555565b9150509250929050565b6145b3816143bf565b81146145be57600080fd5b50565b6000813590506145d0816145aa565b92915050565b6000602082840312156145ec576145eb613a8b565b5b60006145fa848285016145c1565b91505092915050565b600080600080600080600060e0888a03121561462257614621613a8b565b5b60006146308a828b01613ade565b97505060206146418a828b01613b14565b96505060406146528a828b01613b14565b95505060606146638a828b01613b14565b945050608088013567ffffffffffffffff81111561468457614683613a90565b5b6146908a828b01613f79565b93505060a088013567ffffffffffffffff8111156146b1576146b0613a90565b5b6146bd8a828b01613f79565b92505060c06146ce8a828b01613b14565b91505092959891949750929550565b6146e681614401565b82525050565b600060e082019050614701600083018a613b93565b61470e60208301896146dd565b61471b60408301886146dd565b61472860608301876146dd565b61473560808301866146dd565b61474260a0830185613b69565b61474f60c08301846146dd565b98975050505050505050565b60008060006060848603121561477457614773613a8b565b5b600061478286828701613ade565b935050602061479386828701613ade565b92505060406147a486828701613b14565b9150509250925092565b600080604083850312156147c5576147c4613a8b565b5b60006147d385828601613ade565b92505060206147e485828601613ade565b9150509250929050565b600080600080600060a0868803121561480a57614809613a8b565b5b600061481888828901613ade565b955050602061482988828901613ade565b945050604061483a88828901613b14565b935050606061484b88828901613b14565b925050608086013567ffffffffffffffff81111561486c5761486b613a90565b5b61487888828901613f79565b9150509295509295909350565b60006020828403121561489b5761489a613a8b565b5b60006148a984828501613ade565b91505092915050565b7f455243313135353a2061646472657373207a65726f206973206e6f742061207660008201527f616c6964206f776e657200000000000000000000000000000000000000000000602082015250565b600061490e602a83613cb0565b9150614919826148b2565b604082019050919050565b6000602082019050818103600083015261493d81614901565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061498b57607f821691505b60208210810361499e5761499d614944565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006149de82613af3565b91506149e983613af3565b9250828201905080821115614a0157614a006149a4565b5b92915050565b6000604082019050614a1c6000830185613b69565b614a296020830184613b93565b9392505050565b7f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60008201527f6572206f7220617070726f766564000000000000000000000000000000000000602082015250565b6000614a8c602e83613cb0565b9150614a9782614a30565b604082019050919050565b60006020820190508181036000830152614abb81614a7f565b9050919050565b6000614acd82613af3565b9150614ad883613af3565b9250828202614ae681613af3565b91508282048414831517614afd57614afc6149a4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614b3e82613af3565b9150614b4983613af3565b925082614b5957614b58614b04565b5b828204905092915050565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b6000614bc0602983613cb0565b9150614bcb82614b64565b604082019050919050565b60006020820190508181036000830152614bef81614bb3565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060e082019050614c3a600083018a613b69565b614c476020830189613b69565b614c546040830188613b93565b614c616060830187613b69565b614c6e6080830186613b69565b614c7b60a0830185613b69565b614c8860c0830184613b69565b98975050505050505050565b6000604082019050614ca960008301856146dd565b614cb660208301846146dd565b9392505050565b600060a082019050614cd260008301886146dd565b614cdf60208301876146dd565b614cec60408301866146dd565b614cf960608301856146dd565b614d0660808301846146dd565b9695505050505050565b6000614d1b82614401565b9150614d2683614401565b925082820190506fffffffffffffffffffffffffffffffff811115614d4e57614d4d6149a4565b5b92915050565b6000614d5f82613af3565b9150614d6a83613af3565b9250828203905081811115614d8257614d816149a4565b5b92915050565b6000608082019050614d9d6000830187613b69565b614daa6020830186613b69565b614db76040830185613b69565b614dc46060830184613b93565b95945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614e29602683613cb0565b9150614e3482614dcd565b604082019050919050565b60006020820190508181036000830152614e5881614e1c565b9050919050565b6000606082019050614e746000830186613b93565b614e816020830185613b93565b614e8e6040830184613b69565b949350505050565b6000604082019050614eab6000830185613b93565b614eb86020830184613b69565b9392505050565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f1b602183613cb0565b9150614f2682614ebf565b604082019050919050565b60006020820190508181036000830152614f4a81614f0e565b9050919050565b6000604082019050614f666000830185613b69565b614f736020830184613b69565b9392505050565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b6000614fd6602883613cb0565b9150614fe182614f7a565b604082019050919050565b6000602082019050818103600083015261500581614fc9565b9050919050565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000615068602583613cb0565b91506150738261500c565b604082019050919050565b600060208201905081810360008301526150978161505b565b9050919050565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b60006150fa602a83613cb0565b91506151058261509e565b604082019050919050565b60006020820190508181036000830152615129816150ed565b9050919050565b6000604082019050818103600083015261514a8185614251565b9050818103602083015261515e8184614251565b90509392505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061519d602083613cb0565b91506151a882615167565b602082019050919050565b600060208201905081810360008301526151cc81615190565b9050919050565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b600061522f602983613cb0565b915061523a826151d3565b604082019050919050565b6000602082019050818103600083015261525e81615222565b9050919050565b7f455243313135353a206275726e2066726f6d20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006152c1602383613cb0565b91506152cc82615265565b604082019050919050565b600060208201905081810360008301526152f0816152b4565b9050919050565b7f455243313135353a206275726e20616d6f756e7420657863656564732062616c60008201527f616e636500000000000000000000000000000000000000000000000000000000602082015250565b6000615353602483613cb0565b915061535e826152f7565b604082019050919050565b6000602082019050818103600083015261538281615346565b9050919050565b6000815190506153988161453e565b92915050565b6000602082840312156153b4576153b3613a8b565b5b60006153c284828501615389565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000615427602a83613cb0565b9150615432826153cb565b604082019050919050565b600060208201905081810360008301526154568161541a565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006154848261545d565b61548e8185615468565b935061549e818560208601613cc1565b6154a781613ceb565b840191505092915050565b600060a0820190506154c76000830188613b93565b6154d46020830187613b93565b6154e16040830186613b69565b6154ee6060830185613b69565b81810360808301526155008184615479565b90509695505050505050565b60008151905061551b81613be9565b92915050565b60006020828403121561553757615536613a8b565b5b60006155458482850161550c565b91505092915050565b60008160e01c9050919050565b600060033d111561557a5760046000803e61557760005161554e565b90505b90565b600060443d1061560a5761558f613a81565b60043d036004823e80513d602482011167ffffffffffffffff821117156155b757505061560a565b808201805167ffffffffffffffff8111156155d5575050505061560a565b80602083010160043d0385018111156155f257505050505061560a565b61560182602001850186613dde565b82955050505050505b90565b7f455243313135353a207472616e7366657220746f206e6f6e2d4552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b6000615669603483613cb0565b91506156748261560d565b604082019050919050565b600060208201905081810360008301526156988161565c565b9050919050565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b60006156fb602883613cb0565b91506157068261569f565b604082019050919050565b6000602082019050818103600083015261572a816156ee565b9050919050565b600060a0820190506157466000830188613b93565b6157536020830187613b93565b81810360408301526157658186614251565b905081810360608301526157798185614251565b9050818103608083015261578d8184615479565b90509695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b60006157fe601883613cb0565b9150615809826157c8565b602082019050919050565b6000602082019050818103600083015261582d816157f1565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061586a601f83613cb0565b915061587582615834565b602082019050919050565b600060208201905081810360008301526158998161585d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006158fc602283613cb0565b9150615907826158a0565b604082019050919050565b6000602082019050818103600083015261592b816158ef565b9050919050565b600060ff82169050919050565b61594881615932565b82525050565b600060808201905061596360008301876143c9565b615970602083018661593f565b61597d60408301856143c9565b61598a60608301846143c9565b95945050505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006159ef602683613cb0565b91506159fa82615993565b604082019050919050565b60006020820190508181036000830152615a1e816159e2565b9050919050565b600081905092915050565b6000615a3b8261545d565b615a458185615a25565b9350615a55818560208601613cc1565b80840191505092915050565b6000615a6d8284615a30565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000615aae601d83613cb0565b9150615ab982615a78565b602082019050919050565b60006020820190508181036000830152615add81615aa1565b905091905056fea264697066735822122029b363f67606c08fab9005691c7d15341ca19b4a18dbc05fe910525fb5a5618864736f6c634300081800330000000000000000000000008ff1307ba7e5fdc3a411d259bae641e2b1d897c40000000000000000000000002296282e2e2a4158140e3b4b99855ada4a06a4b8000000000000000000000000a072f8bd3847e21c8edaaf38d7425631a2a63631000000000000000000000000c5bd3ca932d7602a398d5ee8e6124255104f963000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000