0x6101606040523480156200001257600080fd5b506040518060400160405280600381526020017f61697200000000000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f61697200000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f6d636200000000000000000000000000000000000000000000000000000000008152508160009081620000fc91906200066a565b5080600190816200010e91906200066a565b5050506200013162000125620001f160201b60201c565b620001f960201b60201c565b6200014c600883620002bf60201b620011791790919060201c565b61012081815250506200016f600982620002bf60201b620011791790919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a08181525050620001ae6200031c60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505062000974565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000602083511015620002e557620002dd836200037960201b60201c565b905062000316565b82620002fc83620003e660201b620011bd1760201c565b60000190816200030d91906200066a565b5060ff60001b90505b92915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200035e959493929190620007c2565b60405160208183030381529060405280519060200120905090565b600080829050601f81511115620003c957826040517f305a27a9000000000000000000000000000000000000000000000000000000008152600401620003c09190620008ae565b60405180910390fd5b805181620003d79062000904565b60001c1760001b915050919050565b6000819050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200047257607f821691505b6020821081036200048857620004876200042a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004f27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620004b3565b620004fe8683620004b3565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200054b620005456200053f8462000516565b62000520565b62000516565b9050919050565b6000819050919050565b62000567836200052a565b6200057f620005768262000552565b848454620004c0565b825550505050565b600090565b6200059662000587565b620005a38184846200055c565b505050565b5b81811015620005cb57620005bf6000826200058c565b600181019050620005a9565b5050565b601f8211156200061a57620005e4816200048e565b620005ef84620004a3565b81016020851015620005ff578190505b620006176200060e85620004a3565b830182620005a8565b50505b505050565b600082821c905092915050565b60006200063f600019846008026200061f565b1980831691505092915050565b60006200065a83836200062c565b9150826002028217905092915050565b6200067582620003f0565b67ffffffffffffffff811115620006915762000690620003fb565b5b6200069d825462000459565b620006aa828285620005cf565b600060209050601f831160018114620006e25760008415620006cd578287015190505b620006d985826200064c565b86555062000749565b601f198416620006f2866200048e565b60005b828110156200071c57848901518255600182019150602085019450602081019050620006f5565b868310156200073c578489015162000738601f8916826200062c565b8355505b6001600288020188555050505b505050505050565b6000819050919050565b620007668162000751565b82525050565b620007778162000516565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620007aa826200077d565b9050919050565b620007bc816200079d565b82525050565b600060a082019050620007d960008301886200075b565b620007e860208301876200075b565b620007f760408301866200075b565b6200080660608301856200076c565b620008156080830184620007b1565b9695505050505050565b600082825260208201905092915050565b60005b838110156200085057808201518184015260208101905062000833565b60008484015250505050565b6000601f19601f8301169050919050565b60006200087a82620003f0565b6200088681856200081f565b93506200089881856020860162000830565b620008a3816200085c565b840191505092915050565b60006020820190508181036000830152620008ca81846200086d565b905092915050565b600081519050919050565b6000819050602082019050919050565b6000620008fb825162000751565b80915050919050565b60006200091182620008d2565b826200091d84620008dd565b90506200092a81620008ed565b925060208210156200096d57620009687fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802620004b3565b831692505b5050919050565b60805160a05160c05160e05161010051610120516101405161566c620009cf6000396000610c1201526000610bde01526000612312015260006122f1015260006116c60152600061171c01526000611745015261566c6000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80637ecebe00116100f9578063a22cb46511610097578063c87b56dd11610071578063c87b56dd1461051f578063d204c45e1461054f578063e985e9c51461056b578063f2fde38b1461059b576101c4565b8063a22cb465146104cb578063b88d4fde146104e7578063c3cda52014610503576101c4565b80638e539e8c116100d35780638e539e8c1461042f57806391ddadf41461045f57806395d89b411461047d5780639ab24eb01461049b576101c4565b80637ecebe00146103bd57806384b0196e146103ed5780638da5cb5b14610411576101c4565b806342842e0e116101665780635c19a95c116101405780635c19a95c146103375780636352211e1461035357806370a0823114610383578063715018a6146103b3576101c4565b806342842e0e146102cd5780634bf5d7e9146102e9578063587cde1e14610307576101c4565b8063095ea7b3116101a2578063095ea7b31461024757806323b872dd146102635780633644e5151461027f5780633a46b1a81461029d576101c4565b806301ffc9a7146101c957806306fdde03146101f9578063081812fc14610217575b600080fd5b6101e360048036038101906101de91906138e2565b6105b7565b6040516101f0919061392a565b60405180910390f35b6102016105c9565b60405161020e91906139d5565b60405180910390f35b610231600480360381019061022c9190613a2d565b61065b565b60405161023e9190613a9b565b60405180910390f35b610261600480360381019061025c9190613ae2565b6106a1565b005b61027d60048036038101906102789190613b22565b6107b8565b005b610287610818565b6040516102949190613b8e565b60405180910390f35b6102b760048036038101906102b29190613ae2565b610827565b6040516102c49190613bb8565b60405180910390f35b6102e760048036038101906102e29190613b22565b6108f9565b005b6102f1610919565b6040516102fe91906139d5565b60405180910390f35b610321600480360381019061031c9190613bd3565b6109a7565b60405161032e9190613a9b565b60405180910390f35b610351600480360381019061034c9190613bd3565b610a10565b005b61036d60048036038101906103689190613a2d565b610a2a565b60405161037a9190613a9b565b60405180910390f35b61039d60048036038101906103989190613bd3565b610ab0565b6040516103aa9190613bb8565b60405180910390f35b6103bb610b67565b005b6103d760048036038101906103d29190613bd3565b610b7b565b6040516103e49190613bb8565b60405180910390f35b6103f5610bcb565b6040516104089796959493929190613cf9565b60405180910390f35b610419610ccd565b6040516104269190613a9b565b60405180910390f35b61044960048036038101906104449190613a2d565b610cf7565b6040516104569190613bb8565b60405180910390f35b610467610d8b565b6040516104749190613d9e565b60405180910390f35b610485610d9b565b60405161049291906139d5565b60405180910390f35b6104b560048036038101906104b09190613bd3565b610e2d565b6040516104c29190613bb8565b60405180910390f35b6104e560048036038101906104e09190613de5565b610e9b565b005b61050160048036038101906104fc9190613f5a565b610eb1565b005b61051d60048036038101906105189190614042565b610f13565b005b61053960048036038101906105349190613a2d565b611017565b60405161054691906139d5565b60405180910390f35b61056960048036038101906105649190614170565b611029565b005b610585600480360381019061058091906141cc565b611062565b604051610592919061392a565b60405180910390f35b6105b560048036038101906105b09190613bd3565b6110f6565b005b60006105c2826111c7565b9050919050565b6060600080546105d89061423b565b80601f01602080910402602001604051908101604052809291908181526020018280546106049061423b565b80156106515780601f1061062657610100808354040283529160200191610651565b820191906000526020600020905b81548152906001019060200180831161063457829003601f168201915b5050505050905090565b600061066682611228565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106ac82610a2a565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361071c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610713906142de565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661073b611273565b73ffffffffffffffffffffffffffffffffffffffff16148061076a575061076981610764611273565b611062565b5b6107a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a090614370565b60405180910390fd5b6107b3838361127b565b505050565b6107c96107c3611273565b82611334565b610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff90614402565b60405180910390fd5b6108138383836113c9565b505050565b60006108226116c2565b905090565b6000610831610d8b565b65ffffffffffff16821061087a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108719061446e565b60405180910390fd5b6108d361088683611779565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206117cc90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905092915050565b61091483838360405180602001604052806000815250610eb1565b505050565b606043610924610d8b565b65ffffffffffff161461096c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610963906144da565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a1a611273565b9050610a2681836118c2565b5050565b600080610a36836119d6565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610aa7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9e90614546565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b17906145d8565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b6f611a13565b610b796000611a91565b565b6000610bc4600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611b57565b9050919050565b600060608060008060006060610c0b60087f0000000000000000000000000000000000000000000000000000000000000000611b6590919063ffffffff16565b610c3f60097f0000000000000000000000000000000000000000000000000000000000000000611b6590919063ffffffff16565b46306000801b600067ffffffffffffffff811115610c6057610c5f613e2f565b5b604051908082528060200260200182016040528015610c8e5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000610d01610d8b565b65ffffffffffff168210610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d419061446e565b60405180910390fd5b610d66610d5683611779565b600c6117cc90919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b6000610d9643611c15565b905090565b606060018054610daa9061423b565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd69061423b565b8015610e235780601f10610df857610100808354040283529160200191610e23565b820191906000526020600020905b815481529060010190602001808311610e0657829003601f168201915b5050505050905090565b6000610e76600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c6a565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b610ead610ea6611273565b8383611cd4565b5050565b610ec2610ebc611273565b83611334565b610f01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef890614402565b60405180910390fd5b610f0d84848484611e40565b50505050565b83421115610f56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4d90614644565b60405180910390fd5b6000610fb8610fb07fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610f959493929190614664565b60405160208183030381529060405280519060200120611e9c565b858585611eb6565b9050610fc381611ee1565b8614611004576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffb906146f5565b60405180910390fd5b61100e81886118c2565b50505050505050565b606061102282611f3f565b9050919050565b611031611a13565b600061103d600e611b57565b9050611049600e612051565b6110538382612067565b61105d8183612085565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6110fe611a13565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361116d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116490614787565b60405180910390fd5b61117681611a91565b50565b60006020835110156111955761118e83612129565b90506111b7565b8261119f836111bd565b60000190816111ae9190614953565b5060ff60001b90505b92915050565b6000819050919050565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611221575061122082612191565b5b9050919050565b61123181612273565b611270576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126790614546565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166112ee83610a2a565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061134083610a2a565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061138257506113818185611062565b5b806113c057508373ffffffffffffffffffffffffffffffffffffffff166113a88461065b565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166113e982610a2a565b73ffffffffffffffffffffffffffffffffffffffff161461143f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143690614a97565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a590614b29565b60405180910390fd5b6114bb83838360016122b4565b8273ffffffffffffffffffffffffffffffffffffffff166114db82610a2a565b73ffffffffffffffffffffffffffffffffffffffff1614611531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152890614a97565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46116bd83838360016122ba565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561173e57507f000000000000000000000000000000000000000000000000000000000000000046145b1561176b577f00000000000000000000000000000000000000000000000000000000000000009050611776565b6117736122cc565b90505b90565b600063ffffffff80168211156117c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117bb90614bbb565b60405180910390fd5b819050919050565b60008083600001805490509050600080829050600583111561184e5760006117f384612362565b846117fe9190614c0a565b905061180d876000018261245b565b60000160009054906101000a900463ffffffff1663ffffffff168663ffffffff16101561183c5780915061184c565b6001816118499190614c3e565b92505b505b600061185f87600001878585612470565b9050600081146118b3576118828760000160018361187d9190614c0a565b61245b565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166118b6565b60005b94505050505092915050565b60006118cd836109a7565b905081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46119d181836119cc866124e3565b6124f5565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611a1b611273565b73ffffffffffffffffffffffffffffffffffffffff16611a39610ccd565b73ffffffffffffffffffffffffffffffffffffffff1614611a8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8690614cbe565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081600001549050919050565b606060ff60001b8314611b8257611b7b83612776565b9050611c0f565b818054611b8e9061423b565b80601f0160208091040260200160405190810160405280929190818152602001828054611bba9061423b565b8015611c075780601f10611bdc57610100808354040283529160200191611c07565b820191906000526020600020905b815481529060010190602001808311611bea57829003601f168201915b505050505090505b92915050565b600065ffffffffffff8016821115611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5990614d50565b60405180910390fd5b819050919050565b6000808260000180549050905060008114611cc957611c9883600001600183611c939190614c0a565b61245b565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611ccc565b60005b915050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3990614dbc565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611e33919061392a565b60405180910390a3505050565b611e4b8484846113c9565b611e57848484846127ea565b611e96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8d90614e4e565b60405180910390fd5b50505050565b6000611eaf611ea96116c2565b83612971565b9050919050565b6000806000611ec7878787876129b2565b91509150611ed481612a94565b8192505050949350505050565b600080600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050611f2e81611b57565b9150611f3981612051565b50919050565b6060611f4a82611228565b6000600660008481526020019081526020016000208054611f6a9061423b565b80601f0160208091040260200160405190810160405280929190818152602001828054611f969061423b565b8015611fe35780601f10611fb857610100808354040283529160200191611fe3565b820191906000526020600020905b815481529060010190602001808311611fc657829003601f168201915b505050505090506000611ff4612bfa565b9050600081510361200957819250505061204c565b60008251111561203e578082604051602001612026929190614eaa565b6040516020818303038152906040529250505061204c565b61204784612c11565b925050505b919050565b6001816000016000828254019250508190555050565b612081828260405180602001604052806000815250612c79565b5050565b61208e82612273565b6120cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c490614f40565b60405180910390fd5b806006600084815260200190815260200160002090816120ed9190614953565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce78260405161211d9190613bb8565b60405180910390a15050565b600080829050601f8151111561217657826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161216d91906139d5565b60405180910390fd5b80518161218290614f90565b60001c1760001b915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061225c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061226c575061226b82612cd4565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16612295836119d6565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b6122c684848484612d3e565b50505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612347959493929190614ff7565b60405160208183030381529060405280519060200120905090565b60008082036123745760009050612456565b6000600161238184612d5b565b901c6001901b9050600181848161239b5761239a61504a565b5b048201901c905060018184816123b4576123b361504a565b5b048201901c905060018184816123cd576123cc61504a565b5b048201901c905060018184816123e6576123e561504a565b5b048201901c905060018184816123ff576123fe61504a565b5b048201901c905060018184816124185761241761504a565b5b048201901c905060018184816124315761243061504a565b5b048201901c90506124528182858161244c5761244b61504a565b5b04612e3c565b9150505b919050565b60008260005281602060002001905092915050565b60005b818310156124d85760006124878484612e55565b90508463ffffffff1661249a878361245b565b60000160009054906101000a900463ffffffff1663ffffffff1611156124c2578092506124d2565b6001816124cf9190614c3e565b93505b50612473565b819050949350505050565b60006124ee82610ab0565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156125315750600081115b1561277157600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612653576000806125c0600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612e7b6125bb86612e91565b612efc565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612648929190615079565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612770576000806126dd600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612f4c6126d886612e91565b612efc565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612765929190615079565b60405180910390a250505b5b505050565b6060600061278383612f62565b90506000602067ffffffffffffffff8111156127a2576127a1613e2f565b5b6040519080825280601f01601f1916602001820160405280156127d45781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b600061280b8473ffffffffffffffffffffffffffffffffffffffff16612fb2565b15612964578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612834611273565b8786866040518563ffffffff1660e01b815260040161285694939291906150ec565b6020604051808303816000875af192505050801561289257506040513d601f19601f8201168201806040525081019061288f919061514d565b60015b612914573d80600081146128c2576040519150601f19603f3d011682016040523d82523d6000602084013e6128c7565b606091505b50600081510361290c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290390614e4e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612969565b600190505b949350505050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156129ed576000600391509150612a8b565b600060018787878760405160008152602001604052604051612a129493929190615189565b6020604051602081039080840390855afa158015612a34573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a8257600060019250925050612a8b565b80600092509250505b94509492505050565b60006004811115612aa857612aa76151ce565b5b816004811115612abb57612aba6151ce565b5b0315612bf75760016004811115612ad557612ad46151ce565b5b816004811115612ae857612ae76151ce565b5b03612b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1f90615249565b60405180910390fd5b60026004811115612b3c57612b3b6151ce565b5b816004811115612b4f57612b4e6151ce565b5b03612b8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b86906152b5565b60405180910390fd5b60036004811115612ba357612ba26151ce565b5b816004811115612bb657612bb56151ce565b5b03612bf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bed90615347565b60405180910390fd5b5b50565b606060405180602001604052806000815250905090565b6060612c1c82611228565b6000612c26612bfa565b90506000815111612c465760405180602001604052806000815250612c71565b80612c5084612fd5565b604051602001612c61929190614eaa565b6040516020818303038152906040525b915050919050565b612c8383836130a3565b612c9060008484846127ea565b612ccf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cc690614e4e565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612d498484836132c0565b612d558484848461337a565b50505050565b600080600090506000608084901c1115612d7d57608083901c92506080810190505b6000604084901c1115612d9857604083901c92506040810190505b6000602084901c1115612db357602083901c92506020810190505b6000601084901c1115612dce57601083901c92506010810190505b6000600884901c1115612de957600883901c92506008810190505b6000600484901c1115612e0457600483901c92506004810190505b6000600284901c1115612e1f57600283901c92506002810190505b6000600184901c1115612e33576001810190505b80915050919050565b6000818310612e4b5781612e4d565b825b905092915050565b60006002828418612e669190615367565b828416612e739190614c3e565b905092915050565b60008183612e8991906153c0565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115612ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eeb90615482565b60405180910390fd5b819050919050565b600080612f40612f1a612f0d610d8b565b65ffffffffffff16611779565b612f30612f2688611c6a565b868863ffffffff16565b876133809092919063ffffffff16565b91509150935093915050565b60008183612f5a91906154a2565b905092915050565b60008060ff8360001c169050601f811115612fa9576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606060006001612fe48461339d565b01905060008167ffffffffffffffff81111561300357613002613e2f565b5b6040519080825280601f01601f1916602001820160405280156130355781602001600182028036833780820191505090505b509050600082602001820190505b600115613098578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161308c5761308b61504a565b5b04945060008503613043575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613112576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131099061553e565b60405180910390fd5b61311b81612273565b1561315b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613152906155aa565b60405180910390fd5b6131696000838360016122b4565b61317281612273565b156131b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a9906155aa565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46132bc6000838360016122ba565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361330d5761330a600c612f4c61330584612e91565b612efc565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361335a57613357600c612e7b61335284612e91565b612efc565b50505b613375613366846109a7565b61336f846109a7565b836124f5565b505050565b50505050565b6000806133918560000185856134f0565b91509150935093915050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106133fb577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816133f1576133f061504a565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613438576d04ee2d6d415b85acef8100000000838161342e5761342d61504a565b5b0492506020810190505b662386f26fc10000831061346757662386f26fc10000838161345d5761345c61504a565b5b0492506010810190505b6305f5e1008310613490576305f5e10083816134865761348561504a565b5b0492506008810190505b61271083106134b55761271083816134ab576134aa61504a565b5b0492506004810190505b606483106134d857606483816134ce576134cd61504a565b5b0492506002810190505b600a83106134e7576001810190505b80915050919050565b600080600085805490509050600081111561378657600061351d876001846135189190614c0a565b61245b565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508563ffffffff16816000015163ffffffff161115613611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161360890615616565b60405180910390fd5b8563ffffffff16816000015163ffffffff1603613695578461363f8860018561363a9190614c0a565b61245b565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550613775565b8660405180604001604052808863ffffffff168152602001877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b80602001518593509350505061386e565b8560405180604001604052808763ffffffff168152602001867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6138bf8161388a565b81146138ca57600080fd5b50565b6000813590506138dc816138b6565b92915050565b6000602082840312156138f8576138f7613880565b5b6000613906848285016138cd565b91505092915050565b60008115159050919050565b6139248161390f565b82525050565b600060208201905061393f600083018461391b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561397f578082015181840152602081019050613964565b60008484015250505050565b6000601f19601f8301169050919050565b60006139a782613945565b6139b18185613950565b93506139c1818560208601613961565b6139ca8161398b565b840191505092915050565b600060208201905081810360008301526139ef818461399c565b905092915050565b6000819050919050565b613a0a816139f7565b8114613a1557600080fd5b50565b600081359050613a2781613a01565b92915050565b600060208284031215613a4357613a42613880565b5b6000613a5184828501613a18565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a8582613a5a565b9050919050565b613a9581613a7a565b82525050565b6000602082019050613ab06000830184613a8c565b92915050565b613abf81613a7a565b8114613aca57600080fd5b50565b600081359050613adc81613ab6565b92915050565b60008060408385031215613af957613af8613880565b5b6000613b0785828601613acd565b9250506020613b1885828601613a18565b9150509250929050565b600080600060608486031215613b3b57613b3a613880565b5b6000613b4986828701613acd565b9350506020613b5a86828701613acd565b9250506040613b6b86828701613a18565b9150509250925092565b6000819050919050565b613b8881613b75565b82525050565b6000602082019050613ba36000830184613b7f565b92915050565b613bb2816139f7565b82525050565b6000602082019050613bcd6000830184613ba9565b92915050565b600060208284031215613be957613be8613880565b5b6000613bf784828501613acd565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613c3581613c00565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613c70816139f7565b82525050565b6000613c828383613c67565b60208301905092915050565b6000602082019050919050565b6000613ca682613c3b565b613cb08185613c46565b9350613cbb83613c57565b8060005b83811015613cec578151613cd38882613c76565b9750613cde83613c8e565b925050600181019050613cbf565b5085935050505092915050565b600060e082019050613d0e600083018a613c2c565b8181036020830152613d20818961399c565b90508181036040830152613d34818861399c565b9050613d436060830187613ba9565b613d506080830186613a8c565b613d5d60a0830185613b7f565b81810360c0830152613d6f8184613c9b565b905098975050505050505050565b600065ffffffffffff82169050919050565b613d9881613d7d565b82525050565b6000602082019050613db36000830184613d8f565b92915050565b613dc28161390f565b8114613dcd57600080fd5b50565b600081359050613ddf81613db9565b92915050565b60008060408385031215613dfc57613dfb613880565b5b6000613e0a85828601613acd565b9250506020613e1b85828601613dd0565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613e678261398b565b810181811067ffffffffffffffff82111715613e8657613e85613e2f565b5b80604052505050565b6000613e99613876565b9050613ea58282613e5e565b919050565b600067ffffffffffffffff821115613ec557613ec4613e2f565b5b613ece8261398b565b9050602081019050919050565b82818337600083830152505050565b6000613efd613ef884613eaa565b613e8f565b905082815260208101848484011115613f1957613f18613e2a565b5b613f24848285613edb565b509392505050565b600082601f830112613f4157613f40613e25565b5b8135613f51848260208601613eea565b91505092915050565b60008060008060808587031215613f7457613f73613880565b5b6000613f8287828801613acd565b9450506020613f9387828801613acd565b9350506040613fa487828801613a18565b925050606085013567ffffffffffffffff811115613fc557613fc4613885565b5b613fd187828801613f2c565b91505092959194509250565b600060ff82169050919050565b613ff381613fdd565b8114613ffe57600080fd5b50565b60008135905061401081613fea565b92915050565b61401f81613b75565b811461402a57600080fd5b50565b60008135905061403c81614016565b92915050565b60008060008060008060c0878903121561405f5761405e613880565b5b600061406d89828a01613acd565b965050602061407e89828a01613a18565b955050604061408f89828a01613a18565b94505060606140a089828a01614001565b93505060806140b189828a0161402d565b92505060a06140c289828a0161402d565b9150509295509295509295565b600067ffffffffffffffff8211156140ea576140e9613e2f565b5b6140f38261398b565b9050602081019050919050565b600061411361410e846140cf565b613e8f565b90508281526020810184848401111561412f5761412e613e2a565b5b61413a848285613edb565b509392505050565b600082601f83011261415757614156613e25565b5b8135614167848260208601614100565b91505092915050565b6000806040838503121561418757614186613880565b5b600061419585828601613acd565b925050602083013567ffffffffffffffff8111156141b6576141b5613885565b5b6141c285828601614142565b9150509250929050565b600080604083850312156141e3576141e2613880565b5b60006141f185828601613acd565b925050602061420285828601613acd565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061425357607f821691505b6020821081036142665761426561420c565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006142c8602183613950565b91506142d38261426c565b604082019050919050565b600060208201905081810360008301526142f7816142bb565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061435a603d83613950565b9150614365826142fe565b604082019050919050565b600060208201905081810360008301526143898161434d565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006143ec602d83613950565b91506143f782614390565b604082019050919050565b6000602082019050818103600083015261441b816143df565b9050919050565b7f566f7465733a20667574757265206c6f6f6b7570000000000000000000000000600082015250565b6000614458601483613950565b915061446382614422565b602082019050919050565b600060208201905081810360008301526144878161444b565b9050919050565b7f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000600082015250565b60006144c4601883613950565b91506144cf8261448e565b602082019050919050565b600060208201905081810360008301526144f3816144b7565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614530601883613950565b915061453b826144fa565b602082019050919050565b6000602082019050818103600083015261455f81614523565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006145c2602983613950565b91506145cd82614566565b604082019050919050565b600060208201905081810360008301526145f1816145b5565b9050919050565b7f566f7465733a207369676e617475726520657870697265640000000000000000600082015250565b600061462e601883613950565b9150614639826145f8565b602082019050919050565b6000602082019050818103600083015261465d81614621565b9050919050565b60006080820190506146796000830187613b7f565b6146866020830186613a8c565b6146936040830185613ba9565b6146a06060830184613ba9565b95945050505050565b7f566f7465733a20696e76616c6964206e6f6e6365000000000000000000000000600082015250565b60006146df601483613950565b91506146ea826146a9565b602082019050919050565b6000602082019050818103600083015261470e816146d2565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614771602683613950565b915061477c82614715565b604082019050919050565b600060208201905081810360008301526147a081614764565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026148097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826147cc565b61481386836147cc565b95508019841693508086168417925050509392505050565b6000819050919050565b600061485061484b614846846139f7565b61482b565b6139f7565b9050919050565b6000819050919050565b61486a83614835565b61487e61487682614857565b8484546147d9565b825550505050565b600090565b614893614886565b61489e818484614861565b505050565b5b818110156148c2576148b760008261488b565b6001810190506148a4565b5050565b601f821115614907576148d8816147a7565b6148e1846147bc565b810160208510156148f0578190505b6149046148fc856147bc565b8301826148a3565b50505b505050565b600082821c905092915050565b600061492a6000198460080261490c565b1980831691505092915050565b60006149438383614919565b9150826002028217905092915050565b61495c82613945565b67ffffffffffffffff81111561497557614974613e2f565b5b61497f825461423b565b61498a8282856148c6565b600060209050601f8311600181146149bd57600084156149ab578287015190505b6149b58582614937565b865550614a1d565b601f1984166149cb866147a7565b60005b828110156149f3578489015182556001820191506020850194506020810190506149ce565b86831015614a105784890151614a0c601f891682614919565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614a81602583613950565b9150614a8c82614a25565b604082019050919050565b60006020820190508181036000830152614ab081614a74565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614b13602483613950565b9150614b1e82614ab7565b604082019050919050565b60006020820190508181036000830152614b4281614b06565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b6000614ba5602683613950565b9150614bb082614b49565b604082019050919050565b60006020820190508181036000830152614bd481614b98565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614c15826139f7565b9150614c20836139f7565b9250828203905081811115614c3857614c37614bdb565b5b92915050565b6000614c49826139f7565b9150614c54836139f7565b9250828201905080821115614c6c57614c6b614bdb565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614ca8602083613950565b9150614cb382614c72565b602082019050919050565b60006020820190508181036000830152614cd781614c9b565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b6000614d3a602683613950565b9150614d4582614cde565b604082019050919050565b60006020820190508181036000830152614d6981614d2d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614da6601983613950565b9150614db182614d70565b602082019050919050565b60006020820190508181036000830152614dd581614d99565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614e38603283613950565b9150614e4382614ddc565b604082019050919050565b60006020820190508181036000830152614e6781614e2b565b9050919050565b600081905092915050565b6000614e8482613945565b614e8e8185614e6e565b9350614e9e818560208601613961565b80840191505092915050565b6000614eb68285614e79565b9150614ec28284614e79565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000614f2a602e83613950565b9150614f3582614ece565b604082019050919050565b60006020820190508181036000830152614f5981614f1d565b9050919050565b600081519050919050565b6000819050602082019050919050565b6000614f878251613b75565b80915050919050565b6000614f9b82614f60565b82614fa584614f6b565b9050614fb081614f7b565b92506020821015614ff057614feb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026147cc565b831692505b5050919050565b600060a08201905061500c6000830188613b7f565b6150196020830187613b7f565b6150266040830186613b7f565b6150336060830185613ba9565b6150406080830184613a8c565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600060408201905061508e6000830185613ba9565b61509b6020830184613ba9565b9392505050565b600082825260208201905092915050565b60006150be82614f60565b6150c881856150a2565b93506150d8818560208601613961565b6150e18161398b565b840191505092915050565b60006080820190506151016000830187613a8c565b61510e6020830186613a8c565b61511b6040830185613ba9565b818103606083015261512d81846150b3565b905095945050505050565b600081519050615147816138b6565b92915050565b60006020828403121561516357615162613880565b5b600061517184828501615138565b91505092915050565b61518381613fdd565b82525050565b600060808201905061519e6000830187613b7f565b6151ab602083018661517a565b6151b86040830185613b7f565b6151c56060830184613b7f565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000615233601883613950565b915061523e826151fd565b602082019050919050565b6000602082019050818103600083015261526281615226565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b600061529f601f83613950565b91506152aa82615269565b602082019050919050565b600060208201905081810360008301526152ce81615292565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000615331602283613950565b915061533c826152d5565b604082019050919050565b6000602082019050818103600083015261536081615324565b9050919050565b6000615372826139f7565b915061537d836139f7565b92508261538d5761538c61504a565b5b828204905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b60006153cb82615398565b91506153d683615398565b925082820390507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81111561540a57615409614bdb565b5b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b600061546c602783613950565b915061547782615410565b604082019050919050565b6000602082019050818103600083015261549b8161545f565b9050919050565b60006154ad82615398565b91506154b883615398565b925082820190507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156154ec576154eb614bdb565b5b92915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615528602083613950565b9150615533826154f2565b602082019050919050565b600060208201905081810360008301526155578161551b565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615594601c83613950565b915061559f8261555e565b602082019050919050565b600060208201905081810360008301526155c381615587565b9050919050565b7f436865636b706f696e743a2064656372656173696e67206b6579730000000000600082015250565b6000615600601b83613950565b915061560b826155ca565b602082019050919050565b6000602082019050818103600083015261562f816155f3565b905091905056fea264697066735822122047ad46f17b7632c3d60cdd046bc55ab9aecd3a01b4234a264d0e6a34722eca4a64736f6c63430008120033