60806040525f6014555f6015556005601655600a60175560405180602001604052805f815250601a9081620000359190620006cc565b5034801562000042575f80fd5b506040516200602c3803806200602c833981810160405281019062000068919062000998565b8787815f90816200007a9190620006cc565b5080600190816200008c9190620006cc565b5050505f60085f6101000a81548160ff02191690831515021790555033600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000fc5f801b336200030160201b60201c565b506200012f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a336200030160201b60201c565b50620001627f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200030160201b60201c565b50620001957fc5abefe4aed277fb344652e626c3c4fe5cdab1313b8ac46cdd6da9bbe98161cb8a6200030160201b60201c565b50620001aa5f801b8a6200030160201b60201c565b50620001dd7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8a6200030160201b60201c565b50620002107f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68a6200030160201b60201c565b50620002437fc5abefe4aed277fb344652e626c3c4fe5cdab1313b8ac46cdd6da9bbe98161cb8a6200030160201b60201c565b505f60198190555085601a90816200025c9190620006cc565b508460148190555083600a819055508260188190555081600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050505062000ace565b5f620003148383620003fd60201b60201c565b620003f357600160095f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200038f6200046160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050620003f7565b5f90505b92915050565b5f60095f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f33905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620004e457607f821691505b602082108103620004fa57620004f96200049f565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200055e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000521565b6200056a868362000521565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620005b4620005ae620005a88462000582565b6200058b565b62000582565b9050919050565b5f819050919050565b620005cf8362000594565b620005e7620005de82620005bb565b8484546200052d565b825550505050565b5f90565b620005fd620005ef565b6200060a818484620005c4565b505050565b5b818110156200063157620006255f82620005f3565b60018101905062000610565b5050565b601f82111562000680576200064a8162000500565b620006558462000512565b8101602085101562000665578190505b6200067d620006748562000512565b8301826200060f565b50505b505050565b5f82821c905092915050565b5f620006a25f198460080262000685565b1980831691505092915050565b5f620006bc838362000691565b9150826002028217905092915050565b620006d78262000468565b67ffffffffffffffff811115620006f357620006f262000472565b5b620006ff8254620004cc565b6200070c82828562000635565b5f60209050601f83116001811462000742575f84156200072d578287015190505b620007398582620006af565b865550620007a8565b601f198416620007528662000500565b5f5b828110156200077b5784890151825560018201915060208501945060208101905062000754565b868310156200079b578489015162000797601f89168262000691565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620007ec82620007c1565b9050919050565b620007fe81620007e0565b811462000809575f80fd5b50565b5f815190506200081c81620007f3565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b62000845826200082a565b810181811067ffffffffffffffff8211171562000867576200086662000472565b5b80604052505050565b5f6200087b620007b0565b90506200088982826200083a565b919050565b5f67ffffffffffffffff821115620008ab57620008aa62000472565b5b620008b6826200082a565b9050602081019050919050565b5f5b83811015620008e2578082015181840152602081019050620008c5565b5f8484015250505050565b5f62000903620008fd846200088e565b62000870565b90508281526020810184848401111562000922576200092162000826565b5b6200092f848285620008c3565b509392505050565b5f82601f8301126200094e576200094d62000822565b5b815162000960848260208601620008ed565b91505092915050565b620009748162000582565b81146200097f575f80fd5b50565b5f81519050620009928162000969565b92915050565b5f805f805f805f805f6101208a8c031215620009b957620009b8620007b9565b5b5f620009c88c828d016200080c565b99505060208a015167ffffffffffffffff811115620009ec57620009eb620007bd565b5b620009fa8c828d0162000937565b98505060408a015167ffffffffffffffff81111562000a1e5762000a1d620007bd565b5b62000a2c8c828d0162000937565b97505060608a015167ffffffffffffffff81111562000a505762000a4f620007bd565b5b62000a5e8c828d0162000937565b965050608062000a718c828d0162000982565b95505060a062000a848c828d0162000982565b94505060c062000a978c828d0162000982565b93505060e062000aaa8c828d016200080c565b92505061010062000abe8c828d016200080c565b9150509295985092959850929598565b6155508062000adc5f395ff3fe608060405260043610610353575f3560e01c806395d89b41116101c5578063d3fc8cdf116100f6578063e985e9c511610094578063efdc77881161006e578063efdc778814610d47578063f7dda22514610d6f578063fccd405914610d8b578063fdd46f6014610db357610435565b8063e985e9c514610cb3578063ec63a1ed14610cef578063eda1d5e914610d0b57610435565b8063d94f44f1116100d0578063d94f44f114610c1b578063e175bd2014610c37578063e62f49c914610c61578063e63ab1e914610c8957610435565b8063d3fc8cdf14610b8d578063d539139314610bc9578063d547741f14610bf357610435565b8063abe853e311610163578063ba1a681f1161013d578063ba1a681f14610ad7578063be14b0b714610b01578063c7c3268b14610b29578063c87b56dd14610b5157610435565b8063abe853e314610a4b578063ac568e8414610a87578063b88d4fde14610aaf57610435565b8063a217fddf1161019f578063a217fddf14610995578063a22cb465146109bf578063a50dcc62146109e7578063a8602fea14610a2357610435565b806395d89b41146108f35780639f34c87a1461091d578063a10de0221461095957610435565b806333190f701161029f5780636352211e1161023d578063711e321511610217578063711e32151461082957806376ed7710146108655780637fd6f15c1461088d57806391d14854146108b757610435565b80636352211e14610789578063637dd2fc146107c557806370a08231146107ed57610435565b80633ccfd60b116102795780633ccfd60b146106f757806342842e0e1461070d5780635c975abb1461073557806361d027b31461075f57610435565b806333190f701461066957806333a1bb26146106a557806336568abe146106cf57610435565b806318160ddd1161030c578063248a9ca3116102e6578063248a9ca3146105bf5780632db11544146105fb5780632e129dbb146106175780632f2ff15d1461064157610435565b806318160ddd146105435780631a4231a41461056d57806323b872dd1461059757610435565b806301ffc9a71461043957806304c76af01461047557806306fdde031461048b578063081812fc146104b5578063095ea7b3146104f1578063144bee421461051957610435565b36610435576001601c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555034601d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550343373ffffffffffffffffffffffffffffffffffffffff167f188c4d19b4fadd1889d9bd9bf0ab7c97e0719434751e6c05feac6339c1c001ec60405160405180910390a3005b5f80fd5b348015610444575f80fd5b5061045f600480360381019061045a9190613b1a565b610ddd565b60405161046c9190613b5f565b60405180910390f35b348015610480575f80fd5b50610489610dee565b005b348015610496575f80fd5b5061049f610e75565b6040516104ac9190613c02565b60405180910390f35b3480156104c0575f80fd5b506104db60048036038101906104d69190613c55565b610f04565b6040516104e89190613cbf565b60405180910390f35b3480156104fc575f80fd5b5061051760048036038101906105129190613d02565b610f1f565b005b348015610524575f80fd5b5061052d610f35565b60405161053a9190613d4f565b60405180910390f35b34801561054e575f80fd5b50610557610f3b565b6040516105649190613d4f565b60405180910390f35b348015610578575f80fd5b50610581610f41565b60405161058e9190613d4f565b60405180910390f35b3480156105a2575f80fd5b506105bd60048036038101906105b89190613d68565b610f47565b005b3480156105ca575f80fd5b506105e560048036038101906105e09190613deb565b611046565b6040516105f29190613e25565b60405180910390f35b61061560048036038101906106109190613c55565b611063565b005b348015610622575f80fd5b5061062b611371565b6040516106389190613cbf565b60405180910390f35b34801561064c575f80fd5b5061066760048036038101906106629190613e3e565b611396565b005b348015610674575f80fd5b5061068f600480360381019061068a9190613e7c565b6113b8565b60405161069c9190613d4f565b60405180910390f35b3480156106b0575f80fd5b506106b96113cd565b6040516106c69190613c02565b60405180910390f35b3480156106da575f80fd5b506106f560048036038101906106f09190613e3e565b611459565b005b348015610702575f80fd5b5061070b6114d4565b005b348015610718575f80fd5b50610733600480360381019061072e9190613d68565b6116aa565b005b348015610740575f80fd5b506107496116c9565b6040516107569190613b5f565b60405180910390f35b34801561076a575f80fd5b506107736116de565b6040516107809190613cbf565b60405180910390f35b348015610794575f80fd5b506107af60048036038101906107aa9190613c55565b611703565b6040516107bc9190613cbf565b60405180910390f35b3480156107d0575f80fd5b506107eb60048036038101906107e69190613fe7565b611714565b005b3480156107f8575f80fd5b50610813600480360381019061080e9190613e7c565b6117b2565b6040516108209190613d4f565b60405180910390f35b348015610834575f80fd5b5061084f600480360381019061084a9190613c55565b611868565b60405161085c9190613d4f565b60405180910390f35b348015610870575f80fd5b5061088b60048036038101906108869190614058565b61187d565b005b348015610898575f80fd5b506108a16118ec565b6040516108ae9190613d4f565b60405180910390f35b3480156108c2575f80fd5b506108dd60048036038101906108d89190613e3e565b6118f2565b6040516108ea9190613b5f565b60405180910390f35b3480156108fe575f80fd5b50610907611956565b6040516109149190613c02565b60405180910390f35b348015610928575f80fd5b50610943600480360381019061093e9190613e7c565b6119e6565b6040516109509190613b5f565b60405180910390f35b348015610964575f80fd5b5061097f600480360381019061097a9190613e7c565b611a03565b60405161098c9190613d4f565b60405180910390f35b3480156109a0575f80fd5b506109a9611a18565b6040516109b69190613e25565b60405180910390f35b3480156109ca575f80fd5b506109e560048036038101906109e091906140cf565b611a1e565b005b3480156109f2575f80fd5b50610a0d6004803603810190610a089190613e7c565b611a34565b604051610a1a9190613b5f565b60405180910390f35b348015610a2e575f80fd5b50610a496004803603810190610a449190613e7c565b611a51565b005b348015610a56575f80fd5b50610a716004803603810190610a6c9190613e7c565b611aa1565b604051610a7e9190613d4f565b60405180910390f35b348015610a92575f80fd5b50610aad6004803603810190610aa89190613c55565b611ab6565b005b348015610aba575f80fd5b50610ad56004803603810190610ad091906141bd565b611acd565b005b348015610ae2575f80fd5b50610aeb611aea565b604051610af89190613d4f565b60405180910390f35b348015610b0c575f80fd5b50610b276004803603810190610b22919061434e565b611af0565b005b348015610b34575f80fd5b50610b4f6004803603810190610b4a9190614433565b611cf9565b005b348015610b5c575f80fd5b50610b776004803603810190610b729190613c55565b611d19565b604051610b849190613c02565b60405180910390f35b348015610b98575f80fd5b50610bb36004803603810190610bae9190613e7c565b611d2b565b604051610bc09190613b5f565b60405180910390f35b348015610bd4575f80fd5b50610bdd611d48565b604051610bea9190613e25565b60405180910390f35b348015610bfe575f80fd5b50610c196004803603810190610c149190613e3e565b611d6c565b005b610c356004803603810190610c3091906144b5565b611d8e565b005b348015610c42575f80fd5b50610c4b611f7c565b604051610c589190613d4f565b60405180910390f35b348015610c6c575f80fd5b50610c876004803603810190610c8291906145b3565b611f82565b005b348015610c94575f80fd5b50610c9d611ffc565b604051610caa9190613e25565b60405180910390f35b348015610cbe575f80fd5b50610cd96004803603810190610cd491906145fa565b612020565b604051610ce69190613b5f565b60405180910390f35b610d096004803603810190610d049190613c55565b6120ae565b005b348015610d16575f80fd5b50610d316004803603810190610d2c9190613e7c565b612447565b604051610d3e9190613d4f565b60405180910390f35b348015610d52575f80fd5b50610d6d6004803603810190610d689190613c55565b61245c565b005b610d896004803603810190610d849190613c55565b61254a565b005b348015610d96575f80fd5b50610db16004803603810190610dac9190614638565b6128e2565b005b348015610dbe575f80fd5b50610dc761291f565b604051610dd49190613e25565b60405180910390f35b5f610de782612943565b9050919050565b5f801b610dfa816129bc565b5f3373ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050905080610e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e68906146c0565b60405180910390fd5b5050565b60605f8054610e839061470b565b80601f0160208091040260200160405190810160405280929190818152602001828054610eaf9061470b565b8015610efa5780601f10610ed157610100808354040283529160200191610efa565b820191905f5260205f20905b815481529060010190602001808311610edd57829003601f168201915b5050505050905090565b5f610f0e826129d0565b50610f1882612a56565b9050919050565b610f318282610f2c612a8f565b612a96565b5050565b60155481565b60195481565b600a5481565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fb7575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610fae9190613cbf565b60405180910390fd5b5f610fca8383610fc5612a8f565b612aa8565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611040578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016110379392919061473b565b60405180910390fd5b50505050565b5f60095f8381526020019081526020015f20600101549050919050565b601360029054906101000a900460ff166110b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a9906147ba565b60405180910390fd5b601454816019546110c39190614805565b1115611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90614882565b60405180910390fd5b34600a548261111391906148a0565b1115611154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114b9061492b565b60405180910390fd5b60185460115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd90614993565b60405180910390fd5b6018548160115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112229190614805565b1115611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125a90614993565b60405180910390fd5b5f5b81811015611321575f60125f60195481526020019081526020015f20549050600160195f8282546112969190614805565b92505081905550600160115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546112ea9190614805565b925050819055506112fb3382612cb3565b61130d8161130883612da6565b612dda565b508080611319906149b1565b915050611265565b5061136e600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d8e565b50565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61139f82611046565b6113a8816129bc565b6113b28383612e34565b50505050565b601d602052805f5260405f205f915090505481565b601a80546113da9061470b565b80601f01602080910402602001604051908101604052809291908181526020018280546114069061470b565b80156114515780601f1061142857610100808354040283529160200191611451565b820191905f5260205f20905b81548152906001019060200180831161143457829003601f168201915b505050505081565b611461612a8f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114c5576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114cf8282612f1e565b505050565b601c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661155d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155490614a42565b60405180910390fd5b5f601c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f601d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f3373ffffffffffffffffffffffffffffffffffffffff166108fc601d5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490811502906040515f60405180830381858888f193505050509050806116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e906146c0565b60405180910390fd5b50565b6116c483838360405180602001604052805f815250611acd565b505050565b5f60085f9054906101000a900460ff16905090565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61170d826129d0565b9050919050565b5f801b611720816129bc565b5f5b82518110156117ad576001600e5f85848151811061174357611742614a60565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806117a5906149b1565b915050611722565b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611823575f6040517f89c62b6400000000000000000000000000000000000000000000000000000000815260040161181a9190613cbf565b60405180910390fd5b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6012602052805f5260405f205f915090505481565b5f801b611889816129bc565b85600a81905550846018819055508360135f6101000a81548160ff02191690831515021790555082601360016101000a81548160ff02191690831515021790555081601360026101000a81548160ff021916908315150217905550505050505050565b60165481565b5f60095f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6060600180546119659061470b565b80601f01602080910402602001604051908101604052809291908181526020018280546119919061470b565b80156119dc5780601f106119b3576101008083540402835291602001916119dc565b820191905f5260205f20905b8154815290600101906020018083116119bf57829003601f168201915b5050505050905090565b601b602052805f5260405f205f915054906101000a900460ff1681565b600f602052805f5260405f205f915090505481565b5f801b81565b611a30611a29612a8f565b8383613008565b5050565b600e602052805f5260405f205f915054906101000a900460ff1681565b5f801b611a5d816129bc565b81600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6010602052805f5260405f205f915090505481565b5f801b611ac2816129bc565b816014819055505050565b611ad8848484610f47565b611ae484848484613171565b50505050565b60175481565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6611b1a816129bc565b5f5b8251811015611cf4575f5b838281518110611b3a57611b39614a60565b5b602002602001015160200151811015611ce057601454848381518110611b6357611b62614a60565b5b602002602001015160200151601954611b7c9190614805565b1115611bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb490614ad7565b60405180910390fd5b601b5f858481518110611bd357611bd2614a60565b5b60200260200101515f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16611c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5a90614b65565b60405180910390fd5b5f60125f60195481526020019081526020015f20549050600160195f828254611c8c9190614805565b92505081905550611cba858481518110611ca957611ca8614a60565b5b60200260200101515f015182612cb3565b611ccc81611cc783612da6565b612dda565b508080611cd8906149b1565b915050611b27565b508080611cec906149b1565b915050611b1c565b505050565b5f801b611d05816129bc565b81601a9081611d149190614d20565b505050565b6060611d2482612da6565b9050919050565b601c602052805f5260405f205f915054906101000a900460ff1681565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b611d7582611046565b611d7e816129bc565b611d888383612f1e565b50505050565b5f600a541115611eeb575f3490505f601754606460165484611db091906148a0565b611dba9190614e1c565b611dc49190614e1c565b90505f8183611dd39190614e4c565b905080471015611e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0f90614eef565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e5b573d5f803e3d5ffd5b5081471015611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9690614f7d565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611ee2573d5f803e3d5ffd5b50505050611f78565b5f34905080471015611f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2990614f7d565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f75573d5f803e3d5ffd5b50505b5050565b60185481565b5f801b611f8e816129bc565b5f5b8251811015611ff757828181518110611fac57611fab614a60565b5b602002602001015160125f60155481526020019081526020015f2081905550600160155f828254611fdd9190614805565b925050819055508080611fef906149b1565b915050611f90565b505050565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b80601360019054906101000a900460ff166120fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f590614fe5565b60405180910390fd5b6014548160195461210f9190614805565b1115612150576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214790614882565b60405180910390fd5b600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166121d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d090615073565b60405180910390fd5b60185460105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111561225b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612252906150db565b60405180910390fd5b6018548160105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122a79190614805565b11156122e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122df90615143565b60405180910390fd5b34600a54826122f791906148a0565b1115612338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232f9061492b565b60405180910390fd5b5f5b828110156123f6575f60125f60195481526020019081526020015f20549050600160195f82825461236b9190614805565b92505081905550600160105f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546123bf9190614805565b925050819055506123d03382612cb3565b6123e2816123dd83612da6565b612dda565b5080806123ee906149b1565b91505061233a565b50612443600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d8e565b5050565b6011602052805f5260405f205f915090505481565b5f801b612468816129bc565b601454826019546124799190614805565b11156124ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b190614ad7565b60405180910390fd5b5f5b82811015612545575f60125f60195481526020019081526020015f20549050600160195f8282546124ed9190614805565b9250508190555061251f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612cb3565b6125318161252c83612da6565b612dda565b50808061253d906149b1565b9150506124bc565b505050565b8060135f9054906101000a900460ff16612599576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612590906151ab565b60405180910390fd5b601454816019546125aa9190614805565b11156125eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e290614882565b60405180910390fd5b600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266b90615239565b60405180910390fd5b601854600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205411156126f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ed906152a1565b60405180910390fd5b60185481600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127429190614805565b1115612783576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161277a90615143565b60405180910390fd5b34600a548261279291906148a0565b11156127d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ca9061492b565b60405180910390fd5b5f5b82811015612891575f60125f60195481526020019081526020015f20549050600160195f8282546128069190614805565b925050819055506001600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461285a9190614805565b9250508190555061286b3382612cb3565b61287d8161287883612da6565b612dda565b508080612889906149b1565b9150506127d5565b506128de600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d8e565b5050565b7fc5abefe4aed277fb344652e626c3c4fe5cdab1313b8ac46cdd6da9bbe98161cb61290c816129bc565b8260168190555081601781905550505050565b7fc5abefe4aed277fb344652e626c3c4fe5cdab1313b8ac46cdd6da9bbe98161cb81565b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806129b557506129b482613323565b5b9050919050565b6129cd816129c8612a8f565b613383565b50565b5f806129db836133d4565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612a4d57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401612a449190613d4f565b60405180910390fd5b80915050919050565b5f60055f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b612aa3838383600161340d565b505050565b5f80612ab3846133d4565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612af457612af38184866135cc565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612b7f57612b335f855f8061340d565b600160045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612bfe57600160045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460035f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d23575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401612d1a9190613cbf565b60405180910390fd5b5f612d2f83835f612aa8565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612da1575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401612d989190613cbf565b60405180910390fd5b505050565b6060601a612db38361368f565b604051602001612dc49291906153c3565b6040516020818303038152906040529050919050565b8060075f8481526020019081526020015f209081612df89190614d20565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce782604051612e289190613d4f565b60405180910390a15050565b5f612e3f83836118f2565b612f1457600160095f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612eb1612a8f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050612f18565b5f90505b92915050565b5f612f2983836118f2565b15612ffe575f60095f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550612f9b612a8f565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050613002565b5f90505b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361307857816040517f5b08ba1800000000000000000000000000000000000000000000000000000000815260040161306f9190613cbf565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516131649190613b5f565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b111561331d578273ffffffffffffffffffffffffffffffffffffffff1663150b7a026131b4612a8f565b8685856040518563ffffffff1660e01b81526004016131d69493929190615443565b6020604051808303815f875af192505050801561321157506040513d601f19601f8201168201806040525081019061320e91906154a1565b60015b613292573d805f811461323f576040519150601f19603f3d011682016040523d82523d5f602084013e613244565b606091505b505f81510361328a57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016132819190613cbf565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461331b57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016133129190613cbf565b60405180910390fd5b505b50505050565b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061337c575061337b82613759565b5b9050919050565b61338d82826118f2565b6133d05780826040517fe2517d3f0000000000000000000000000000000000000000000000000000000081526004016133c79291906154cc565b60405180910390fd5b5050565b5f60035f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061344557505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15613577575f613454846129d0565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156134be57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156134d157506134cf8184612020565b155b1561351357826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040161350a9190613cbf565b60405180910390fd5b811561357557838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360055f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6135d783838361383a565b61368a575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361364b57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016136429190613d4f565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016136819291906154f3565b60405180910390fd5b505050565b60605f600161369d846138fa565b0190505f8167ffffffffffffffff8111156136bb576136ba613eab565b5b6040519080825280601f01601f1916602001820160405280156136ed5781602001600182028036833780820191505090505b5090505f82602001820190505b60011561374e578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161374357613742614def565b5b0494505f85036136fa575b819350505050919050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061382357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613833575061383282613a4b565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156138f157508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806138b257506138b18484612020565b5b806138f057508273ffffffffffffffffffffffffffffffffffffffff166138d883612a56565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613956577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161394c5761394b614def565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613993576d04ee2d6d415b85acef8100000000838161398957613988614def565b5b0492506020810190505b662386f26fc1000083106139c257662386f26fc1000083816139b8576139b7614def565b5b0492506010810190505b6305f5e10083106139eb576305f5e10083816139e1576139e0614def565b5b0492506008810190505b6127108310613a10576127108381613a0657613a05614def565b5b0492506004810190505b60648310613a335760648381613a2957613a28614def565b5b0492506002810190505b600a8310613a42576001810190505b80915050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613af981613ac5565b8114613b03575f80fd5b50565b5f81359050613b1481613af0565b92915050565b5f60208284031215613b2f57613b2e613abd565b5b5f613b3c84828501613b06565b91505092915050565b5f8115159050919050565b613b5981613b45565b82525050565b5f602082019050613b725f830184613b50565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613baf578082015181840152602081019050613b94565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613bd482613b78565b613bde8185613b82565b9350613bee818560208601613b92565b613bf781613bba565b840191505092915050565b5f6020820190508181035f830152613c1a8184613bca565b905092915050565b5f819050919050565b613c3481613c22565b8114613c3e575f80fd5b50565b5f81359050613c4f81613c2b565b92915050565b5f60208284031215613c6a57613c69613abd565b5b5f613c7784828501613c41565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613ca982613c80565b9050919050565b613cb981613c9f565b82525050565b5f602082019050613cd25f830184613cb0565b92915050565b613ce181613c9f565b8114613ceb575f80fd5b50565b5f81359050613cfc81613cd8565b92915050565b5f8060408385031215613d1857613d17613abd565b5b5f613d2585828601613cee565b9250506020613d3685828601613c41565b9150509250929050565b613d4981613c22565b82525050565b5f602082019050613d625f830184613d40565b92915050565b5f805f60608486031215613d7f57613d7e613abd565b5b5f613d8c86828701613cee565b9350506020613d9d86828701613cee565b9250506040613dae86828701613c41565b9150509250925092565b5f819050919050565b613dca81613db8565b8114613dd4575f80fd5b50565b5f81359050613de581613dc1565b92915050565b5f60208284031215613e0057613dff613abd565b5b5f613e0d84828501613dd7565b91505092915050565b613e1f81613db8565b82525050565b5f602082019050613e385f830184613e16565b92915050565b5f8060408385031215613e5457613e53613abd565b5b5f613e6185828601613dd7565b9250506020613e7285828601613cee565b9150509250929050565b5f60208284031215613e9157613e90613abd565b5b5f613e9e84828501613cee565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b613ee182613bba565b810181811067ffffffffffffffff82111715613f0057613eff613eab565b5b80604052505050565b5f613f12613ab4565b9050613f1e8282613ed8565b919050565b5f67ffffffffffffffff821115613f3d57613f3c613eab565b5b602082029050602081019050919050565b5f80fd5b5f613f64613f5f84613f23565b613f09565b90508083825260208201905060208402830185811115613f8757613f86613f4e565b5b835b81811015613fb05780613f9c8882613cee565b845260208401935050602081019050613f89565b5050509392505050565b5f82601f830112613fce57613fcd613ea7565b5b8135613fde848260208601613f52565b91505092915050565b5f60208284031215613ffc57613ffb613abd565b5b5f82013567ffffffffffffffff81111561401957614018613ac1565b5b61402584828501613fba565b91505092915050565b61403781613b45565b8114614041575f80fd5b50565b5f813590506140528161402e565b92915050565b5f805f805f60a0868803121561407157614070613abd565b5b5f61407e88828901613c41565b955050602061408f88828901613c41565b94505060406140a088828901614044565b93505060606140b188828901614044565b92505060806140c288828901614044565b9150509295509295909350565b5f80604083850312156140e5576140e4613abd565b5b5f6140f285828601613cee565b925050602061410385828601614044565b9150509250929050565b5f80fd5b5f67ffffffffffffffff82111561412b5761412a613eab565b5b61413482613bba565b9050602081019050919050565b828183375f83830152505050565b5f61416161415c84614111565b613f09565b90508281526020810184848401111561417d5761417c61410d565b5b614188848285614141565b509392505050565b5f82601f8301126141a4576141a3613ea7565b5b81356141b484826020860161414f565b91505092915050565b5f805f80608085870312156141d5576141d4613abd565b5b5f6141e287828801613cee565b94505060206141f387828801613cee565b935050604061420487828801613c41565b925050606085013567ffffffffffffffff81111561422557614224613ac1565b5b61423187828801614190565b91505092959194509250565b5f67ffffffffffffffff82111561425757614256613eab565b5b602082029050602081019050919050565b5f80fd5b5f6040828403121561428157614280614268565b5b61428b6040613f09565b90505f61429a84828501613cee565b5f8301525060206142ad84828501613c41565b60208301525092915050565b5f6142cb6142c68461423d565b613f09565b905080838252602082019050604084028301858111156142ee576142ed613f4e565b5b835b818110156143175780614303888261426c565b8452602084019350506040810190506142f0565b5050509392505050565b5f82601f83011261433557614334613ea7565b5b81356143458482602086016142b9565b91505092915050565b5f6020828403121561436357614362613abd565b5b5f82013567ffffffffffffffff8111156143805761437f613ac1565b5b61438c84828501614321565b91505092915050565b5f67ffffffffffffffff8211156143af576143ae613eab565b5b6143b882613bba565b9050602081019050919050565b5f6143d76143d284614395565b613f09565b9050828152602081018484840111156143f3576143f261410d565b5b6143fe848285614141565b509392505050565b5f82601f83011261441a57614419613ea7565b5b813561442a8482602086016143c5565b91505092915050565b5f6020828403121561444857614447613abd565b5b5f82013567ffffffffffffffff81111561446557614464613ac1565b5b61447184828501614406565b91505092915050565b5f61448482613c80565b9050919050565b6144948161447a565b811461449e575f80fd5b50565b5f813590506144af8161448b565b92915050565b5f80604083850312156144cb576144ca613abd565b5b5f6144d8858286016144a1565b92505060206144e9858286016144a1565b9150509250929050565b5f67ffffffffffffffff82111561450d5761450c613eab565b5b602082029050602081019050919050565b5f61453061452b846144f3565b613f09565b9050808382526020820190506020840283018581111561455357614552613f4e565b5b835b8181101561457c57806145688882613c41565b845260208401935050602081019050614555565b5050509392505050565b5f82601f83011261459a57614599613ea7565b5b81356145aa84826020860161451e565b91505092915050565b5f602082840312156145c8576145c7613abd565b5b5f82013567ffffffffffffffff8111156145e5576145e4613ac1565b5b6145f184828501614586565b91505092915050565b5f80604083850312156146105761460f613abd565b5b5f61461d85828601613cee565b925050602061462e85828601613cee565b9150509250929050565b5f806040838503121561464e5761464d613abd565b5b5f61465b85828601613c41565b925050602061466c85828601613c41565b9150509250929050565b7f4574686572207472616e73666572206661696c65642e000000000000000000005f82015250565b5f6146aa601683613b82565b91506146b582614676565b602082019050919050565b5f6020820190508181035f8301526146d78161469e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061472257607f821691505b602082108103614735576147346146de565b5b50919050565b5f60608201905061474e5f830186613cb0565b61475b6020830185613d40565b6147686040830184613cb0565b949350505050565b7f5075626c6963206d696e74206973206e6f74206f70656e0000000000000000005f82015250565b5f6147a4601783613b82565b91506147af82614770565b602082019050919050565b5f6020820190508181035f8301526147d181614798565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61480f82613c22565b915061481a83613c22565b9250828201905080821115614832576148316147d8565b5b92915050565b7f746f6b656e206973206c657373000000000000000000000000000000000000005f82015250565b5f61486c600d83613b82565b915061487782614838565b602082019050919050565b5f6020820190508181035f83015261489981614860565b9050919050565b5f6148aa82613c22565b91506148b583613c22565b92508282026148c381613c22565b915082820484148315176148da576148d96147d8565b5b5092915050565b7f757365722070617373206c6f77657220616d6f756e74000000000000000000005f82015250565b5f614915601683613b82565b9150614920826148e1565b602082019050919050565b5f6020820190508181035f83015261494281614909565b9050919050565b7f7573657220657863656564206d696e74206c696d6974000000000000000000005f82015250565b5f61497d601683613b82565b915061498882614949565b602082019050919050565b5f6020820190508181035f8301526149aa81614971565b9050919050565b5f6149bb82613c22565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036149ed576149ec6147d8565b5b600182019050919050565b7f5573657220686173206e6f7420796574207061696400000000000000000000005f82015250565b5f614a2c601583613b82565b9150614a37826149f8565b602082019050919050565b5f6020820190508181035f830152614a5981614a20565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f737570706c7920657863656564000000000000000000000000000000000000005f82015250565b5f614ac1600d83613b82565b9150614acc82614a8d565b602082019050919050565b5f6020820190508181035f830152614aee81614ab5565b9050919050565b7f557365722068617320616c7265616479206d696e74656420746f6b656e20696e5f8201527f2077686974656c6973746564206d696e74000000000000000000000000000000602082015250565b5f614b4f603183613b82565b9150614b5a82614af5565b604082019050919050565b5f6020820190508181035f830152614b7c81614b43565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614bdf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614ba4565b614be98683614ba4565b95508019841693508086168417925050509392505050565b5f819050919050565b5f614c24614c1f614c1a84613c22565b614c01565b613c22565b9050919050565b5f819050919050565b614c3d83614c0a565b614c51614c4982614c2b565b848454614bb0565b825550505050565b5f90565b614c65614c59565b614c70818484614c34565b505050565b5b81811015614c9357614c885f82614c5d565b600181019050614c76565b5050565b601f821115614cd857614ca981614b83565b614cb284614b95565b81016020851015614cc1578190505b614cd5614ccd85614b95565b830182614c75565b50505b505050565b5f82821c905092915050565b5f614cf85f1984600802614cdd565b1980831691505092915050565b5f614d108383614ce9565b9150826002028217905092915050565b614d2982613b78565b67ffffffffffffffff811115614d4257614d41613eab565b5b614d4c825461470b565b614d57828285614c97565b5f60209050601f831160018114614d88575f8415614d76578287015190505b614d808582614d05565b865550614de7565b601f198416614d9686614b83565b5f5b82811015614dbd57848901518255600182019150602085019450602081019050614d98565b86831015614dda5784890151614dd6601f891682614ce9565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614e2682613c22565b9150614e3183613c22565b925082614e4157614e40614def565b5b828204905092915050565b5f614e5682613c22565b9150614e6183613c22565b9250828203905081811115614e7957614e786147d8565b5b92915050565b7f496e73756666696369656e742062616c616e636520746f2073656e64207468655f8201527f206669727374207472616e73616374696f6e0000000000000000000000000000602082015250565b5f614ed9603283613b82565b9150614ee482614e7f565b604082019050919050565b5f6020820190508181035f830152614f0681614ecd565b9050919050565b7f496e73756666696369656e742062616c616e636520746f2073656e64207468655f8201527f207365636f6e64207472616e73616374696f6e00000000000000000000000000602082015250565b5f614f67603383613b82565b9150614f7282614f0d565b604082019050919050565b5f6020820190508181035f830152614f9481614f5b565b9050919050565b7f574c206d696e74206973206e6f74206f70656e000000000000000000000000005f82015250565b5f614fcf601383613b82565b9150614fda82614f9b565b602082019050919050565b5f6020820190508181035f830152614ffc81614fc3565b9050919050565b7f75736572206973206e6f742077686974656c697374656420666f7220776869745f8201527f656c6973746564206d696e740000000000000000000000000000000000000000602082015250565b5f61505d602c83613b82565b915061506882615003565b604082019050919050565b5f6020820190508181035f83015261508a81615051565b9050919050565b7f75736572206d696e742074686572652033206e667473000000000000000000005f82015250565b5f6150c5601683613b82565b91506150d082615091565b602082019050919050565b5f6020820190508181035f8301526150f2816150b9565b9050919050565b7f657865636564206d696e74206c696d69740000000000000000000000000000005f82015250565b5f61512d601183613b82565b9150615138826150f9565b602082019050919050565b5f6020820190508181035f83015261515a81615121565b9050919050565b7f4f47206d696e74206973206e6f74206f70656e000000000000000000000000005f82015250565b5f615195601383613b82565b91506151a082615161565b602082019050919050565b5f6020820190508181035f8301526151c281615189565b9050919050565b7f75736572206973206e6f742077686974656c697374656420666f72206f67206d5f8201527f696e740000000000000000000000000000000000000000000000000000000000602082015250565b5f615223602383613b82565b915061522e826151c9565b604082019050919050565b5f6020820190508181035f83015261525081615217565b9050919050565b7f75736572206d696e742074686572652035206e667473000000000000000000005f82015250565b5f61528b601683613b82565b915061529682615257565b602082019050919050565b5f6020820190508181035f8301526152b88161527f565b9050919050565b5f81905092915050565b5f81546152d58161470b565b6152df81866152bf565b9450600182165f81146152f9576001811461530e57615340565b60ff1983168652811515820286019350615340565b61531785614b83565b5f5b8381101561533857815481890152600182019150602081019050615319565b838801955050505b50505092915050565b5f61535382613b78565b61535d81856152bf565b935061536d818560208601613b92565b80840191505092915050565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000005f82015250565b5f6153ad6005836152bf565b91506153b882615379565b600582019050919050565b5f6153ce82856152c9565b91506153da8284615349565b91506153e5826153a1565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f615415826153f1565b61541f81856153fb565b935061542f818560208601613b92565b61543881613bba565b840191505092915050565b5f6080820190506154565f830187613cb0565b6154636020830186613cb0565b6154706040830185613d40565b8181036060830152615482818461540b565b905095945050505050565b5f8151905061549b81613af0565b92915050565b5f602082840312156154b6576154b5613abd565b5b5f6154c38482850161548d565b91505092915050565b5f6040820190506154df5f830185613cb0565b6154ec6020830184613e16565b9392505050565b5f6040820190506155065f830185613cb0565b6155136020830184613d40565b939250505056fea2646970667358221220e747098e05cdb69b9fc529fd817ec43d1d7b1d1127e210b15c1738b7e501c22164736f6c63430008140033000000000000000000000000192c3baa95235b84b46e76ea3fbff51b092dc0ed0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000192c3baa95235b84b46e76ea3fbff51b092dc0ed000000000000000000000000192c3baa95235b84b46e76ea3fbff51b092dc0ed000000000000000000000000000000000000000000000000000000000000000a4b6f6d65742044656d6f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024b440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000