6080604052600d54600e55600f546010556011546012553480156200002357600080fd5b506040516200649538038062006495833981810160405281019062000049919062000aa2565b620000696200005d620007ea60201b60201c565b620007f260201b60201c565b60008361ffff16101580156200008557506127108361ffff1611155b620000c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000be9062000ce7565b60405180910390fd5b60008261ffff1610158015620000e357506127108261ffff1611155b62000125576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200011c9062000d09565b60405180910390fd5b60008161ffff16101580156200014157506127108161ffff1611155b62000183576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200017a9062000d6f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415620002045760008161ffff161462000203576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001fa9062000d2b565b60405180910390fd5b5b61271081838562000216919062000e1e565b62000222919062000e1e565b61ffff1611156200026a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002619062000d4d565b60405180910390fd5b87600a9080519060200190620002829291906200090f565b5086600b90805190602001906200029b9291906200090f565b506012600c60006101000a81548160ff021916908360ff16021790555085600781905550600754600019620002d1919062001048565b600019620002e0919062000ef6565b6008819055508261ffff16600d81905550600d54600e819055508161ffff16600f81905550600f5460108190555083601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508061ffff166011819055506011546012819055506200039961271062000385600589620008b660201b62001f861790919060201c565b620008ce60201b62001f9c1790919060201c565b60168190555060016015806101000a81548160ff02191690831515021790555060085460016000620003d0620008e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008590508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200045a57600080fd5b505afa1580156200046f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000495919062000a76565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620004f857600080fd5b505afa1580156200050d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000533919062000a76565b6040518363ffffffff1660e01b81526004016200055292919062000c8d565b602060405180830381600087803b1580156200056d57600080fd5b505af115801562000582573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005a8919062000a76565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600460006200063f620008e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006f8620008e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60075460405162000759919062000d91565b60405180910390a33073ffffffffffffffffffffffffffffffffffffffff1662000788620008e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff167f56358b41df5fa59f5639228f0930994cbdde383c8a8fd74e06c04e1deebe356260036001604051620007d392919062000cba565b60405180910390a350505050505050505062001320565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008183620008c6919062000e95565b905092915050565b60008183620008de919062000e5d565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b8280546200091d9062000fdc565b90600052602060002090601f0160209004810192826200094157600085556200098d565b82601f106200095c57805160ff19168380011785556200098d565b828001600101855582156200098d579182015b828111156200098c5782518255916020019190600101906200096f565b5b5090506200099c9190620009a0565b5090565b5b80821115620009bb576000816000905550600101620009a1565b5090565b6000620009d6620009d08462000dd7565b62000dae565b905082815260208101848484011115620009ef57600080fd5b620009fc84828562000fa6565b509392505050565b60008151905062000a1581620012d2565b92915050565b600082601f83011262000a2d57600080fd5b815162000a3f848260208601620009bf565b91505092915050565b60008151905062000a5981620012ec565b92915050565b60008151905062000a708162001306565b92915050565b60006020828403121562000a8957600080fd5b600062000a998482850162000a04565b91505092915050565b600080600080600080600080610100898b03121562000ac057600080fd5b600089015167ffffffffffffffff81111562000adb57600080fd5b62000ae98b828c0162000a1b565b985050602089015167ffffffffffffffff81111562000b0757600080fd5b62000b158b828c0162000a1b565b975050604062000b288b828c0162000a5f565b965050606062000b3b8b828c0162000a04565b955050608062000b4e8b828c0162000a04565b94505060a062000b618b828c0162000a48565b93505060c062000b748b828c0162000a48565b92505060e062000b878b828c0162000a48565b9150509295985092959890939650565b62000ba28162000f31565b82525050565b62000bb38162000f92565b82525050565b600062000bc8600f8362000e0d565b915062000bd5826200117c565b602082019050919050565b600062000bef60158362000e0d565b915062000bfc82620011a5565b602082019050919050565b600062000c16604a8362000e0d565b915062000c2382620011ce565b606082019050919050565b600062000c3d60298362000e0d565b915062000c4a8262001243565b604082019050919050565b600062000c6460138362000e0d565b915062000c718262001292565b602082019050919050565b62000c878162000f88565b82525050565b600060408201905062000ca4600083018562000b97565b62000cb3602083018462000b97565b9392505050565b600060408201905062000cd1600083018562000ba8565b62000ce0602083018462000c7c565b9392505050565b6000602082019050818103600083015262000d028162000bb9565b9050919050565b6000602082019050818103600083015262000d248162000be0565b9050919050565b6000602082019050818103600083015262000d468162000c07565b9050919050565b6000602082019050818103600083015262000d688162000c2e565b9050919050565b6000602082019050818103600083015262000d8a8162000c55565b9050919050565b600060208201905062000da8600083018462000c7c565b92915050565b600062000dba62000dcd565b905062000dc8828262001012565b919050565b6000604051905090565b600067ffffffffffffffff82111562000df55762000df46200113c565b5b62000e00826200116b565b9050602081019050919050565b600082825260208201905092915050565b600062000e2b8262000f5a565b915062000e388362000f5a565b92508261ffff0382111562000e525762000e5162001080565b5b828201905092915050565b600062000e6a8262000f88565b915062000e778362000f88565b92508262000e8a5762000e89620010af565b5b828204905092915050565b600062000ea28262000f88565b915062000eaf8362000f88565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000eeb5762000eea62001080565b5b828202905092915050565b600062000f038262000f88565b915062000f108362000f88565b92508282101562000f265762000f2562001080565b5b828203905092915050565b600062000f3e8262000f68565b9050919050565b600081905062000f5582620012bb565b919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600062000f9f8262000f45565b9050919050565b60005b8381101562000fc657808201518184015260208101905062000fa9565b8381111562000fd6576000848401525b50505050565b6000600282049050600182168062000ff557607f821691505b602082108114156200100c576200100b6200110d565b5b50919050565b6200101d826200116b565b810181811067ffffffffffffffff821117156200103f576200103e6200113c565b5b80604052505050565b6000620010558262000f88565b9150620010628362000f88565b925082620010755762001074620010af565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f496e76616c696420746178206665650000000000000000000000000000000000600082015250565b7f496e76616c6964206c6971756964697479206665650000000000000000000000600082015250565b7f43616e742073657420626f74682063686172697479206164647265737320746f60008201527f2061646472657373203020616e6420636861726974792070657263656e74206d60208201527f6f7265207468616e203000000000000000000000000000000000000000000000604082015250565b7f546f74616c20666565206973206f7665722031303025206f66207472616e736660008201527f657220616d6f756e740000000000000000000000000000000000000000000000602082015250565b7f496e76616c696420636861726974792066656500000000000000000000000000600082015250565b60088110620012cf57620012ce620010de565b5b50565b620012dd8162000f31565b8114620012e957600080fd5b50565b620012f78162000f5a565b81146200130357600080fd5b50565b620013118162000f88565b81146200131d57600080fd5b50565b61516580620013306000396000f3fe60806040526004361061021e5760003560e01c80634a74bb02116101235780638ee88c53116100ab578063d9720cf41161006f578063d9720cf41461081a578063dd62ed3e14610831578063ea2f0b371461086e578063f2fde38b14610897578063ffa1ad74146108c057610225565b80638ee88c531461072357806395d89b411461074c578063a457c2d714610777578063a9059cbb146107b4578063c49b9a80146107f157610225565b806370a08231116100f257806370a082311461063e578063715018a61461067b57806388f82020146106925780638da5cb5b146106cf5780638dbc24b0146106fa57610225565b80634a74bb021461058257806352390c02146105ad5780635342acb4146105d65780636bc87c3a1461061357610225565b8063313ce567116101a65780633bd5d173116101755780633bd5d1731461049d57806340f8007a146104c6578063437823ec146104f15780634549b0391461051a57806349bd5a5e1461055757610225565b8063313ce567146103e15780633685d4191461040c57806339509351146104355780633b124fe71461047257610225565b80631694505e116101ed5780631694505e146102e657806318160ddd1461031157806319a8ac9e1461033c57806323b872dd146103675780632d838119146103a457610225565b8063061c82d01461022a57806306fdde0314610253578063095ea7b31461027e57806313114a9d146102bb57610225565b3661022557005b600080fd5b34801561023657600080fd5b50610251600480360381019061024c91906143b5565b6108eb565b005b34801561025f57600080fd5b506102686109c3565b60405161027591906147d7565b60405180910390f35b34801561028a57600080fd5b506102a560048036038101906102a09190614350565b610a55565b6040516102b291906147a1565b60405180910390f35b3480156102c757600080fd5b506102d0610a73565b6040516102dd9190614979565b60405180910390f35b3480156102f257600080fd5b506102fb610a7d565b60405161030891906147bc565b60405180910390f35b34801561031d57600080fd5b50610326610aa3565b6040516103339190614979565b60405180910390f35b34801561034857600080fd5b50610351610aad565b60405161035e9190614725565b60405180910390f35b34801561037357600080fd5b5061038e60048036038101906103899190614301565b610ad3565b60405161039b91906147a1565b60405180910390f35b3480156103b057600080fd5b506103cb60048036038101906103c691906143b5565b610bac565b6040516103d89190614979565b60405180910390f35b3480156103ed57600080fd5b506103f6610c1a565b6040516104039190614a25565b60405180910390f35b34801561041857600080fd5b50610433600480360381019061042e9190614273565b610c31565b005b34801561044157600080fd5b5061045c60048036038101906104579190614350565b610fff565b60405161046991906147a1565b60405180910390f35b34801561047e57600080fd5b506104876110b2565b6040516104949190614979565b60405180910390f35b3480156104a957600080fd5b506104c460048036038101906104bf91906143b5565b6110b8565b005b3480156104d257600080fd5b506104db611234565b6040516104e89190614979565b60405180910390f35b3480156104fd57600080fd5b5061051860048036038101906105139190614273565b61123a565b005b34801561052657600080fd5b50610541600480360381019061053c91906143de565b611311565b60405161054e9190614979565b60405180910390f35b34801561056357600080fd5b5061056c611397565b6040516105799190614725565b60405180910390f35b34801561058e57600080fd5b506105976113bd565b6040516105a491906147a1565b60405180910390f35b3480156105b957600080fd5b506105d460048036038101906105cf9190614273565b6113ce565b005b3480156105e257600080fd5b506105fd60048036038101906105f89190614273565b611669565b60405161060a91906147a1565b60405180910390f35b34801561061f57600080fd5b506106286116bf565b6040516106359190614979565b60405180910390f35b34801561064a57600080fd5b5061066560048036038101906106609190614273565b6116c5565b6040516106729190614979565b60405180910390f35b34801561068757600080fd5b506106906117b0565b005b34801561069e57600080fd5b506106b960048036038101906106b49190614273565b611838565b6040516106c691906147a1565b60405180910390f35b3480156106db57600080fd5b506106e461188e565b6040516106f19190614725565b60405180910390f35b34801561070657600080fd5b50610721600480360381019061071c9190614273565b6118b7565b005b34801561072f57600080fd5b5061074a600480360381019061074591906143b5565b611977565b005b34801561075857600080fd5b50610761611a4f565b60405161076e91906147d7565b60405180910390f35b34801561078357600080fd5b5061079e60048036038101906107999190614350565b611ae1565b6040516107ab91906147a1565b60405180910390f35b3480156107c057600080fd5b506107db60048036038101906107d69190614350565b611bae565b6040516107e891906147a1565b60405180910390f35b3480156107fd57600080fd5b506108186004803603810190610813919061438c565b611bcc565b005b34801561082657600080fd5b5061082f611c9b565b005b34801561083d57600080fd5b50610858600480360381019061085391906142c5565b611d2b565b6040516108659190614979565b60405180910390f35b34801561087a57600080fd5b5061089560048036038101906108909190614273565b611db2565b005b3480156108a357600080fd5b506108be60048036038101906108b99190614273565b611e89565b005b3480156108cc57600080fd5b506108d5611f81565b6040516108e29190614979565b60405180910390f35b6108f3611fb2565b73ffffffffffffffffffffffffffffffffffffffff1661091161188e565b73ffffffffffffffffffffffffffffffffffffffff1614610967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095e906148b9565b60405180910390fd5b6000811015801561097a57506127108111155b6109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b0906148f9565b60405180910390fd5b80600d8190555050565b6060600a80546109d290614c68565b80601f01602080910402602001604051908101604052809291908181526020018280546109fe90614c68565b8015610a4b5780601f10610a2057610100808354040283529160200191610a4b565b820191906000526020600020905b815481529060010190602001808311610a2e57829003601f168201915b5050505050905090565b6000610a69610a62611fb2565b8484611fba565b6001905092915050565b6000600954905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600754905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610ae0848484612185565b610ba184610aec611fb2565b610b9c856040518060600160405280602881526020016150e360289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b52611fb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124229092919063ffffffff16565b611fba565b600190509392505050565b6000600854821115610bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bea90614819565b60405180910390fd5b6000610bfd612477565b9050610c128184611f9c90919063ffffffff16565b915050919050565b6000600c60009054906101000a900460ff16905090565b610c39611fb2565b73ffffffffffffffffffffffffffffffffffffffff16610c5761188e565b73ffffffffffffffffffffffffffffffffffffffff1614610cad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca4906148b9565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3090614879565b60405180910390fd5b60005b600680549050811015610ffb578173ffffffffffffffffffffffffffffffffffffffff1660068281548110610d9a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610fe85760066001600680549050610df59190614b76565b81548110610e2c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660068281548110610e91577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506006805480610fae577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055610ffb565b8080610ff390614c9a565b915050610d3c565b5050565b60006110a861100c611fb2565b846110a3856003600061101d611fb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b611fba565b6001905092915050565b600d5481565b60006110c2611fb2565b9050600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114890614959565b60405180910390fd5b600061115c836124b8565b50505050505090506111b681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252090919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061120e8160085461252090919063ffffffff16565b600881905550611229836009546124a290919063ffffffff16565b600981905550505050565b60115481565b611242611fb2565b73ffffffffffffffffffffffffffffffffffffffff1661126061188e565b73ffffffffffffffffffffffffffffffffffffffff16146112b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ad906148b9565b60405180910390fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600754831115611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f90614899565b60405180910390fd5b81611379576000611368846124b8565b505050505050905080915050611391565b6000611384846124b8565b5050505050915050809150505b92915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60158054906101000a900460ff1681565b6113d6611fb2565b73ffffffffffffffffffffffffffffffffffffffff166113f461188e565b73ffffffffffffffffffffffffffffffffffffffff161461144a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611441906148b9565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ce90614879565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156115ab57611567600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bac565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506006819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600f5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561176057600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506117ab565b6117a8600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bac565b90505b919050565b6117b8611fb2565b73ffffffffffffffffffffffffffffffffffffffff166117d661188e565b73ffffffffffffffffffffffffffffffffffffffff161461182c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611823906148b9565b60405180910390fd5b6118366000612536565b565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6118bf611fb2565b73ffffffffffffffffffffffffffffffffffffffff166118dd61188e565b73ffffffffffffffffffffffffffffffffffffffff1614611933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192a906148b9565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61197f611fb2565b73ffffffffffffffffffffffffffffffffffffffff1661199d61188e565b73ffffffffffffffffffffffffffffffffffffffff16146119f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ea906148b9565b60405180910390fd5b60008110158015611a0657506127108111155b611a45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3c906148f9565b60405180910390fd5b80600f8190555050565b6060600b8054611a5e90614c68565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8a90614c68565b8015611ad75780601f10611aac57610100808354040283529160200191611ad7565b820191906000526020600020905b815481529060010190602001808311611aba57829003601f168201915b5050505050905090565b6000611ba4611aee611fb2565b84611b9f8560405180606001604052806025815260200161510b6025913960036000611b18611fb2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124229092919063ffffffff16565b611fba565b6001905092915050565b6000611bc2611bbb611fb2565b8484612185565b6001905092915050565b611bd4611fb2565b73ffffffffffffffffffffffffffffffffffffffff16611bf261188e565b73ffffffffffffffffffffffffffffffffffffffff1614611c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3f906148b9565b60405180910390fd5b806015806101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611c9091906147a1565b60405180910390a150565b611ca3611fb2565b73ffffffffffffffffffffffffffffffffffffffff16611cc161188e565b73ffffffffffffffffffffffffffffffffffffffff1614611d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0e906148b9565b60405180910390fd5b611d28611d2261188e565b47611bae565b50565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611dba611fb2565b73ffffffffffffffffffffffffffffffffffffffff16611dd861188e565b73ffffffffffffffffffffffffffffffffffffffff1614611e2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e25906148b9565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b611e91611fb2565b73ffffffffffffffffffffffffffffffffffffffff16611eaf61188e565b73ffffffffffffffffffffffffffffffffffffffff1614611f05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efc906148b9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6c90614839565b60405180910390fd5b611f7e81612536565b50565b600181565b60008183611f949190614b1c565b905092915050565b60008183611faa9190614aeb565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561202a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202190614939565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561209a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209190614859565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516121789190614979565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ec90614919565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612265576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225c906147f9565b60405180910390fd5b600081116122a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229f906148d9565b60405180910390fd5b60006122b3306116c5565b9050600060165482101590508080156122d95750601560149054906101000a900460ff16155b80156123335750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015612349575060158054906101000a900460ff165b1561235d57601654915061235c826125fa565b5b600060019050600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124045750600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561240e57600090505b61241a868686846126d0565b505050505050565b600083831115829061246a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246191906147d7565b60405180910390fd5b5082840390509392505050565b60008060006124846129e1565b9150915061249b8183611f9c90919063ffffffff16565b9250505090565b600081836124b09190614a95565b905092915050565b60008060008060008060008060008060006124d28c612d2c565b935093509350935060008060006124f38f8787876124ee612477565b612dab565b925092509250828282898989899d509d509d509d509d509d509d5050505050505050919395979092949650565b6000818361252e9190614b76565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601560146101000a81548160ff021916908315150217905550600061262b600283611f9c90919063ffffffff16565b90506000612642828461252090919063ffffffff16565b9050600047905061265283612e5f565b6000612667824761252090919063ffffffff16565b90506126738382613123565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618482856040516126a6939291906149ee565b60405180910390a1505050506000601560146101000a81548160ff02191690831515021790555050565b806126de576126dd613217565b5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156127815750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561279657612791848484613279565b6129cd565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128395750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561284e576128498484846134e7565b6129cc565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156128f25750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561290757612902848484613755565b6129cb565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156129a95750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156129be576129b984848461392e565b6129ca565b6129c9848484613755565b5b5b5b5b806129db576129da613c31565b5b50505050565b600080600060085490506000600754905060005b600680549050811015612cef57826001600060068481548110612a41577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612b555750816002600060068481548110612aed577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612b6c5760085460075494509450505050612d28565b612c226001600060068481548110612bad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461252090919063ffffffff16565b9250612cda6002600060068481548110612c65577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361252090919063ffffffff16565b91508080612ce790614c9a565b9150506129f5565b50612d07600754600854611f9c90919063ffffffff16565b821015612d1f57600854600754935093505050612d28565b81819350935050505b9091565b6000806000806000612d3d86613c4e565b90506000612d4a87613c80565b90506000612d5788613cb2565b90506000612d9282612d8485612d76888e61252090919063ffffffff16565b61252090919063ffffffff16565b61252090919063ffffffff16565b9050808484849750975097509750505050509193509193565b600080600080612dc4858a611f8690919063ffffffff16565b90506000612ddb868a611f8690919063ffffffff16565b90506000612df2878a611f8690919063ffffffff16565b90506000612e09888a611f8690919063ffffffff16565b90506000612e4482612e3685612e28888a61252090919063ffffffff16565b61252090919063ffffffff16565b61252090919063ffffffff16565b90508481859750975097505050505050955095509592505050565b6000600267ffffffffffffffff811115612ea2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612ed05781602001602082028036833780820191505090505b5090503081600081518110612f0e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612fb057600080fd5b505afa158015612fc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe8919061429c565b81600181518110613022577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061308930601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611fba565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016130ed959493929190614994565b600060405180830381600087803b15801561310757600080fd5b505af115801561311b573d6000803e3d6000fd5b505050505050565b61315030601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611fba565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061319c61188e565b426040518863ffffffff1660e01b81526004016131be96959493929190614740565b6060604051808303818588803b1580156131d757600080fd5b505af11580156131eb573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613210919061441a565b5050505050565b6000600d5414801561322b57506000600f54145b801561323957506000601154145b1561324357613277565b600d54600e81905550600f546010819055506011546012819055506000600d819055506000600f8190555060006011819055505b565b600080600080600080600061328d886124b8565b96509650965096509650965096506132ed88600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252090919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061338287600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252090919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341786600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061346382613d44565b61346c81613ee9565b61347685846141d0565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516134d39190614979565b60405180910390a350505050505050505050565b60008060008060008060006134fb886124b8565b965096509650965096509650965061355b87600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252090919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506135f084600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061368586600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506136d182613d44565b6136da81613ee9565b6136e485846141d0565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516137419190614979565b60405180910390a350505050505050505050565b6000806000806000806000613769886124b8565b96509650965096509650965096506137c987600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252090919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061385e86600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138aa82613d44565b6138b381613ee9565b6138bd85846141d0565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161391a9190614979565b60405180910390a350505050505050505050565b6000806000806000806000613942886124b8565b96509650965096509650965096506139a288600260008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252090919063ffffffff16565b600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613a3787600160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252090919063ffffffff16565b600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613acc84600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613b6186600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613bad82613d44565b613bb681613ee9565b613bc085846141d0565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051613c1d9190614979565b60405180910390a350505050505050505050565b600e54600d81905550601054600f81905550601254601181905550565b6000613c79612710613c6b600d5485611f8690919063ffffffff16565b611f9c90919063ffffffff16565b9050919050565b6000613cab612710613c9d600f5485611f8690919063ffffffff16565b611f9c90919063ffffffff16565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613d135760009050613d3f565b613d3c612710613d2e60115485611f8690919063ffffffff16565b611f9c90919063ffffffff16565b90505b919050565b6000613d4e612477565b90506000613d658284611f8690919063ffffffff16565b9050613db981600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613ee457613ea083600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b505050565b60008111156141cd576000613efc612477565b90506000613f138284611f8690919063ffffffff16565b9050613f898160016000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b60016000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060056000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561413c576140d68360026000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124a290919063ffffffff16565b60026000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661417d611fb2565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516141c29190614979565b60405180910390a350505b50565b6141e58260085461252090919063ffffffff16565b600881905550614200816009546124a290919063ffffffff16565b6009819055505050565b6000813590506142198161509d565b92915050565b60008151905061422e8161509d565b92915050565b600081359050614243816150b4565b92915050565b600081359050614258816150cb565b92915050565b60008151905061426d816150cb565b92915050565b60006020828403121561428557600080fd5b60006142938482850161420a565b91505092915050565b6000602082840312156142ae57600080fd5b60006142bc8482850161421f565b91505092915050565b600080604083850312156142d857600080fd5b60006142e68582860161420a565b92505060206142f78582860161420a565b9150509250929050565b60008060006060848603121561431657600080fd5b60006143248682870161420a565b93505060206143358682870161420a565b925050604061434686828701614249565b9150509250925092565b6000806040838503121561436357600080fd5b60006143718582860161420a565b925050602061438285828601614249565b9150509250929050565b60006020828403121561439e57600080fd5b60006143ac84828501614234565b91505092915050565b6000602082840312156143c757600080fd5b60006143d584828501614249565b91505092915050565b600080604083850312156143f157600080fd5b60006143ff85828601614249565b925050602061441085828601614234565b9150509250929050565b60008060006060848603121561442f57600080fd5b600061443d8682870161425e565b935050602061444e8682870161425e565b925050604061445f8682870161425e565b9150509250925092565b60006144758383614481565b60208301905092915050565b61448a81614baa565b82525050565b61449981614baa565b82525050565b60006144aa82614a50565b6144b48185614a73565b93506144bf83614a40565b8060005b838110156144f05781516144d78882614469565b97506144e283614a66565b9250506001810190506144c3565b5085935050505092915050565b61450681614bbc565b82525050565b61451581614bff565b82525050565b61452481614c23565b82525050565b600061453582614a5b565b61453f8185614a84565b935061454f818560208601614c35565b61455881614d70565b840191505092915050565b6000614570602383614a84565b915061457b82614d81565b604082019050919050565b6000614593602a83614a84565b915061459e82614dd0565b604082019050919050565b60006145b6602683614a84565b91506145c182614e1f565b604082019050919050565b60006145d9602283614a84565b91506145e482614e6e565b604082019050919050565b60006145fc601b83614a84565b915061460782614ebd565b602082019050919050565b600061461f601f83614a84565b915061462a82614ee6565b602082019050919050565b6000614642602083614a84565b915061464d82614f0f565b602082019050919050565b6000614665602983614a84565b915061467082614f38565b604082019050919050565b6000614688600b83614a84565b915061469382614f87565b602082019050919050565b60006146ab602583614a84565b91506146b682614fb0565b604082019050919050565b60006146ce602483614a84565b91506146d982614fff565b604082019050919050565b60006146f1602c83614a84565b91506146fc8261504e565b604082019050919050565b61471081614be8565b82525050565b61471f81614bf2565b82525050565b600060208201905061473a6000830184614490565b92915050565b600060c0820190506147556000830189614490565b6147626020830188614707565b61476f604083018761451b565b61477c606083018661451b565b6147896080830185614490565b61479660a0830184614707565b979650505050505050565b60006020820190506147b660008301846144fd565b92915050565b60006020820190506147d1600083018461450c565b92915050565b600060208201905081810360008301526147f1818461452a565b905092915050565b6000602082019050818103600083015261481281614563565b9050919050565b6000602082019050818103600083015261483281614586565b9050919050565b60006020820190508181036000830152614852816145a9565b9050919050565b60006020820190508181036000830152614872816145cc565b9050919050565b60006020820190508181036000830152614892816145ef565b9050919050565b600060208201905081810360008301526148b281614612565b9050919050565b600060208201905081810360008301526148d281614635565b9050919050565b600060208201905081810360008301526148f281614658565b9050919050565b600060208201905081810360008301526149128161467b565b9050919050565b600060208201905081810360008301526149328161469e565b9050919050565b60006020820190508181036000830152614952816146c1565b9050919050565b60006020820190508181036000830152614972816146e4565b9050919050565b600060208201905061498e6000830184614707565b92915050565b600060a0820190506149a96000830188614707565b6149b6602083018761451b565b81810360408301526149c8818661449f565b90506149d76060830185614490565b6149e46080830184614707565b9695505050505050565b6000606082019050614a036000830186614707565b614a106020830185614707565b614a1d6040830184614707565b949350505050565b6000602082019050614a3a6000830184614716565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000614aa082614be8565b9150614aab83614be8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614ae057614adf614ce3565b5b828201905092915050565b6000614af682614be8565b9150614b0183614be8565b925082614b1157614b10614d12565b5b828204905092915050565b6000614b2782614be8565b9150614b3283614be8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614b6b57614b6a614ce3565b5b828202905092915050565b6000614b8182614be8565b9150614b8c83614be8565b925082821015614b9f57614b9e614ce3565b5b828203905092915050565b6000614bb582614bc8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000614c0a82614c11565b9050919050565b6000614c1c82614bc8565b9050919050565b6000614c2e82614be8565b9050919050565b60005b83811015614c53578082015181840152602081019050614c38565b83811115614c62576000848401525b50505050565b60006002820490506001821680614c8057607f821691505b60208210811415614c9457614c93614d41565b5b50919050565b6000614ca582614be8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614cd857614cd7614ce3565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4163636f756e7420697320616c7265616479206578636c756465640000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20737570706c7900600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f496e76616c696420627073000000000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6150a681614baa565b81146150b157600080fd5b50565b6150bd81614bbc565b81146150c857600080fd5b50565b6150d481614be8565b81146150df57600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a29903a67db309cdaa8b31ee78ff46aead51d516bb6401a772e06fc9ac1f407a64736f6c6343000804003300000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000002e87669c308736a040000000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000bcd70b7436a0edf418a0e350610f25fe12d2223c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000000124e4f4e2046554e4749424c45204d55534943000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034e464d0000000000000000000000000000000000000000000000000000000000