60806040526040518060400160405280600881526020017f536e6f7762616c6c0000000000000000000000000000000000000000000000008152506000908051906020019062000051929190620007c6565b506040518060400160405280600481526020017f534e4f5700000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f929190620007c6565b50614e206010556101f46011556101f460125560148055348015620000c357600080fd5b5060405162006417380380620064178339818101604052810190620000e9919062000922565b6000620000fb620007be60201b60201c565b905080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35084600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008573ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015620002e757600080fd5b505afa158015620002fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003229190620008f6565b905080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600f8190555060008173ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015620003b557600080fd5b505afa158015620003ca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f09190620008f6565b905060008273ffffffffffffffffffffffffffffffffffffffff1663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200043b57600080fd5b505afa15801562000450573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004769190620008f6565b905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508773ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156200054157600080fd5b505afa15801562000556573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190620005819190620009a4565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620005ea57600080fd5b505afa158015620005ff573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906200062a9190620009a4565b8373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156200067157600080fd5b505afa15801562000686573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190620006b19190620009a4565b8373ffffffffffffffffffffffffffffffffffffffff166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620006f857600080fd5b505afa1580156200070d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190620007389190620009a4565b6040516020016200074d949392919062000b7b565b6040516020818303038152906040526000908051906020019062000773929190620007c6565b507fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef234600080604051620007a892919062000c02565b60405180910390a1505050505050505062000d6a565b600033905090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200080957805160ff19168380011785556200083a565b828001600101855582156200083a579182015b82811115620008395782518255916020019190600101906200081c565b5b5090506200084991906200084d565b5090565b5b80821115620008685760008160009055506001016200084e565b5090565b6000815190506200087d8162000d36565b92915050565b600082601f8301126200089557600080fd5b8151620008ac620008a68262000c63565b62000c2f565b91508082526020830160208301858383011115620008c957600080fd5b620008d683828462000cfe565b50505092915050565b600081519050620008f08162000d50565b92915050565b6000602082840312156200090957600080fd5b600062000919848285016200086c565b91505092915050565b600080600080600060a086880312156200093b57600080fd5b60006200094b888289016200086c565b95505060206200095e888289016200086c565b945050604062000971888289016200086c565b935050606062000984888289016200086c565b92505060806200099788828901620008df565b9150509295509295909350565b600060208284031215620009b757600080fd5b600082015167ffffffffffffffff811115620009d257600080fd5b620009e08482850162000883565b91505092915050565b620009f48162000cea565b82525050565b600062000a078262000c96565b62000a13818562000ca1565b935062000a2581856020860162000cfe565b80840191505092915050565b600062000a4060018362000ca1565b91507f29000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b600062000a8260018362000ca1565b91507f20000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b600062000ac460028362000ca1565b91507f20280000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b600062000b0660018362000ca1565b91507f2d000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b600062000b48600a8362000ca1565b91507f536e6f7762616c6c3a20000000000000000000000000000000000000000000006000830152600a82019050919050565b600062000b888262000b39565b915062000b968287620009fa565b915062000ba38262000ab5565b915062000bb18286620009fa565b915062000bbe8262000a73565b915062000bcc8285620009fa565b915062000bd98262000af7565b915062000be78284620009fa565b915062000bf48262000a31565b915081905095945050505050565b600060408201905062000c196000830185620009e9565b62000c286020830184620009e9565b9392505050565b6000604051905081810181811067ffffffffffffffff8211171562000c595762000c5862000d34565b5b8060405250919050565b600067ffffffffffffffff82111562000c815762000c8062000d34565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600081905092915050565b600062000cb98262000cc0565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000cf78262000ce0565b9050919050565b60005b8381101562000d1e57808201518184015260208101905062000d01565b8381111562000d2e576000848401525b50505050565bfe5b62000d418162000cac565b811462000d4d57600080fd5b50565b62000d5b8162000ce0565b811462000d6757600080fd5b50565b61569d8062000d7a6000396000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80638aff733d1161015c578063cff1b6ef116100ce578063ed24911d11610087578063ed24911d1461077f578063ee99205c1461079d578063f2fde38b146107bb578063f7c618c1146107d7578063f887ea40146107f5578063fdb5a03e146108135761028a565b8063cff1b6ef146106c1578063d3bd0e0b146106dd578063d505accf1461070d578063db2e21bc14610729578063dd62ed3e14610733578063e41e0913146107635761028a565b8063a9059cbb11610120578063a9059cbb146105fd578063b6b55f251461062d578063b9e57b8014610649578063bd079f5514610667578063c4b24a4614610685578063c89039c5146106a35761028a565b80638aff733d146105695780638da5cb5b1461058757806395d89b41146105a55780639e4e7318146105c3578063a8ae2b7c146105e15761028a565b806330adf81f11610200578063715018a6116101b9578063715018a6146104a95780637739524c146104b35780637d882097146104e35780637ecebe001461050157806381837230146105315780638980f11f1461054d5761028a565b806330adf81f146103e5578063313ce567146104035780634ebb7916146104215780635eaec0e41461043d5780635fcbd2851461045b57806370a08231146104795761028a565b80631331731411610252578063133173141461033557806318160ddd1461035357806320606b7014610371578063236aecd51461038f57806323b872dd146103995780632e1a7d4d146103c95761028a565b806303f7d9071461028f57806306fdde03146102ab57806307677111146102c9578063095ea7b3146102e75780631145180414610317575b600080fd5b6102a960048036038101906102a49190614279565b61081d565b005b6102b36108de565b6040516102c09190614e98565b60405180910390f35b6102d161097c565b6040516102de919061515a565b60405180910390f35b61030160048036038101906102fc919061413c565b610982565b60405161030e9190614ce2565b60405180910390f35b61031f610999565b60405161032c919061515a565b60405180910390f35b61033d61099f565b60405161034a9190614ce2565b60405180910390f35b61035b6109b2565b604051610368919061515a565b60405180910390f35b6103796109b8565b6040516103869190614cfd565b60405180910390f35b6103976109df565b005b6103b360048036038101906103ae919061404f565b610acd565b6040516103c09190614ce2565b60405180910390f35b6103e360048036038101906103de9190614279565b610ce6565b005b6103ed610e56565b6040516103fa9190614cfd565b60405180910390f35b61040b610e7d565b604051610418919061527a565b60405180910390f35b61043b60048036038101906104369190614279565b610e82565b005b610445610fc5565b604051610452919061515a565b60405180910390f35b610463610fcb565b6040516104709190614e47565b60405180910390f35b610493600480360381019061048e9190613fea565b610ff1565b6040516104a0919061515a565b60405180910390f35b6104b161103a565b005b6104cd60048036038101906104c89190614279565b611177565b6040516104da919061515a565b60405180910390f35b6104eb6111d0565b6040516104f8919061515a565b60405180910390f35b61051b60048036038101906105169190613fea565b6111d6565b604051610528919061515a565b60405180910390f35b61054b60048036038101906105469190614279565b6111ee565b005b6105676004803603810190610562919061413c565b6112af565b005b610571611439565b60405161057e919061515a565b60405180910390f35b61058f61143f565b60405161059c9190614b97565b60405180910390f35b6105ad611469565b6040516105ba9190614e98565b60405180910390f35b6105cb611507565b6040516105d89190614cfd565b60405180910390f35b6105fb60048036038101906105f69190614279565b61152e565b005b6106176004803603810190610612919061413c565b611648565b6040516106249190614ce2565b60405180910390f35b61064760048036038101906106429190614279565b61165f565b005b61065161183e565b60405161065e919061515a565b60405180910390f35b61066f61188e565b60405161067c919061515a565b60405180910390f35b61068d611894565b60405161069a919061515a565b60405180910390f35b6106ab611a11565b6040516106b89190614e7d565b60405180910390f35b6106db60048036038101906106d69190614279565b611a37565b005b6106f760048036038101906106f29190614279565b611b51565b604051610704919061515a565b60405180910390f35b6107276004803603810190610722919061409e565b611bab565b005b610731611cb5565b005b61074d60048036038101906107489190614013565b611dca565b60405161075a919061515a565b60405180910390f35b61077d60048036038101906107789190614178565b611e51565b005b610787612152565b6040516107949190614cfd565b60405180910390f35b6107a56121eb565b6040516107b29190614e2c565b60405180910390f35b6107d560048036038101906107d09190613fea565b612211565b005b6107df6123bd565b6040516107ec9190614e11565b60405180910390f35b6107fd6123e3565b60405161080a9190614e62565b60405180910390f35b61081b612409565b005b6108256124d4565b73ffffffffffffffffffffffffffffffffffffffff1661084361143f565b73ffffffffffffffffffffffffffffffffffffffff1614610899576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108909061501a565b60405180910390fd5b7fd0f7c999974ac5e720302e1a81f85f0e86835bd50d1cdd4086c839df9c123aab601454826040516108cc9291906151f7565b60405180910390a18060148190555050565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109745780601f1061094957610100808354040283529160200191610974565b820191906000526020600020905b81548152906001019060200180831161095757829003601f168201915b505050505081565b60125481565b600061098f3384846124dc565b6001905092915050565b60145481565b601360009054906101000a900460ff1681565b60025481565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b81565b6109e76124d4565b73ffffffffffffffffffffffffffffffffffffffff16610a0561143f565b73ffffffffffffffffffffffffffffffffffffffff1614610a5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a529061501a565b60405180910390fd5b601360009054906101000a900460ff1615601360006101000a81548160ff0219169083151502179055507fd46852adf64681b12b81a308b01efd0a546667f68ab41ae5855c2bae7756380f601360009054906101000a900460ff16604051610ac39190614ce2565b60405180910390a1565b6000803390506000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015610bb057507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114155b15610cce576000610be4856040518060600160405280602f81526020016155e4602f9139846126a79092919063ffffffff16565b905080600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610cc4919061515a565b60405180910390a3505b610cd9868686612702565b6001925050509392505050565b6000610cf182611b51565b90506000811115610e5257610d0581612920565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401610d62929190614be9565b602060405180830381600087803b158015610d7c57600080fd5b505af1158015610d90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db49190614250565b610df3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dea906150fa565b60405180910390fd5b610dfd33836129f7565b610e1281600754612b4590919063ffffffff16565b6007819055507f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243643382604051610e49929190614be9565b60405180910390a15b5050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b81565b601281565b610e8a6124d4565b73ffffffffffffffffffffffffffffffffffffffff16610ea861143f565b73ffffffffffffffffffffffffffffffffffffffff1614610efe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef59061501a565b60405180910390fd5b60008111610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3890614f3a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f87573d6000803e3d6000fd5b507f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28600082604051610fba929190614be9565b60405180910390a150565b600f5481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110426124d4565b73ffffffffffffffffffffffffffffffffffffffff1661106061143f565b73ffffffffffffffffffffffffffffffffffffffff16146110b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ad9061501a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600080611191600754600254612b8f90919063ffffffff16565b141561119f578190506111cb565b6111c86007546111ba60025485612b8f90919063ffffffff16565b612bff90919063ffffffff16565b90505b919050565b60075481565b60056020528060005260406000206000915090505481565b6111f66124d4565b73ffffffffffffffffffffffffffffffffffffffff1661121461143f565b73ffffffffffffffffffffffffffffffffffffffff161461126a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112619061501a565b60405180910390fd5b7f481f79ac3a523b6d6db3c5a720e190e986d1cc1b41adcdf50f9caef8499011006010548260405161129d9291906151f7565b60405180910390a18060108190555050565b6112b76124d4565b73ffffffffffffffffffffffffffffffffffffffff166112d561143f565b73ffffffffffffffffffffffffffffffffffffffff161461132b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113229061501a565b60405180910390fd5b6000811161136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136590614f3a565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b81526004016113a9929190614be9565b602060405180830381600087803b1580156113c357600080fd5b505af11580156113d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fb9190614250565b507f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28828260405161142d929190614cb9565b60405180910390a15050565b60115481565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114ff5780601f106114d4576101008083540402835291602001916114ff565b820191906000526020600020905b8154815290600101906020018083116114e257829003601f168201915b505050505081565b7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660001b81565b6115366124d4565b73ffffffffffffffffffffffffffffffffffffffff1661155461143f565b73ffffffffffffffffffffffffffffffffffffffff16146115aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a19061501a565b60405180910390fd5b6127106115c260125483612c4990919063ffffffff16565b1115611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fa9061513a565b60405180910390fd5b7fe7f97d51d307dc44045597c9978bec0f842e6bb40d19b9444084cfa30d9ed4f2601154826040516116369291906151f7565b60405180910390a18060118190555050565b6000611655338484612702565b6001905092915050565b60025460075410156116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d906150da565b60405180910390fd5b601360009054906101000a900460ff16156116dc5760006116c5611894565b905060145481106116da576116d981612c9e565b5b505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b815260040161173b93929190614bb2565b602060405180830381600087803b15801561175557600080fd5b505af1158015611769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061178d9190614250565b6117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c39061507a565b60405180910390fd5b6117d581613027565b6117e7336117e283611177565b6130fe565b6117fc81600754612c4990919063ffffffff16565b6007819055507fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c3382604051611833929190614be9565b60405180910390a150565b600080611849611894565b905060105481106118855761187d61271061186f60115484612b8f90919063ffffffff16565b612bff90919063ffffffff16565b91505061188b565b60009150505b90565b60105481565b600080600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f90a25be600f54306040518363ffffffff1660e01b81526004016118f6929190615175565b60206040518083038186803b15801561190e57600080fd5b505afa158015611922573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194691906142a2565b90506000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119a59190614b97565b60206040518083038186803b1580156119bd57600080fd5b505afa1580156119d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f591906142a2565b9050611a0a8183612c4990919063ffffffff16565b9250505090565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611a3f6124d4565b73ffffffffffffffffffffffffffffffffffffffff16611a5d61143f565b73ffffffffffffffffffffffffffffffffffffffff1614611ab3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aaa9061501a565b60405180910390fd5b612710611acb60115483612c4990919063ffffffff16565b1115611b0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b039061509a565b60405180910390fd5b7f3cc372f330f95ac9540626dc8a25f5bf21ba607215a5d58304cb804d446f104a60125482604051611b3f9291906151f7565b60405180910390a18060128190555050565b600080611b6b600754600254612b8f90919063ffffffff16565b1415611b7a5760009050611ba6565b611ba3600254611b9560075485612b8f90919063ffffffff16565b612bff90919063ffffffff16565b90505b919050565b42841015611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be590614f7a565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960001b888888600560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505589604051602001611c7b96959493929190614d18565b604051602081830303815290604052805190602001209050611ca08882868686613218565b611cab8888886124dc565b5050505050505050565b611cbd6124d4565b73ffffffffffffffffffffffffffffffffffffffff16611cdb61143f565b73ffffffffffffffffffffffffffffffffffffffff1614611d31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d289061501a565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635312ea8e600f546040518263ffffffff1660e01b8152600401611d8e919061515a565b600060405180830381600087803b158015611da857600080fd5b505af1158015611dbc573d6000803e3d6000fd5b505050506000600781905550565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611e596124d4565b73ffffffffffffffffffffffffffffffffffffffff16611e7761143f565b73ffffffffffffffffffffffffffffffffffffffff1614611ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec49061501a565b60405180910390fd5b81518351148015611edf575080518351145b611f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1590614efa565b60405180910390fd5b60005b835181101561214c576000848281518110611f3857fe5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30868681518110611f6d57fe5b60200260200101516040518363ffffffff1660e01b8152600401611f92929190614c12565b60206040518083038186803b158015611faa57600080fd5b505afa158015611fbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe291906142a2565b9050848381518110611ff057fe5b6020026020010151811415801561204557507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811415806120445750600085848151811061203a57fe5b6020026020010151145b5b1561213d578173ffffffffffffffffffffffffffffffffffffffff1663095ea7b385858151811061207257fe5b602002602001015187868151811061208657fe5b60200260200101516040518363ffffffff1660e01b81526004016120ab929190614cb9565b602060405180830381600087803b1580156120c557600080fd5b505af11580156120d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120fd9190614250565b61213c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213390614f9a565b60405180910390fd5b5b50508080600101915050611f21565b50505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60006040516121879190614b49565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660001b6121bb61334f565b306040516020016121d0959493929190614d79565b60405160208183030381529060405280519060200120905090565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6122196124d4565b73ffffffffffffffffffffffffffffffffffffffff1661223761143f565b73ffffffffffffffffffffffffffffffffffffffff161461228d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122849061501a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156122fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122f490614eba565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614612477576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246e906150ba565b60405180910390fd5b6000612481611894565b90506010548110156124c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124bf90614fba565b60405180910390fd5b6124d181612c9e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561254c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125439061503a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b39061511a565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161269a919061515a565b60405180910390a3505050565b60008383111582906126ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e69190614e98565b60405180910390fd5b5060008385039050809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612772576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127699061505a565b60405180910390fd5b6127de816040518060600160405280602e815260200161563a602e9139600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a79092919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061287381600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4990919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612913919061515a565b60405180910390a3505050565b60008111612963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161295a90614f3a565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663441a3e70600f54836040518363ffffffff1660e01b81526004016129c29291906151f7565b600060405180830381600087803b1580156129dc57600080fd5b505af11580156129f0573d6000803e3d6000fd5b5050505050565b612a638160405180606001604052806027815260200161561360279139600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126a79092919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ad5816040518060600160405280602781526020016155bd602791396002546126a79092919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b39919061515a565b60405180910390a35050565b6000612b8783836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f77008152506126a7565b905092915050565b600080831415612ba25760009050612bf9565b6000828402905082848281612bb357fe5b0414612bf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612beb90614ffa565b60405180910390fd5b809150505b92915050565b6000612c4183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061335c565b905092915050565b600080828401905083811015612c94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8b90614eda565b60405180910390fd5b8091505092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2bbb158600f5460006040518363ffffffff1660e01b8152600401612cfe9291906151ce565b600060405180830381600087803b158015612d1857600080fd5b505af1158015612d2c573d6000803e3d6000fd5b505050506000612d5b612710612d4d60125485612b8f90919063ffffffff16565b612bff90919063ffffffff16565b90506000811115612e5c57600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612dac61143f565b836040518363ffffffff1660e01b8152600401612dca929190614cb9565b602060405180830381600087803b158015612de457600080fd5b505af1158015612df8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1c9190614250565b612e5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5290614fda565b60405180910390fd5b5b6000612e87612710612e7960115486612b8f90919063ffffffff16565b612bff90919063ffffffff16565b90506000811115612f8157600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401612eef929190614be9565b602060405180830381600087803b158015612f0957600080fd5b505af1158015612f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f419190614250565b612f80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7790614f5a565b60405180910390fd5b5b6000612fb0612fab83612f9d8688612b4590919063ffffffff16565b612b4590919063ffffffff16565b6133bd565b90506000612fbd82613b85565b9050612fc881613027565b612fdd81600754612c4990919063ffffffff16565b6007819055507fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef2346007546002546040516130189291906151f7565b60405180910390a15050505050565b6000811161306a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161306190614f3a565b60405180910390fd5b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e2bbb158600f54836040518363ffffffff1660e01b81526004016130c99291906151f7565b600060405180830381600087803b1580156130e357600080fd5b505af11580156130f7573d6000803e3d6000fd5b5050505050565b61311381600254612c4990919063ffffffff16565b60028190555061316b81600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c4990919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161320c919061515a565b60405180910390a35050565b6000613222612152565b85604051602001613234929190614b60565b6040516020818303038152906040528051906020012090506000600182868686604051600081526020016040526040516132719493929190614dcc565b6020604051602081039080840390855afa158015613293573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561330757508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b613346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161333d90614f1a565b60405180910390fd5b50505050505050565b6000804690508091505090565b600080831182906133a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339a9190614e98565b60405180910390fd5b5060008385816133af57fe5b049050809150509392505050565b6000806133d4600284612bff90919063ffffffff16565b905060008111613419576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161341090614f3a565b60405180910390fd5b6060600367ffffffffffffffff8111801561343357600080fd5b506040519080825280602002602001820160405280156134625781602001602082028036833780820191505090505b509050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160008151811061349557fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505073b31f66aa3c1e785363f0875a1b74e27b85fd66c7816001815181106134f157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160028151811061355b57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000829050816001835103815181106135aa57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16826000815181106135d557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614613785576060600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f85856040518363ffffffff1660e01b815260040161365792919061519e565b60006040518083038186803b15801561366f57600080fd5b505afa158015613683573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906136ac919061420f565b9050806001825103815181106136be57fe5b60200260200101519150600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed173985848630426040518663ffffffff1660e01b815260040161372b959493929190615220565b600060405180830381600087803b15801561374557600080fd5b505af1158015613759573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613782919061420f565b50505b6060600267ffffffffffffffff8111801561379f57600080fd5b506040519080825280602002602001820160405280156137ce5781602001602082028036833780820191505090505b509050826000815181106137de57fe5b6020026020010151816000815181106137f357fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061385d57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506000849050816001835103815181106138ac57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16826000815181106138d757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614613a87576060600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f87856040518363ffffffff1660e01b815260040161395992919061519e565b60006040518083038186803b15801561397157600080fd5b505afa158015613985573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906139ae919061420f565b9050806001825103815181106139c057fe5b60200260200101519150600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166338ed173987848630426040518663ffffffff1660e01b8152600401613a2d959493929190615220565b600060405180830381600087803b158015613a4757600080fd5b505af1158015613a5b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190613a84919061420f565b50505b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8e3370086600188510381518110613ad757fe5b602002602001015185600187510381518110613aef57fe5b6020026020010151878660008030426040518963ffffffff1660e01b8152600401613b21989796959493929190614c3b565b606060405180830381600087803b158015613b3b57600080fd5b505af1158015613b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b7391906142cb565b92505050809650505050505050919050565b6000808211613bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bc090614f3a565b60405180910390fd5b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b69ef8a86040518163ffffffff1660e01b815260040160206040518083038186803b158015613c3357600080fd5b505afa158015613c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c6b91906142a2565b90506000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015613cd757600080fd5b505afa158015613ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d0f91906142a2565b9050600080821415613d2357849050613d4b565b613d4883613d3a8488612b8f90919063ffffffff16565b612bff90919063ffffffff16565b90505b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b6b55f25866040518263ffffffff1660e01b8152600401613da6919061515a565b600060405180830381600087803b158015613dc057600080fd5b505af1158015613dd4573d6000803e3d6000fd5b50505050809350505050919050565b600081359050613df281615549565b92915050565b600082601f830112613e0957600080fd5b8135613e1c613e17826152c6565b615295565b91508181835260208401935060208101905083856020840282011115613e4157600080fd5b60005b83811015613e715781613e578882613de3565b845260208401935060208301925050600181019050613e44565b5050505092915050565b600082601f830112613e8c57600080fd5b8135613e9f613e9a826152f2565b615295565b91508181835260208401935060208101905083856020840282011115613ec457600080fd5b60005b83811015613ef45781613eda8882613fab565b845260208401935060208301925050600181019050613ec7565b5050505092915050565b600082601f830112613f0f57600080fd5b8151613f22613f1d826152f2565b615295565b91508181835260208401935060208101905083856020840282011115613f4757600080fd5b60005b83811015613f775781613f5d8882613fc0565b845260208401935060208301925050600181019050613f4a565b5050505092915050565b600081519050613f9081615560565b92915050565b600081359050613fa581615577565b92915050565b600081359050613fba8161558e565b92915050565b600081519050613fcf8161558e565b92915050565b600081359050613fe4816155a5565b92915050565b600060208284031215613ffc57600080fd5b600061400a84828501613de3565b91505092915050565b6000806040838503121561402657600080fd5b600061403485828601613de3565b925050602061404585828601613de3565b9150509250929050565b60008060006060848603121561406457600080fd5b600061407286828701613de3565b935050602061408386828701613de3565b925050604061409486828701613fab565b9150509250925092565b600080600080600080600060e0888a0312156140b957600080fd5b60006140c78a828b01613de3565b97505060206140d88a828b01613de3565b96505060406140e98a828b01613fab565b95505060606140fa8a828b01613fab565b945050608061410b8a828b01613fd5565b93505060a061411c8a828b01613f96565b92505060c061412d8a828b01613f96565b91505092959891949750929550565b6000806040838503121561414f57600080fd5b600061415d85828601613de3565b925050602061416e85828601613fab565b9150509250929050565b60008060006060848603121561418d57600080fd5b600084013567ffffffffffffffff8111156141a757600080fd5b6141b386828701613df8565b935050602084013567ffffffffffffffff8111156141d057600080fd5b6141dc86828701613e7b565b925050604084013567ffffffffffffffff8111156141f957600080fd5b61420586828701613df8565b9150509250925092565b60006020828403121561422157600080fd5b600082015167ffffffffffffffff81111561423b57600080fd5b61424784828501613efe565b91505092915050565b60006020828403121561426257600080fd5b600061427084828501613f81565b91505092915050565b60006020828403121561428b57600080fd5b600061429984828501613fab565b91505092915050565b6000602082840312156142b457600080fd5b60006142c284828501613fc0565b91505092915050565b6000806000606084860312156142e057600080fd5b60006142ee86828701613fc0565b93505060206142ff86828701613fc0565b925050604061431086828701613fc0565b9150509250925092565b60006143268383614341565b60208301905092915050565b61433b816153fd565b82525050565b61434a8161539e565b82525050565b6143598161539e565b82525050565b600061436a82615343565b6143748185615366565b935061437f8361531e565b8060005b838110156143b0578151614397888261431a565b97506143a283615359565b925050600181019050614383565b5085935050505092915050565b6143c6816153b0565b82525050565b6143d5816153bc565b82525050565b6143ec6143e7826153bc565b61552c565b82525050565b60008154600181166000811461440f576001811461443457614478565b607f60028304166144208187615377565b955060ff1983168652808601935050614478565b600282046144428187615377565b955061444d8561532e565b60005b8281101561446f57815481890152600182019150602081019050614450565b82880195505050505b505092915050565b6144898161540f565b82525050565b61449881615433565b82525050565b6144a781615457565b82525050565b6144b68161547b565b82525050565b6144c58161549f565b82525050565b6144d4816154c3565b82525050565b60006144e58261534e565b6144ef8185615382565b93506144ff8185602086016154f9565b61450881615538565b840191505092915050565b6000614520602683615382565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614586600283615393565b91507f19010000000000000000000000000000000000000000000000000000000000006000830152600282019050919050565b60006145c6601b83615382565b91507f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006000830152602082019050919050565b6000614606600f83615382565b91507f6e6f742073616d65206c656e67746800000000000000000000000000000000006000830152602082019050919050565b6000614646602483615382565b91507f417263683a3a76616c69646174655369673a20696e76616c6964207369676e6160008301527f74757265000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006146ac600e83615382565b91507f616d6f756e7420746f6f206c6f770000000000000000000000000000000000006000830152602082019050919050565b60006146ec601c83615382565b91507f7265696e7665737420666565207472616e73666572206661696c6564000000006000830152602082019050919050565b600061472c600f83615382565b91507f7065726d69743a3a6578706972656400000000000000000000000000000000006000830152602082019050919050565b600061476c600e83615382565b91507f617070726f7665206661696c65640000000000000000000000000000000000006000830152602082019050919050565b60006147ac601683615382565b91507f4d494e5f544f4b454e535f544f5f5245494e56455354000000000000000000006000830152602082019050919050565b60006147ec601983615382565b91507f61646d696e20666565207472616e73666572206661696c6564000000000000006000830152602082019050919050565b600061482c602183615382565b91507f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008301527f77000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614892602083615382565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006148d2601c83615382565b91507f5f617070726f76653a3a6f776e6572207a65726f2061646472657373000000006000830152602082019050919050565b6000614912603483615382565b91507f5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657260008301527f20746f20746865207a65726f20616464726573730000000000000000000000006020830152604082019050919050565b6000614978601383615382565b91507f7472616e7366657246726f6d206661696c6564000000000000000000000000006000830152602082019050919050565b60006149b8601283615382565b91507f61646d696e2066656520746f6f206869676800000000000000000000000000006000830152602082019050919050565b60006149f8600783615382565b91507f6f6e6c79454f41000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614a38600e83615382565b91507f6465706f736974206661696c65640000000000000000000000000000000000006000830152602082019050919050565b6000614a78600f83615382565b91507f7472616e73666572206661696c656400000000000000000000000000000000006000830152602082019050919050565b6000614ab8601e83615382565b91507f5f617070726f76653a3a7370656e646572207a65726f206164647265737300006000830152602082019050919050565b6000614af8601883615382565b91507f7265696e766573742072657761726420746f6f206869676800000000000000006000830152602082019050919050565b614b34816153e6565b82525050565b614b43816153f0565b82525050565b6000614b5582846143f2565b915081905092915050565b6000614b6b82614579565b9150614b7782856143db565b602082019150614b8782846143db565b6020820191508190509392505050565b6000602082019050614bac6000830184614350565b92915050565b6000606082019050614bc76000830186614332565b614bd46020830185614350565b614be16040830184614b2b565b949350505050565b6000604082019050614bfe6000830185614332565b614c0b6020830184614b2b565b9392505050565b6000604082019050614c276000830185614350565b614c346020830184614350565b9392505050565b600061010082019050614c51600083018b614350565b614c5e602083018a614350565b614c6b6040830189614b2b565b614c786060830188614b2b565b614c8560808301876144cb565b614c9260a08301866144cb565b614c9f60c0830185614350565b614cac60e0830184614b2b565b9998505050505050505050565b6000604082019050614cce6000830185614350565b614cdb6020830184614b2b565b9392505050565b6000602082019050614cf760008301846143bd565b92915050565b6000602082019050614d1260008301846143cc565b92915050565b600060c082019050614d2d60008301896143cc565b614d3a6020830188614350565b614d476040830187614350565b614d546060830186614b2b565b614d616080830185614b2b565b614d6e60a0830184614b2b565b979650505050505050565b600060a082019050614d8e60008301886143cc565b614d9b60208301876143cc565b614da860408301866143cc565b614db56060830185614b2b565b614dc26080830184614350565b9695505050505050565b6000608082019050614de160008301876143cc565b614dee6020830186614b3a565b614dfb60408301856143cc565b614e0860608301846143cc565b95945050505050565b6000602082019050614e266000830184614480565b92915050565b6000602082019050614e41600083018461448f565b92915050565b6000602082019050614e5c600083018461449e565b92915050565b6000602082019050614e7760008301846144ad565b92915050565b6000602082019050614e9260008301846144bc565b92915050565b60006020820190508181036000830152614eb281846144da565b905092915050565b60006020820190508181036000830152614ed381614513565b9050919050565b60006020820190508181036000830152614ef3816145b9565b9050919050565b60006020820190508181036000830152614f13816145f9565b9050919050565b60006020820190508181036000830152614f3381614639565b9050919050565b60006020820190508181036000830152614f538161469f565b9050919050565b60006020820190508181036000830152614f73816146df565b9050919050565b60006020820190508181036000830152614f938161471f565b9050919050565b60006020820190508181036000830152614fb38161475f565b9050919050565b60006020820190508181036000830152614fd38161479f565b9050919050565b60006020820190508181036000830152614ff3816147df565b9050919050565b600060208201905081810360008301526150138161481f565b9050919050565b6000602082019050818103600083015261503381614885565b9050919050565b60006020820190508181036000830152615053816148c5565b9050919050565b6000602082019050818103600083015261507381614905565b9050919050565b600060208201905081810360008301526150938161496b565b9050919050565b600060208201905081810360008301526150b3816149ab565b9050919050565b600060208201905081810360008301526150d3816149eb565b9050919050565b600060208201905081810360008301526150f381614a2b565b9050919050565b6000602082019050818103600083015261511381614a6b565b9050919050565b6000602082019050818103600083015261513381614aab565b9050919050565b6000602082019050818103600083015261515381614aeb565b9050919050565b600060208201905061516f6000830184614b2b565b92915050565b600060408201905061518a6000830185614b2b565b6151976020830184614350565b9392505050565b60006040820190506151b36000830185614b2b565b81810360208301526151c5818461435f565b90509392505050565b60006040820190506151e36000830185614b2b565b6151f060208301846144cb565b9392505050565b600060408201905061520c6000830185614b2b565b6152196020830184614b2b565b9392505050565b600060a0820190506152356000830188614b2b565b6152426020830187614b2b565b8181036040830152615254818661435f565b90506152636060830185614350565b6152706080830184614b2b565b9695505050505050565b600060208201905061528f6000830184614b3a565b92915050565b6000604051905081810181811067ffffffffffffffff821117156152bc576152bb615536565b5b8060405250919050565b600067ffffffffffffffff8211156152e1576152e0615536565b5b602082029050602081019050919050565b600067ffffffffffffffff82111561530d5761530c615536565b5b602082029050602081019050919050565b6000819050602082019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006153a9826153c6565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000615408826154d5565b9050919050565b600061541a82615421565b9050919050565b600061542c826153c6565b9050919050565b600061543e82615445565b9050919050565b6000615450826153c6565b9050919050565b600061546282615469565b9050919050565b6000615474826153c6565b9050919050565b60006154868261548d565b9050919050565b6000615498826153c6565b9050919050565b60006154aa826154b1565b9050919050565b60006154bc826153c6565b9050919050565b60006154ce826153e6565b9050919050565b60006154e0826154e7565b9050919050565b60006154f2826153c6565b9050919050565b60005b838110156155175780820151818401526020810190506154fc565b83811115615526576000848401525b50505050565b6000819050919050565bfe5b6000601f19601f8301169050919050565b6155528161539e565b811461555d57600080fd5b50565b615569816153b0565b811461557457600080fd5b50565b615580816153bc565b811461558b57600080fd5b50565b615597816153e6565b81146155a257600080fd5b50565b6155ae816153f0565b81146155b957600080fd5b5056fe5f6275726e3a206275726e20616d6f756e74206578636565647320746f74616c20737570706c797472616e7366657246726f6d3a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655f6275726e3a206275726e20616d6f756e7420657863656564732066726f6d2062616c616e63655f7472616e73666572546f6b656e733a207472616e7366657220657863656564732066726f6d2062616c616e6365a2646970667358221220b0fa00f8a9e3ce5a8ad0c36cc77b55ee092e8100fa36fca1c8bd9f518a0a1f3f64736f6c63430007030033000000000000000000000000751089f1bf31b13fa0f0537ae78108088a2253bf000000000000000000000000c38f41a296a4493ff429f1238e030924a1542e50000000000000000000000000b12531a2d758c7a8bf09f44fc88e646e1bf9d375000000000000000000000000e54ca86531e17ef3616d22ca28b0d458b6c891060000000000000000000000000000000000000000000000000000000000000001