6101006040523480156200001257600080fd5b50604051620067463803806200674683398181016040528101906200003891906200056d565b8585818181600090816200004d919062000888565b5080600190816200005f919062000888565b5050506200007e6734ba52b2aea6c25f60c01b6200026660201b60201c565b5050620000a0620000946200026960201b60201c565b6200027160201b60201c565b620000bc6790ee59787e4ec10860c01b6200033760201b60201c565b620000d867a929bb11285b7a3c60c01b6200033760201b60201c565b620000f467b04fc1beb4d4336660c01b6200033760201b60201c565b6200011067ebe9eeeeb01c8c5c60c01b6200033760201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000182576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200017990620009d0565b60405180910390fd5b6200019e67ba99a9963aff4d8d60c01b6200033760201b60201c565b620001ba67fd622a4199a7ba6460c01b6200033760201b60201c565b8373ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250506200020a67ba1d9abebc82afc760c01b6200033760201b60201c565b8260a081815250506200022e678d66fe7f428e5a6b60c01b6200033760201b60201c565b8160808181525050620002526722cf2d90a7b734ea60c01b6200033760201b60201c565b8060c08181525050505050505050620009f2565b50565b600033905090565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b50565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003a38262000358565b810181811067ffffffffffffffff82111715620003c557620003c462000369565b5b80604052505050565b6000620003da6200033a565b9050620003e8828262000398565b919050565b600067ffffffffffffffff8211156200040b576200040a62000369565b5b620004168262000358565b9050602081019050919050565b60005b838110156200044357808201518184015260208101905062000426565b60008484015250505050565b6000620004666200046084620003ed565b620003ce565b90508281526020810184848401111562000485576200048462000353565b5b6200049284828562000423565b509392505050565b600082601f830112620004b257620004b16200034e565b5b8151620004c48482602086016200044f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004fa82620004cd565b9050919050565b6200050c81620004ed565b81146200051857600080fd5b50565b6000815190506200052c8162000501565b92915050565b6000819050919050565b620005478162000532565b81146200055357600080fd5b50565b60008151905062000567816200053c565b92915050565b60008060008060008060c087890312156200058d576200058c62000344565b5b600087015167ffffffffffffffff811115620005ae57620005ad62000349565b5b620005bc89828a016200049a565b965050602087015167ffffffffffffffff811115620005e057620005df62000349565b5b620005ee89828a016200049a565b95505060406200060189828a016200051b565b94505060606200061489828a0162000556565b93505060806200062789828a0162000556565b92505060a06200063a89828a0162000556565b9150509295509295509295565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200069a57607f821691505b602082108103620006b057620006af62000652565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200071a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006db565b620007268683620006db565b95508019841693508086168417925050509392505050565b6000819050919050565b600062000769620007636200075d8462000532565b6200073e565b62000532565b9050919050565b6000819050919050565b620007858362000748565b6200079d620007948262000770565b848454620006e8565b825550505050565b600090565b620007b4620007a5565b620007c18184846200077a565b505050565b5b81811015620007e957620007dd600082620007aa565b600181019050620007c7565b5050565b601f82111562000838576200080281620006b6565b6200080d84620006cb565b810160208510156200081d578190505b620008356200082c85620006cb565b830182620007c6565b50505b505050565b600082821c905092915050565b60006200085d600019846008026200083d565b1980831691505092915050565b60006200087883836200084a565b9150826002028217905092915050565b620008938262000647565b67ffffffffffffffff811115620008af57620008ae62000369565b5b620008bb825462000681565b620008c8828285620007ed565b600060209050601f831160018114620009005760008415620008eb578287015190505b620008f785826200086a565b86555062000967565b601f1984166200091086620006b6565b60005b828110156200093a5784890151825560018201915060208501945060208101905062000913565b868310156200095a578489015162000956601f8916826200084a565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f7a65726f20616464726573730000000000000000000000000000000000000000600082015250565b6000620009b8600c836200096f565b9150620009c58262000980565b602082019050919050565b60006020820190508181036000830152620009eb81620009a9565b9050919050565b60805160a05160c05160e051615ce962000a5d60003960008181610dbc01528181611422015281816117290152611b67015260008181610a1b01528181611551015261229801526000818161109401526122b9015260008181610f2201526119360152615ce96000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c8063715018a611610160578063b761f6a4116100d8578063e985e9c51161008c578063f1215d2511610071578063f1215d2514610748578063f2fde38b14610764578063fc157cb41461078057610277565b8063e985e9c5146106e8578063ef670acc1461071857610277565b8063c87b56dd116100bd578063c87b56dd1461067e578063c9ccbf7f146106ae578063cb629009146106ca57610277565b8063b761f6a414610644578063b88d4fde1461066257610277565b806395d89b411161012f578063aa5c3ab411610114578063aa5c3ab4146105d7578063b02c43d0146105f5578063b71ca82d1461062657610277565b806395d89b411461059d578063a22cb465146105bb57610277565b8063715018a61461053b5780638c93256e146105455780638da5cb5b1461056157806393bc9dfe1461057f57610277565b806334ccc5ea116101f35780635328c2bf116101c25780635e944835116101a75780635e944835146104a65780636352211e146104db57806370a082311461050b57610277565b80635328c2bf1461045457806357ded9c91461048857610277565b806334ccc5ea146103cc57806342842e0e146103ea57806345ef79af146104065780634f6ccce71461042457610277565b8063124c33231161024a57806323b872dd1161022f57806323b872dd146103645780632e1a7d4d146103805780632f745c591461039c57610277565b8063124c33231461031657806318160ddd1461034657610277565b806301ffc9a71461027c57806306fdde03146102ac578063081812fc146102ca578063095ea7b3146102fa575b600080fd5b61029660048036038101906102919190614057565b61079e565b6040516102a3919061409f565b60405180910390f35b6102b46107ec565b6040516102c1919061414a565b60405180910390f35b6102e460048036038101906102df91906141a2565b61087e565b6040516102f19190614210565b60405180910390f35b610314600480360381019061030f9190614257565b6108c4565b005b610330600480360381019061032b91906141a2565b6109db565b60405161033d919061409f565b60405180910390f35b61034e610a72565b60405161035b91906142a6565b60405180910390f35b61037e600480360381019061037991906142c1565b610a7f565b005b61039a600480360381019061039591906141a2565b610adf565b005b6103b660048036038101906103b19190614257565b610e55565b6040516103c391906142a6565b60405180910390f35b6103d4610efa565b6040516103e19190614331565b60405180910390f35b61040460048036038101906103ff91906142c1565b610f00565b005b61040e610f20565b60405161041b91906142a6565b60405180910390f35b61043e600480360381019061043991906141a2565b610f44565b60405161044b91906142a6565b60405180910390f35b61046e600480360381019061046991906141a2565b610fb5565b60405161047f95949392919061434c565b60405180910390f35b610490611092565b60405161049d91906142a6565b60405180910390f35b6104c060048036038101906104bb91906141a2565b6110b6565b6040516104d2969594939291906143a6565b60405180910390f35b6104f560048036038101906104f091906141a2565b61112e565b6040516105029190614210565b60405180910390f35b6105256004803603810190610520919061440e565b6111b4565b60405161053291906142a6565b60405180910390f35b61054361126b565b005b61055f600480360381019061055a919061440e565b61127f565b005b61056961144d565b6040516105769190614210565b60405180910390f35b610587611477565b60405161059491906142a6565b60405180910390f35b6105a561147d565b6040516105b2919061414a565b60405180910390f35b6105d560048036038101906105d09190614467565b61150f565b005b6105df611525565b6040516105ec91906142a6565b60405180910390f35b61060f600480360381019061060a91906141a2565b61152b565b60405161061d9291906144a7565b60405180910390f35b61062e61154f565b60405161063b91906142a6565b60405180910390f35b61064c611573565b6040516106599190614331565b60405180910390f35b61067c60048036038101906106779190614605565b611578565b005b610698600480360381019061069391906141a2565b6115da565b6040516106a5919061414a565b60405180910390f35b6106c860048036038101906106c391906141a2565b611628565b005b6106d2611753565b6040516106df91906142a6565b60405180910390f35b61070260048036038101906106fd9190614688565b611759565b60405161070f919061409f565b60405180910390f35b610732600480360381019061072d91906141a2565b6117ed565b60405161073f91906142a6565b60405180910390f35b610762600480360381019061075d9190614769565b611851565b005b61077e6004803603810190610779919061440e565b611c00565b005b610788611c83565b60405161079591906142a6565b60405180910390f35b60006107b4677428640b83e1a36a60c01b611c8a565b6107c867574302aa5f16be1760c01b611c8a565b6107dc67a5d7d0f6526f8c1d60c01b611c8a565b6107e582611c8d565b9050919050565b6060600080546107fb906147f4565b80601f0160208091040260200160405190810160405280929190818152602001828054610827906147f4565b80156108745780601f1061084957610100808354040283529160200191610874565b820191906000526020600020905b81548152906001019060200180831161085757829003601f168201915b5050505050905090565b600061088982611d07565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108cf8261112e565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361093f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093690614897565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661095e611d52565b73ffffffffffffffffffffffffffffffffffffffff16148061098d575061098c81610987611d52565b611759565b5b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390614929565b60405180910390fd5b6109d68383611d5a565b505050565b60006109f1674ff32a8d1c24edbb60c01b611e13565b610a0567225dbd3abe3f8f4d60c01b611e13565b610a1967b996d02260168c2760c01b611e13565b7f000000000000000000000000000000000000000000000000000000000000000062278d00600d60008581526020019081526020016000206001015442610a609190614978565b610a6a91906149db565b109050919050565b6000600880549050905090565b610a90610a8a611d52565b82611e16565b610acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac690614a7e565b60405180910390fd5b610ada838383611eab565b505050565b610af3675fd259de2f9a8eb760c01b611e13565b610b0767f293c1174eb410ec60c01b611e13565b610b1b67704a96f0eb30901960c01b611e13565b610b2f67f28a708af951bd5560c01b611e13565b3373ffffffffffffffffffffffffffffffffffffffff16610b4f8261112e565b73ffffffffffffffffffffffffffffffffffffffff1614610ba5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9c90614aea565b60405180910390fd5b610bb967c94e488db16385ea60c01b611e13565b610bcd67108eabf17c1eba9d60c01b611e13565b610be167669cfd6337634b1160c01b611e13565b610bf567e7c1d5ba8cee02cf60c01b611e13565b610bfe816109db565b15610c3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3590614b56565b60405180910390fd5b610c52677d3c3701d47116cc60c01b611e13565b610c6667b46dc6922cc2ff8e60c01b611e13565b610c7a67bcfeb3c41428712c60c01b611e13565b6000610c85826117ed565b9050610c9b67b35bdff819d9799e60c01b611e13565b610caf67235896d5146c3d7e60c01b611e13565b6000600d6000848152602001908152602001600020600001549050610cde672d70f24bec41da6860c01b611e13565b80600e6000828254610cf09190614978565b92505081905550610d0b675c2331719e1a289b60c01b611e13565b8160106000828254610d1d9190614978565b92505081905550610d38670442990bddb9882d60c01b611e13565b600d600084815260200190815260200160002060008082016000905560018201600090555050610d7267cbc4d250f30fac8e60c01b611e13565b610d86671795ea9c3da08ab060c01b611e13565b610d8f836121a4565b610da367f56784d2011fc43760c01b611e13565b610db7673a988db4a7195bb860c01b611e13565b610ded7f0000000000000000000000000000000000000000000000000000000000000000338484610de89190614b76565b6121ec565b610e01670d74d7b03c24f04a60c01b611e13565b610e1567526158142dc6f42160c01b611e13565b7f7340d7fc63bb85f7cc05f09e432f3865e1fff3863e95890dc0af63215b69987e838284604051610e4893929190614baa565b60405180910390a1505050565b6000610e60836111b4565b8210610ea1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9890614c53565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61010081565b610f1b83838360405180602001604052806000815250611578565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610f4e610a72565b8210610f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8690614ce5565b60405180910390fd5b60088281548110610fa357610fa2614d05565b5b90600052602060002001549050919050565b600080600060606000610fd267162e0ce5a409968860c01b611e13565b610fe6679717b55fb99e421960c01b611e13565b600d600087815260200190815260200160002060000154945061101367ea3ce73fe6f76ba660c01b611e13565b600d6000878152602001908152602001600020600101549250611040670d4dcc1f5edbfa4b60c01b611e13565b61104985612266565b935061105f67818f9c0df2b580e860c01b611e13565b611068866115da565b915061107e670fc1dd84ebfa79c860c01b611e13565b611087866109db565b905091939590929450565b7f000000000000000000000000000000000000000000000000000000000000000081565b600080600080606060006110d4673aae54f46c8f2c5460c01b611e13565b6110e8674fd08c3d2d454ed560c01b611e13565b6110f23388610e55565b9550611108670b0cbafabe843eea60c01b611e13565b61111186610fb5565b809550819650829750839850849950505050505091939550919395565b60008061113a83612308565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a290614d80565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611224576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121b90614e12565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611273612345565b61127d60006123c3565b565b61129367274fc61a1afe23e560c01b611e13565b61129b612345565b6112af678d557f8115e0680160c01b611e13565b6112c3672d494952a5f85d2f60c01b611e13565b6112d767ebdeb71c3cde72c660c01b611e13565b6112eb67c83da87d057a610160c01b611e13565b60006112f8600e54612266565b905061130e6771cd1e33a82c500860c01b611e13565b611322677b7126cb3bceb4d560c01b611e13565b611336677441c44af9b2f18360c01b611e13565b806010541161137a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137190614e7e565b60405180910390fd5b61138e67bf5c8f7cf3ab8e5b60c01b611e13565b6113a267b6485b730bdf8d4760c01b611e13565b6113b6677552b29d340b657c60c01b611e13565b6000816010546113c69190614978565b90506113dc676f5b28b241f805e060c01b611e13565b80601060008282546113ee9190614978565b9250508190555061140967d467d672e22a40b760c01b611e13565b61141d676531eb2da7827d5260c01b611e13565b6114487f000000000000000000000000000000000000000000000000000000000000000084836121ec565b505050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606001805461148c906147f4565b80601f01602080910402602001604051908101604052809291908181526020018280546114b8906147f4565b80156115055780601f106114da57610100808354040283529160200191611505565b820191906000526020600020905b8154815290600101906020018083116114e857829003601f168201915b5050505050905090565b61152161151a611d52565b8383612489565b5050565b60105481565b600d6020528060005260406000206000915090508060000154908060010154905082565b7f000000000000000000000000000000000000000000000000000000000000000081565b600481565b611589611583611d52565b83611e16565b6115c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bf90614a7e565b60405180910390fd5b6115d4848484846125f5565b50505050565b60606115f067a79fd448a5ab35d560c01b611c8a565b61160467927ff874b9da0d5460c01b611c8a565b611618679d8e75deae672d3360c01b611c8a565b61162182612651565b9050919050565b61163c671a98a1ddebcf5e2060c01b611e13565b6116506776b49ef49eae65f160c01b611e13565b6116646712e17bb16fec966660c01b611e13565b611678678b019abe959d0baf60c01b611e13565b600081116116bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b290614eea565b60405180910390fd5b6116cf6775615cb208ad3b2a60c01b611e13565b6116e3677fe5ba38fae0872660c01b611e13565b80601060008282546116f59190614b76565b925050819055506117106788993914ea3477f360c01b611e13565b61172467d5a93a57cff29c4d60c01b611e13565b6117507f0000000000000000000000000000000000000000000000000000000000000000333084612763565b50565b600f5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006118036791031dbd9ae5bbd660c01b611e13565b6118176770f7c63861f0b4d460c01b611e13565b61182b67a574ceaa7a3339d360c01b611e13565b61184a600d600084815260200190815260200160002060000154612266565b9050919050565b6118656775ca03c1d3643f9860c01b611e13565b61187967c352f93f34b5149560c01b611e13565b61188d67810d81030ad4e87b60c01b611e13565b6118a16774e752826df490a760c01b611e13565b600082116118e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118db90614f56565b60405180910390fd5b6118f867e9e6071e6c6bd58260c01b611e13565b61190c67dfc64d05d002860960c01b611e13565b611920675b65f4bea6be089460c01b611e13565b611934675e8c90931cccd4ca60c01b611e13565b7f000000000000000000000000000000000000000000000000000000000000000082600f546119639190614b76565b11156119a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199b90614fc2565b60405180910390fd5b6119b86736bbdb4e3e4a62e560c01b611e13565b6119cc67046fa1f58dc336ea60c01b611e13565b81600e60008282546119de9190614b76565b925050819055506119f967519c9bf5fbbb421260c01b611e13565b81600f6000828254611a0b9190614b76565b92505081905550611a2667f9cf8f507b62909960c01b611e13565b611a3a67a07d6779e8b08b2260c01b611e13565b611a4e67904e48559644b3fd60c01b611e13565b611a59600e54612266565b6010541015611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9490614e7e565b60405180910390fd5b611ab167022be7f22f92ad4660c01b611e13565b611ac5677e22610d85271c2560c01b611e13565b611ad96784b8c9520fcf419460c01b611e13565b6000611ae533836127df565b9050611afb6719194510bdc99a1560c01b611e13565b604051806040016040528084815260200142815250600d60008381526020019081526020016000206000820151816000015560208201518160010155905050611b4e67871a7b68215868a660c01b611e13565b611b62675173ad80d8b1c69160c01b611e13565b611b8e7f0000000000000000000000000000000000000000000000000000000000000000333086612763565b611ba267e6a743404d0f565a60c01b611e13565b611bb667068be3b1ca7db6d060c01b611e13565b7f7a501a33f4f2e50940b77a930f4616109afee68cea5f8b47b9835476aa2c30e68184611be2846117ed565b85604051611bf39493929190614fe2565b60405180910390a1505050565b611c08612345565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6e906150a0565b60405180910390fd5b611c80816123c3565b50565b620186a081565b50565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d005750611cff82612a25565b5b9050919050565b611d1081612b07565b611d4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4690614d80565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611dcd8361112e565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b50565b600080611e228361112e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e645750611e638185611759565b5b80611ea257508373ffffffffffffffffffffffffffffffffffffffff16611e8a8461087e565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611ecb8261112e565b73ffffffffffffffffffffffffffffffffffffffff1614611f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1890615132565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f87906151c4565b60405180910390fd5b611f9d8383836001612b48565b8273ffffffffffffffffffffffffffffffffffffffff16611fbd8261112e565b73ffffffffffffffffffffffffffffffffffffffff1614612013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161200a90615132565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461219f8383836001612b96565b505050565b6121b86789c4aff8edee83b460c01b611c8a565b6121cc67ceca92b0d7cffd7960c01b611c8a565b6121e067ff33ca36fb36176b60c01b611c8a565b6121e981612b9c565b50565b61220067244beab087cc0aa060c01b612be4565b61221467144d46f3077dd99b60c01b612be4565b6122286749159a17a2a819e160c01b612be4565b600083905061224167adc70abf7bc921ae60c01b612be4565b61225567116acfd3aae0fe8e60c01b612be4565b612260818484612be7565b50505050565b600061227c677bb6735d7d9946ca60c01b611e13565b612290674a050b6af11603c360c01b611e13565b620186a0600c7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000856122e391906151e4565b6122ed91906151e4565b6122f791906149db565b61230191906149db565b9050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61234d611d52565b73ffffffffffffffffffffffffffffffffffffffff1661236b61144d565b73ffffffffffffffffffffffffffffffffffffffff16146123c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b890615272565b60405180910390fd5b565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ee906152de565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516125e8919061409f565b60405180910390a3505050565b612600848484611eab565b61260c84848484612ca9565b61264b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264290615370565b60405180910390fd5b50505050565b606061265c82611d07565b6000600a6000848152602001908152602001600020805461267c906147f4565b80601f01602080910402602001604051908101604052809291908181526020018280546126a8906147f4565b80156126f55780601f106126ca576101008083540402835291602001916126f5565b820191906000526020600020905b8154815290600101906020018083116126d857829003601f168201915b505050505090506000612706612e30565b9050600081510361271b57819250505061275e565b6000825111156127505780826040516020016127389291906153cc565b6040516020818303038152906040529250505061275e565b61275984612e47565b925050505b919050565b6127776736154a25c7f9b58b60c01b612be4565b61278b67b400c0261f01f0aa60c01b612be4565b61279f67fbf9e60c8a9ac9b060c01b612be4565b60008490506127b86766519068df98b26660c01b612be4565b6127cc672fadc157701896d660c01b612be4565b6127d881858585612eaf565b5050505050565b60006127f567564296a7e1f7e12c60c01b611c8a565b612809679815aade8655b95360c01b611c8a565b61281d67eb9c32ae76ab030760c01b611c8a565b61283167b5361315735df1f460c01b611c8a565b600461ffff168251101561287a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128719061543c565b60405180910390fd5b61288e670fc0bfafc8f4787160c01b611c8a565b6128a26751cf052b811ae1da60c01b611c8a565b6128b66765d9421746db35fd60c01b611c8a565b6128ca67fd8c14ba5207c71560c01b611c8a565b61010061ffff16825110612913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290a906154a8565b60405180910390fd5b612927673799fda4b289531f60c01b611c8a565b61293b67a9143d05f560701160c01b611c8a565b61294f672afc5e1af5d747ef60c01b611c8a565b612959600b612f74565b61296d67af60a4f926f9d5db60c01b611c8a565b612981672286c83e0cf2e9ee60c01b611c8a565b600061298d600b612f8a565b90506129a367c2d0367ce056f86260c01b611c8a565b6129b7670aec3375343c5e5a60c01b611c8a565b6129c18482612f98565b6129d567dc3e346078b31a0660c01b611c8a565b6129e9670a80bce753b6e22960c01b611c8a565b6129f38184612fb6565b612a0767890b831768e5273d60c01b611c8a565b612a1b6702e85bb7a2d8d1b760c01b611c8a565b8091505092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612af057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612b005750612aff82613023565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16612b2983612308565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b612b5c674610a713ac0a778860c01b611c8a565b612b70679bfb78e1bb3cfcce60c01b611c8a565b612b8467bd63a0c72e3e111060c01b611c8a565b612b908484848461308d565b50505050565b50505050565b612bb0678d879b34c258770d60c01b611c8a565b612bc4676eb7c7882278361060c01b611c8a565b612bd8674b9bb1a42d2dcd5a60c01b611c8a565b612be1816131eb565b50565b50565b612bfb6719f586204e6bc5ac60c01b612be4565b612c0f67fcdc95b3ba8d755f60c01b612be4565b612c2367f3de2d37f12c892b60c01b612be4565b612ca48363a9059cbb60e01b8484604051602401612c429291906154c8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061323e565b505050565b6000612cca8473ffffffffffffffffffffffffffffffffffffffff16613558565b15612e23578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612cf3611d52565b8786866040518563ffffffff1660e01b8152600401612d159493929190615546565b6020604051808303816000875af1925050508015612d5157506040513d601f19601f82011682018060405250810190612d4e91906155a7565b60015b612dd3573d8060008114612d81576040519150601f19603f3d011682016040523d82523d6000602084013e612d86565b606091505b506000815103612dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc290615370565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612e28565b600190505b949350505050565b606060405180602001604052806000815250905090565b6060612e5282611d07565b6000612e5c612e30565b90506000815111612e7c5760405180602001604052806000815250612ea7565b80612e868461357b565b604051602001612e979291906153cc565b6040516020818303038152906040525b915050919050565b612ec367116bf9533639f0fb60c01b612be4565b612ed7673ae11610c3eab95d60c01b612be4565b612eeb677e60de3ae25c87db60c01b612be4565b612f6e846323b872dd60e01b858585604051602401612f0c939291906155d4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061323e565b50505050565b6001816000016000828254019250508190555050565b600081600001549050919050565b612fb2828260405180602001604052806000815250613649565b5050565b612fbf82612b07565b612ffe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ff59061567d565b60405180910390fd5b80600a6000848152602001908152602001600020908161301e9190615849565b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b613099848484846136a4565b60018111156130dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d49061598d565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036131245761311f816137ca565b613163565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614613162576131618582613813565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036131a5576131a081613980565b6131e4565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146131e3576131e28482613a51565b5b5b5050505050565b6131f481613ad0565b6000600a60008381526020019081526020016000208054613214906147f4565b90501461323b57600a6000828152602001908152602001600020600061323a9190613f8e565b5b50565b61325267d5d126e0959780cf60c01b612be4565b61326667c24efdce079dcd9160c01b612be4565b61327a67baa35d3d4257105960c01b612be4565b600061329067b497f173242ecabf60c01b612be4565b823b90506132a867154cd374c2c7eef960c01b612be4565b6132bc67fd69028ab44f212d60c01b612be4565b6132d0671a5df5a4cde1574960c01b612be4565b60008111613313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161330a906159f9565b60405180910390fd5b613327677ed59d23748a6e8660c01b612be4565b61333b67c330c11db880c18c60c01b612be4565b61334f67f4c31c065de2eb3260c01b612be4565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516133779190615a55565b6000604051808303816000865af19150503d80600081146133b4576040519150601f19603f3d011682016040523d82523d6000602084013e6133b9565b606091505b50915091506133d267e48a1cdf9da73a6660c01b612be4565b6133e667ac36f8535a3b97cc60c01b612be4565b6133fa67c43688c3e4ef466160c01b612be4565b8161343a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161343190615ab8565b60405180910390fd5b61344e67a96d85eb51152e5860c01b612be4565b6134626739ac38b3bbb7418460c01b612be4565b6134766745a0102c19ccf52060c01b612be4565b60008151111561353c576134946793bbfff6f1cfef3460c01b612be4565b6134a867aff4bca1a2eca32f60c01b612be4565b6134bc67b1013c3f57cf46d760c01b612be4565b6134d067908d8ee42f9b329660c01b612be4565b808060200190518101906134e49190615aed565b613523576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351a90615b8c565b60405180910390fd5b61353767ce18091906325f8460c01b612be4565b613551565b61355067bacbc07ba0c8704360c01b612be4565b5b5050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60606000600161358a84613c1e565b01905060008167ffffffffffffffff8111156135a9576135a86144da565b5b6040519080825280601f01601f1916602001820160405280156135db5781602001600182028036833780820191505090505b509050600082602001820190505b60011561363e578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581613632576136316149ac565b5b049450600085036135e9575b819350505050919050565b6136538383613d71565b6136606000848484612ca9565b61369f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161369690615370565b60405180910390fd5b505050565b60018111156137c457600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146137385780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546137309190614978565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146137c35780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546137bb9190614b76565b925050819055505b5b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001613820846111b4565b61382a9190614978565b905060006007600084815260200190815260200160002054905081811461390f576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506139949190614978565b90506000600960008481526020019081526020016000205490506000600883815481106139c4576139c3614d05565b5b9060005260206000200154905080600883815481106139e6576139e5614d05565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480613a3557613a34615bac565b5b6001900381819060005260206000200160009055905550505050565b6000613a5c836111b4565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000613adb8261112e565b9050613aeb816000846001612b48565b613af48261112e565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613c1a816000846001612b96565b5050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613c7c577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381613c7257613c716149ac565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613cb9576d04ee2d6d415b85acef81000000008381613caf57613cae6149ac565b5b0492506020810190505b662386f26fc100008310613ce857662386f26fc100008381613cde57613cdd6149ac565b5b0492506010810190505b6305f5e1008310613d11576305f5e1008381613d0757613d066149ac565b5b0492506008810190505b6127108310613d36576127108381613d2c57613d2b6149ac565b5b0492506004810190505b60648310613d595760648381613d4f57613d4e6149ac565b5b0492506002810190505b600a8310613d68576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613de0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dd790615c27565b60405180910390fd5b613de981612b07565b15613e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e2090615c93565b60405180910390fd5b613e37600083836001612b48565b613e4081612b07565b15613e80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e7790615c93565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613f8a600083836001612b96565b5050565b508054613f9a906147f4565b6000825580601f10613fac5750613fcb565b601f016020900490600052602060002090810190613fca9190613fce565b5b50565b5b80821115613fe7576000816000905550600101613fcf565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61403481613fff565b811461403f57600080fd5b50565b6000813590506140518161402b565b92915050565b60006020828403121561406d5761406c613ff5565b5b600061407b84828501614042565b91505092915050565b60008115159050919050565b61409981614084565b82525050565b60006020820190506140b46000830184614090565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156140f45780820151818401526020810190506140d9565b60008484015250505050565b6000601f19601f8301169050919050565b600061411c826140ba565b61412681856140c5565b93506141368185602086016140d6565b61413f81614100565b840191505092915050565b600060208201905081810360008301526141648184614111565b905092915050565b6000819050919050565b61417f8161416c565b811461418a57600080fd5b50565b60008135905061419c81614176565b92915050565b6000602082840312156141b8576141b7613ff5565b5b60006141c68482850161418d565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006141fa826141cf565b9050919050565b61420a816141ef565b82525050565b60006020820190506142256000830184614201565b92915050565b614234816141ef565b811461423f57600080fd5b50565b6000813590506142518161422b565b92915050565b6000806040838503121561426e5761426d613ff5565b5b600061427c85828601614242565b925050602061428d8582860161418d565b9150509250929050565b6142a08161416c565b82525050565b60006020820190506142bb6000830184614297565b92915050565b6000806000606084860312156142da576142d9613ff5565b5b60006142e886828701614242565b93505060206142f986828701614242565b925050604061430a8682870161418d565b9150509250925092565b600061ffff82169050919050565b61432b81614314565b82525050565b60006020820190506143466000830184614322565b92915050565b600060a0820190506143616000830188614297565b61436e6020830187614297565b61437b6040830186614297565b818103606083015261438d8185614111565b905061439c6080830184614090565b9695505050505050565b600060c0820190506143bb6000830189614297565b6143c86020830188614297565b6143d56040830187614297565b6143e26060830186614297565b81810360808301526143f48185614111565b905061440360a0830184614090565b979650505050505050565b60006020828403121561442457614423613ff5565b5b600061443284828501614242565b91505092915050565b61444481614084565b811461444f57600080fd5b50565b6000813590506144618161443b565b92915050565b6000806040838503121561447e5761447d613ff5565b5b600061448c85828601614242565b925050602061449d85828601614452565b9150509250929050565b60006040820190506144bc6000830185614297565b6144c96020830184614297565b9392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61451282614100565b810181811067ffffffffffffffff82111715614531576145306144da565b5b80604052505050565b6000614544613feb565b90506145508282614509565b919050565b600067ffffffffffffffff8211156145705761456f6144da565b5b61457982614100565b9050602081019050919050565b82818337600083830152505050565b60006145a86145a384614555565b61453a565b9050828152602081018484840111156145c4576145c36144d5565b5b6145cf848285614586565b509392505050565b600082601f8301126145ec576145eb6144d0565b5b81356145fc848260208601614595565b91505092915050565b6000806000806080858703121561461f5761461e613ff5565b5b600061462d87828801614242565b945050602061463e87828801614242565b935050604061464f8782880161418d565b925050606085013567ffffffffffffffff8111156146705761466f613ffa565b5b61467c878288016145d7565b91505092959194509250565b6000806040838503121561469f5761469e613ff5565b5b60006146ad85828601614242565b92505060206146be85828601614242565b9150509250929050565b600067ffffffffffffffff8211156146e3576146e26144da565b5b6146ec82614100565b9050602081019050919050565b600061470c614707846146c8565b61453a565b905082815260208101848484011115614728576147276144d5565b5b614733848285614586565b509392505050565b600082601f8301126147505761474f6144d0565b5b81356147608482602086016146f9565b91505092915050565b600080604083850312156147805761477f613ff5565b5b600061478e8582860161418d565b925050602083013567ffffffffffffffff8111156147af576147ae613ffa565b5b6147bb8582860161473b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061480c57607f821691505b60208210810361481f5761481e6147c5565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006148816021836140c5565b915061488c82614825565b604082019050919050565b600060208201905081810360008301526148b081614874565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614913603d836140c5565b915061491e826148b7565b604082019050919050565b6000602082019050818103600083015261494281614906565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006149838261416c565b915061498e8361416c565b92508282039050818111156149a6576149a5614949565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006149e68261416c565b91506149f18361416c565b925082614a0157614a006149ac565b5b828204905092915050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000614a68602d836140c5565b9150614a7382614a0c565b604082019050919050565b60006020820190508181036000830152614a9781614a5b565b9050919050565b7f6e6f7420616e206f776e65720000000000000000000000000000000000000000600082015250565b6000614ad4600c836140c5565b9150614adf82614a9e565b602082019050919050565b60006020820190508181036000830152614b0381614ac7565b9050919050565b7f6465706f736974206973206c6f636b6564000000000000000000000000000000600082015250565b6000614b406011836140c5565b9150614b4b82614b0a565b602082019050919050565b60006020820190508181036000830152614b6f81614b33565b9050919050565b6000614b818261416c565b9150614b8c8361416c565b9250828201905080821115614ba457614ba3614949565b5b92915050565b6000606082019050614bbf6000830186614297565b614bcc6020830185614297565b614bd96040830184614297565b949350505050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614c3d602b836140c5565b9150614c4882614be1565b604082019050919050565b60006020820190508181036000830152614c6c81614c30565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614ccf602c836140c5565b9150614cda82614c73565b604082019050919050565b60006020820190508181036000830152614cfe81614cc2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614d6a6018836140c5565b9150614d7582614d34565b602082019050919050565b60006020820190508181036000830152614d9981614d5d565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614dfc6029836140c5565b9150614e0782614da0565b604082019050919050565b60006020820190508181036000830152614e2b81614def565b9050919050565b7f6c6f77207265776172642062616c616e63650000000000000000000000000000600082015250565b6000614e686012836140c5565b9150614e7382614e32565b602082019050919050565b60006020820190508181036000830152614e9781614e5b565b9050919050565b7f696e76616c696420616d6f756e74000000000000000000000000000000000000600082015250565b6000614ed4600e836140c5565b9150614edf82614e9e565b602082019050919050565b60006020820190508181036000830152614f0381614ec7565b9050919050565b7f696e76616c6964206465706f7369740000000000000000000000000000000000600082015250565b6000614f40600f836140c5565b9150614f4b82614f0a565b602082019050919050565b60006020820190508181036000830152614f6f81614f33565b9050919050565b7f7374616b696e67206c696d697420726561636865640000000000000000000000600082015250565b6000614fac6015836140c5565b9150614fb782614f76565b602082019050919050565b60006020820190508181036000830152614fdb81614f9f565b9050919050565b6000608082019050614ff76000830187614297565b6150046020830186614297565b6150116040830185614297565b81810360608301526150238184614111565b905095945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061508a6026836140c5565b91506150958261502e565b604082019050919050565b600060208201905081810360008301526150b98161507d565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061511c6025836140c5565b9150615127826150c0565b604082019050919050565b6000602082019050818103600083015261514b8161510f565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006151ae6024836140c5565b91506151b982615152565b604082019050919050565b600060208201905081810360008301526151dd816151a1565b9050919050565b60006151ef8261416c565b91506151fa8361416c565b92508282026152088161416c565b9150828204841483151761521f5761521e614949565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061525c6020836140c5565b915061526782615226565b602082019050919050565b6000602082019050818103600083015261528b8161524f565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006152c86019836140c5565b91506152d382615292565b602082019050919050565b600060208201905081810360008301526152f7816152bb565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061535a6032836140c5565b9150615365826152fe565b604082019050919050565b600060208201905081810360008301526153898161534d565b9050919050565b600081905092915050565b60006153a6826140ba565b6153b08185615390565b93506153c08185602086016140d6565b80840191505092915050565b60006153d8828561539b565b91506153e4828461539b565b91508190509392505050565b7f55524920697320746f6f2073686f727400000000000000000000000000000000600082015250565b60006154266010836140c5565b9150615431826153f0565b602082019050919050565b6000602082019050818103600083015261545581615419565b9050919050565b7f55524920697320746f6f206c6f6e670000000000000000000000000000000000600082015250565b6000615492600f836140c5565b915061549d8261545c565b602082019050919050565b600060208201905081810360008301526154c181615485565b9050919050565b60006040820190506154dd6000830185614201565b6154ea6020830184614297565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000615518826154f1565b61552281856154fc565b93506155328185602086016140d6565b61553b81614100565b840191505092915050565b600060808201905061555b6000830187614201565b6155686020830186614201565b6155756040830185614297565b8181036060830152615587818461550d565b905095945050505050565b6000815190506155a18161402b565b92915050565b6000602082840312156155bd576155bc613ff5565b5b60006155cb84828501615592565b91505092915050565b60006060820190506155e96000830186614201565b6155f66020830185614201565b6156036040830184614297565b949350505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000615667602e836140c5565b91506156728261560b565b604082019050919050565b600060208201905081810360008301526156968161565a565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026156ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826156c2565b61570986836156c2565b95508019841693508086168417925050509392505050565b6000819050919050565b600061574661574161573c8461416c565b615721565b61416c565b9050919050565b6000819050919050565b6157608361572b565b61577461576c8261574d565b8484546156cf565b825550505050565b600090565b61578961577c565b615794818484615757565b505050565b5b818110156157b8576157ad600082615781565b60018101905061579a565b5050565b601f8211156157fd576157ce8161569d565b6157d7846156b2565b810160208510156157e6578190505b6157fa6157f2856156b2565b830182615799565b50505b505050565b600082821c905092915050565b600061582060001984600802615802565b1980831691505092915050565b6000615839838361580f565b9150826002028217905092915050565b615852826140ba565b67ffffffffffffffff81111561586b5761586a6144da565b5b61587582546147f4565b6158808282856157bc565b600060209050601f8311600181146158b357600084156158a1578287015190505b6158ab858261582d565b865550615913565b601f1984166158c18661569d565b60005b828110156158e9578489015182556001820191506020850194506020810190506158c4565b868310156159065784890151615902601f89168261580f565b8355505b6001600288020188555050505b505050505050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006159776035836140c5565b91506159828261591b565b604082019050919050565b600060208201905081810360008301526159a68161596a565b9050919050565b7f5061796d656e743a204e4f545f415f434f4e5452414354000000000000000000600082015250565b60006159e36017836140c5565b91506159ee826159ad565b602082019050919050565b60006020820190508181036000830152615a12816159d6565b9050919050565b600081905092915050565b6000615a2f826154f1565b615a398185615a19565b9350615a498185602086016140d6565b80840191505092915050565b6000615a618284615a24565b915081905092915050565b7f5061796d656e743a2043414c4c5f4641494c4544000000000000000000000000600082015250565b6000615aa26014836140c5565b9150615aad82615a6c565b602082019050919050565b60006020820190508181036000830152615ad181615a95565b9050919050565b600081519050615ae78161443b565b92915050565b600060208284031215615b0357615b02613ff5565b5b6000615b1184828501615ad8565b91505092915050565b7f5061796d656e743a204f5045524154494f4e5f4449445f4e4f545f535543434560008201527f4544000000000000000000000000000000000000000000000000000000000000602082015250565b6000615b766022836140c5565b9150615b8182615b1a565b604082019050919050565b60006020820190508181036000830152615ba581615b69565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615c116020836140c5565b9150615c1c82615bdb565b602082019050919050565b60006020820190508181036000830152615c4081615c04565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615c7d601c836140c5565b9150615c8882615c47565b602082019050919050565b60006020820190508181036000830152615cac81615c70565b905091905056fea26469706673582212207a76ca46bdc1b94e252673d1e79af954dd7ccf380eab3a021860f66221540b7b64736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000099e08fc6905fff3c1291d479ce605b341086246500000000000000000000000000000000000000000000000000000000000061a800000000000000000000000000000000000000000001a784379d99db42000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000145772617070656420416374614669204e46542038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c4163746146692d4e46542d380000000000000000000000000000000000000000