60c06040526019600b556001600c5f6101000a81548160ff021916908315150217905550610e10600d55610708600f55600160115f6101000a81548160ff0219169083151502179055505f601160016101000a81548160ff0219169083151502179055505f601160026101000a81548160ff021916908315150217905550600160135f6101000a81548160ff021916908315150217905550348015620000a3575f80fd5b506040518060400160405280600981526020017f42656669204c61627300000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4245464900000000000000000000000000000000000000000000000000000000815250816003908162000121919062000d2f565b50806004908162000133919062000d2f565b505050620001566200014a620005a360201b60201c565b620005aa60201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d9050620001818160016200066d60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000225919062000e78565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200028b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002b1919062000e78565b6040518363ffffffff1660e01b8152600401620002d092919062000eb9565b6020604051808303815f875af1158015620002ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000313919062000e78565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200035b60a05160016200066d60201b60201c565b6200037060a05160016200075460201b60201c565b5f805f805f805f6b033b2e3c9fd0803ce800000090506b033b2e3c9fd0803ce80000006008819055506b033b2e3c9fd0803ce8000000600a819055506127108082620003bd919062000f11565b620003c9919062000f88565b600981905550866015819055508560168190555084601781905550601754601654601554620003f9919062000fbf565b62000405919062000fbf565b6014819055508360198190555082601a8190555081601b81905550601b54601a5460195462000435919062000fbf565b62000441919062000fbf565b60188190555073632ba6dab1c93d4ac42402f83d6bcbe5ccf7848560065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073632ba6dab1c93d4ac42402f83d6bcbe5ccf7848560075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200051162000503620007f260201b60201c565b60016200081a60201b60201c565b620005243060016200081a60201b60201c565b6200053961dead60016200081a60201b60201c565b6200055b6200054d620007f260201b60201c565b60016200066d60201b60201c565b6200056e3060016200066d60201b60201c565b6200058361dead60016200066d60201b60201c565b6200059533826200095160201b60201c565b505050505050505062001148565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200067d620005a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620006a3620007f260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620006fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006f39062001057565b60405180910390fd5b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060215f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200082a620005a360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1662000850620007f260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620008a9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008a09062001057565b60405180910390fd5b80601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000945919062001093565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620009c2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009b990620010fc565b60405180910390fd5b620009d55f838362000ac160201b60201c565b8060025f828254620009e8919062000fbf565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000a3c919062000fbf565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000aa291906200112d565b60405180910390a362000abd5f838362000ac660201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000b4757607f821691505b60208210810362000b5d5762000b5c62000b02565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000bc17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000b84565b62000bcd868362000b84565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000c1762000c1162000c0b8462000be5565b62000bee565b62000be5565b9050919050565b5f819050919050565b62000c328362000bf7565b62000c4a62000c418262000c1e565b84845462000b90565b825550505050565b5f90565b62000c6062000c52565b62000c6d81848462000c27565b505050565b5b8181101562000c945762000c885f8262000c56565b60018101905062000c73565b5050565b601f82111562000ce35762000cad8162000b63565b62000cb88462000b75565b8101602085101562000cc8578190505b62000ce062000cd78562000b75565b83018262000c72565b50505b505050565b5f82821c905092915050565b5f62000d055f198460080262000ce8565b1980831691505092915050565b5f62000d1f838362000cf4565b9150826002028217905092915050565b62000d3a8262000acb565b67ffffffffffffffff81111562000d565762000d5562000ad5565b5b62000d62825462000b2f565b62000d6f82828562000c98565b5f60209050601f83116001811462000da5575f841562000d90578287015190505b62000d9c858262000d12565b86555062000e0b565b601f19841662000db58662000b63565b5f5b8281101562000dde5784890151825560018201915060208501945060208101905062000db7565b8683101562000dfe578489015162000dfa601f89168262000cf4565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000e428262000e17565b9050919050565b62000e548162000e36565b811462000e5f575f80fd5b50565b5f8151905062000e728162000e49565b92915050565b5f6020828403121562000e905762000e8f62000e13565b5b5f62000e9f8482850162000e62565b91505092915050565b62000eb38162000e36565b82525050565b5f60408201905062000ece5f83018562000ea8565b62000edd602083018462000ea8565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000f1d8262000be5565b915062000f2a8362000be5565b925082820262000f3a8162000be5565b9150828204841483151762000f545762000f5362000ee4565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000f948262000be5565b915062000fa18362000be5565b92508262000fb45762000fb362000f5b565b5b828204905092915050565b5f62000fcb8262000be5565b915062000fd88362000be5565b925082820190508082111562000ff35762000ff262000ee4565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6200103f60208362000ff9565b91506200104c8262001009565b602082019050919050565b5f6020820190508181035f830152620010708162001031565b9050919050565b5f8115159050919050565b6200108d8162001077565b82525050565b5f602082019050620010a85f83018462001082565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f620010e4601f8362000ff9565b9150620010f182620010ae565b602082019050919050565b5f6020820190508181035f8301526200111581620010d6565b9050919050565b620011278162000be5565b82525050565b5f602082019050620011425f8301846200111c565b92915050565b60805160a051615c10620011cc5f395f818161145401528181611c4d0152818161277a0152818161282d0152818161285901528181612e7f0152818161406e01528181614123015261414f01525f8181610f7d01528181612e27015281816142bd0152818161439c015281816143c30152818161445901526144800152615c105ff3fe6080604052600436106103bb575f3560e01c80638a8c523c116101f1578063bbc0c7421161010c578063dd62ed3e1161009f578063f2fde38b1161006e578063f2fde38b14610dfa578063f637434214610e22578063f8b45b0514610e4c578063fe72b27a14610e76576103c2565b8063dd62ed3e14610d40578063e2f4560514610d7c578063e884f26014610da6578063f11a24d314610dd0576103c2565b8063c876d0b9116100db578063c876d0b914610c86578063c8c8ebe414610cb0578063d257b34f14610cda578063d85ba06314610d16576103c2565b8063bbc0c74214610be4578063c024666814610c0e578063c17b5b8c14610c36578063c18bc19514610c5e576103c2565b80639ec22c0e11610184578063a4c82a0011610153578063a4c82a0014610b1a578063a9059cbb14610b44578063aacebbe314610b80578063b62496f514610ba8576103c2565b80639ec22c0e14610a605780639fccce3214610a8a578063a0d82dc514610ab4578063a457c2d714610ade576103c2565b8063924de9b7116101c0578063924de9b7146109bc57806395d89b41146109e45780639a7a23d614610a0e5780639c3b4fdc14610a36576103c2565b80638a8c523c146109285780638da5cb5b1461093e5780638ea5220f146109685780639213691314610992576103c2565b8063313ce567116102e157806370a08231116102745780637571336a116102435780637571336a1461088457806375f0a874146108ac5780637bce5a04146108d65780638095d56414610900576103c2565b806370a08231146107e0578063715018a61461081c578063730c188814610832578063751039fc1461085a576103c2565b80634a62bb65116102b05780634a62bb65146107265780634fbee193146107505780636a486a8e1461078c5780636ddd1713146107b6576103c2565b8063313ce5671461066e578063395093511461069857806340c10f19146106d457806349bd5a5e146106fc576103c2565b8063199ffc721161035957806323b872dd1161032857806323b872dd146105b457806327c8f835146105f05780632c3e486c1461061a5780632e82f1a014610644576103c2565b8063199ffc721461050e5780631a8145bb146105385780631f3fed8f14610562578063203e727e1461058c576103c2565b80631694505e116103955780631694505e1461046857806318160ddd146104925780631816467f146104bc578063184c16c5146104e4576103c2565b806306fdde03146103c6578063095ea7b3146103f057806310d5de531461042c576103c2565b366103c257005b5f80fd5b3480156103d1575f80fd5b506103da610eb2565b6040516103e791906145b6565b60405180910390f35b3480156103fb575f80fd5b5061041660048036038101906104119190614667565b610f42565b60405161042391906146bf565b60405180910390f35b348015610437575f80fd5b50610452600480360381019061044d91906146d8565b610f5f565b60405161045f91906146bf565b60405180910390f35b348015610473575f80fd5b5061047c610f7b565b604051610489919061475e565b60405180910390f35b34801561049d575f80fd5b506104a6610f9f565b6040516104b39190614786565b60405180910390f35b3480156104c7575f80fd5b506104e260048036038101906104dd91906146d8565b610fa8565b005b3480156104ef575f80fd5b506104f86110e2565b6040516105059190614786565b60405180910390f35b348015610519575f80fd5b506105226110e8565b60405161052f9190614786565b60405180910390f35b348015610543575f80fd5b5061054c6110ee565b6040516105599190614786565b60405180910390f35b34801561056d575f80fd5b506105766110f4565b6040516105839190614786565b60405180910390f35b348015610597575f80fd5b506105b260048036038101906105ad919061479f565b6110fa565b005b3480156105bf575f80fd5b506105da60048036038101906105d591906147ca565b611209565b6040516105e791906146bf565b60405180910390f35b3480156105fb575f80fd5b506106046112fb565b6040516106119190614829565b60405180910390f35b348015610625575f80fd5b5061062e611301565b60405161063b9190614786565b60405180910390f35b34801561064f575f80fd5b50610658611307565b60405161066591906146bf565b60405180910390f35b348015610679575f80fd5b50610682611319565b60405161068f919061485d565b60405180910390f35b3480156106a3575f80fd5b506106be60048036038101906106b99190614667565b611321565b6040516106cb91906146bf565b60405180910390f35b3480156106df575f80fd5b506106fa60048036038101906106f59190614667565b6113c8565b005b348015610707575f80fd5b50610710611452565b60405161071d9190614829565b60405180910390f35b348015610731575f80fd5b5061073a611476565b60405161074791906146bf565b60405180910390f35b34801561075b575f80fd5b50610776600480360381019061077191906146d8565b611488565b60405161078391906146bf565b60405180910390f35b348015610797575f80fd5b506107a06114da565b6040516107ad9190614786565b60405180910390f35b3480156107c1575f80fd5b506107ca6114e0565b6040516107d791906146bf565b60405180910390f35b3480156107eb575f80fd5b50610806600480360381019061080191906146d8565b6114f3565b6040516108139190614786565b60405180910390f35b348015610827575f80fd5b50610830611538565b005b34801561083d575f80fd5b50610858600480360381019061085391906148a0565b6115bf565b005b348015610865575f80fd5b5061086e6116fd565b60405161087b91906146bf565b60405180910390f35b34801561088f575f80fd5b506108aa60048036038101906108a591906148f0565b61179a565b005b3480156108b7575f80fd5b506108c061186e565b6040516108cd9190614829565b60405180910390f35b3480156108e1575f80fd5b506108ea611893565b6040516108f79190614786565b60405180910390f35b34801561090b575f80fd5b506109266004803603810190610921919061492e565b611899565b005b348015610933575f80fd5b5061093c611998565b005b348015610949575f80fd5b50610952611a53565b60405161095f9190614829565b60405180910390f35b348015610973575f80fd5b5061097c611a7b565b6040516109899190614829565b60405180910390f35b34801561099d575f80fd5b506109a6611aa0565b6040516109b39190614786565b60405180910390f35b3480156109c7575f80fd5b506109e260048036038101906109dd919061497e565b611aa6565b005b3480156109ef575f80fd5b506109f8611b3f565b604051610a0591906145b6565b60405180910390f35b348015610a19575f80fd5b50610a346004803603810190610a2f91906148f0565b611bcf565b005b348015610a41575f80fd5b50610a4a611ce7565b604051610a579190614786565b60405180910390f35b348015610a6b575f80fd5b50610a74611ced565b604051610a819190614786565b60405180910390f35b348015610a95575f80fd5b50610a9e611cf3565b604051610aab9190614786565b60405180910390f35b348015610abf575f80fd5b50610ac8611cf9565b604051610ad59190614786565b60405180910390f35b348015610ae9575f80fd5b50610b046004803603810190610aff9190614667565b611cff565b604051610b1191906146bf565b60405180910390f35b348015610b25575f80fd5b50610b2e611de5565b604051610b3b9190614786565b60405180910390f35b348015610b4f575f80fd5b50610b6a6004803603810190610b659190614667565b611deb565b604051610b7791906146bf565b60405180910390f35b348015610b8b575f80fd5b50610ba66004803603810190610ba191906146d8565b611e08565b005b348015610bb3575f80fd5b50610bce6004803603810190610bc991906146d8565b611f42565b604051610bdb91906146bf565b60405180910390f35b348015610bef575f80fd5b50610bf8611f5f565b604051610c0591906146bf565b60405180910390f35b348015610c19575f80fd5b50610c346004803603810190610c2f91906148f0565b611f72565b005b348015610c41575f80fd5b50610c5c6004803603810190610c57919061492e565b612094565b005b348015610c69575f80fd5b50610c846004803603810190610c7f919061479f565b612193565b005b348015610c91575f80fd5b50610c9a6122a2565b604051610ca791906146bf565b60405180910390f35b348015610cbb575f80fd5b50610cc46122b4565b604051610cd19190614786565b60405180910390f35b348015610ce5575f80fd5b50610d006004803603810190610cfb919061479f565b6122ba565b604051610d0d91906146bf565b60405180910390f35b348015610d21575f80fd5b50610d2a61240e565b604051610d379190614786565b60405180910390f35b348015610d4b575f80fd5b50610d666004803603810190610d6191906149a9565b612414565b604051610d739190614786565b60405180910390f35b348015610d87575f80fd5b50610d90612496565b604051610d9d9190614786565b60405180910390f35b348015610db1575f80fd5b50610dba61249c565b604051610dc791906146bf565b60405180910390f35b348015610ddb575f80fd5b50610de4612539565b604051610df19190614786565b60405180910390f35b348015610e05575f80fd5b50610e206004803603810190610e1b91906146d8565b61253f565b005b348015610e2d575f80fd5b50610e36612635565b604051610e439190614786565b60405180910390f35b348015610e57575f80fd5b50610e6061263b565b604051610e6d9190614786565b60405180910390f35b348015610e81575f80fd5b50610e9c6004803603810190610e97919061479f565b612641565b604051610ea991906146bf565b60405180910390f35b606060038054610ec190614a14565b80601f0160208091040260200160405190810160405280929190818152602001828054610eed90614a14565b8015610f385780601f10610f0f57610100808354040283529160200191610f38565b820191905f5260205f20905b815481529060010190602001808311610f1b57829003601f168201915b5050505050905090565b5f610f55610f4e61290d565b8484612914565b6001905092915050565b60208052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b610fb061290d565b73ffffffffffffffffffffffffffffffffffffffff16610fce611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b90614a8e565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f5481565b600b5481565b601d5481565b601c5481565b61110261290d565b73ffffffffffffffffffffffffffffffffffffffff16611120611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611176576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116d90614a8e565b60405180910390fd5b670de0b6b3a76400006103e8600161118c610f9f565b6111969190614ad9565b6111a09190614b47565b6111aa9190614b47565b8110156111ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e390614be7565b60405180910390fd5b670de0b6b3a7640000816112009190614ad9565b60088190555050565b5f611215848484612ad7565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61125c61290d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d290614c75565b60405180910390fd5b6112ef856112e761290d565b858403612914565b60019150509392505050565b61dead81565b600d5481565b600c5f9054906101000a900460ff1681565b5f6012905090565b5f6113be61132d61290d565b848460015f61133a61290d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113b99190614c93565b612914565b6001905092915050565b6113d061290d565b73ffffffffffffffffffffffffffffffffffffffff166113ee611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143b90614a8e565b60405180910390fd5b61144e8282613821565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60115f9054906101000a900460ff1681565b5f601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60185481565b601160029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61154061290d565b73ffffffffffffffffffffffffffffffffffffffff1661155e611a53565b73ffffffffffffffffffffffffffffffffffffffff16146115b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ab90614a8e565b60405180910390fd5b6115bd5f613978565b565b6115c761290d565b73ffffffffffffffffffffffffffffffffffffffff166115e5611a53565b73ffffffffffffffffffffffffffffffffffffffff161461163b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163290614a8e565b60405180910390fd5b610258831015611680576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167790614d36565b60405180910390fd5b6103e8821115801561169257505f8210155b6116d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c890614dc4565b60405180910390fd5b82600d8190555081600b8190555080600c5f6101000a81548160ff021916908315150217905550505050565b5f61170661290d565b73ffffffffffffffffffffffffffffffffffffffff16611724611a53565b73ffffffffffffffffffffffffffffffffffffffff161461177a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177190614a8e565b60405180910390fd5b5f60115f6101000a81548160ff0219169083151502179055506001905090565b6117a261290d565b73ffffffffffffffffffffffffffffffffffffffff166117c0611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180d90614a8e565b60405180910390fd5b8060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60155481565b6118a161290d565b73ffffffffffffffffffffffffffffffffffffffff166118bf611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190c90614a8e565b60405180910390fd5b82601581905550816016819055508060178190555060175460165460155461193d9190614c93565b6119479190614c93565b60148190555060646014541115611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a90614e2c565b60405180910390fd5b505050565b6119a061290d565b73ffffffffffffffffffffffffffffffffffffffff166119be611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0b90614a8e565b60405180910390fd5b6001601160016101000a81548160ff0219169083151502179055506001601160026101000a81548160ff02191690831515021790555042600e81905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60195481565b611aae61290d565b73ffffffffffffffffffffffffffffffffffffffff16611acc611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1990614a8e565b60405180910390fd5b80601160026101000a81548160ff02191690831515021790555050565b606060048054611b4e90614a14565b80601f0160208091040260200160405190810160405280929190818152602001828054611b7a90614a14565b8015611bc55780601f10611b9c57610100808354040283529160200191611bc5565b820191905f5260205f20905b815481529060010190602001808311611ba857829003601f168201915b5050505050905090565b611bd761290d565b73ffffffffffffffffffffffffffffffffffffffff16611bf5611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4290614a8e565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd090614eba565b60405180910390fd5b611ce38282613a3b565b5050565b60175481565b60105481565b601e5481565b601b5481565b5f8060015f611d0c61290d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611dc6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dbd90614f48565b60405180910390fd5b611dda611dd161290d565b85858403612914565b600191505092915050565b600e5481565b5f611dfe611df761290d565b8484612ad7565b6001905092915050565b611e1061290d565b73ffffffffffffffffffffffffffffffffffffffff16611e2e611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611e84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7b90614a8e565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6021602052805f5260405f205f915054906101000a900460ff1681565b601160019054906101000a900460ff1681565b611f7a61290d565b73ffffffffffffffffffffffffffffffffffffffff16611f98611a53565b73ffffffffffffffffffffffffffffffffffffffff1614611fee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe590614a8e565b60405180910390fd5b80601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161208891906146bf565b60405180910390a25050565b61209c61290d565b73ffffffffffffffffffffffffffffffffffffffff166120ba611a53565b73ffffffffffffffffffffffffffffffffffffffff1614612110576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210790614a8e565b60405180910390fd5b8260198190555081601a8190555080601b81905550601b54601a546019546121389190614c93565b6121429190614c93565b6018819055506064601854111561218e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218590614e2c565b60405180910390fd5b505050565b61219b61290d565b73ffffffffffffffffffffffffffffffffffffffff166121b9611a53565b73ffffffffffffffffffffffffffffffffffffffff161461220f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161220690614a8e565b60405180910390fd5b670de0b6b3a76400006103e86005612225610f9f565b61222f9190614ad9565b6122399190614b47565b6122439190614b47565b811015612285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227c90614fd6565b60405180910390fd5b670de0b6b3a7640000816122999190614ad9565b600a8190555050565b60135f9054906101000a900460ff1681565b60085481565b5f6122c361290d565b73ffffffffffffffffffffffffffffffffffffffff166122e1611a53565b73ffffffffffffffffffffffffffffffffffffffff1614612337576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232e90614a8e565b60405180910390fd5b620186a06001612345610f9f565b61234f9190614ad9565b6123599190614b47565b82101561239b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239290615064565b60405180910390fd5b6103e860056123a8610f9f565b6123b29190614ad9565b6123bc9190614b47565b8211156123fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f5906150f2565b60405180910390fd5b8160098190555060019050919050565b60145481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f6124a561290d565b73ffffffffffffffffffffffffffffffffffffffff166124c3611a53565b73ffffffffffffffffffffffffffffffffffffffff1614612519576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161251090614a8e565b60405180910390fd5b5f60135f6101000a81548160ff0219169083151502179055506001905090565b60165481565b61254761290d565b73ffffffffffffffffffffffffffffffffffffffff16612565611a53565b73ffffffffffffffffffffffffffffffffffffffff16146125bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b290614a8e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262090615180565b60405180910390fd5b61263281613978565b50565b601a5481565b600a5481565b5f61264a61290d565b73ffffffffffffffffffffffffffffffffffffffff16612668611a53565b73ffffffffffffffffffffffffffffffffffffffff16146126be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126b590614a8e565b60405180910390fd5b600f546010546126ce9190614c93565b421161270f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612706906151e8565b60405180910390fd5b6103e8821115612754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161274b90615276565b60405180910390fd5b426010819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016127b59190614829565b602060405180830381865afa1580156127d0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127f491906152a8565b90505f61281e6127106128108685613ad990919063ffffffff16565b613aee90919063ffffffff16565b90505f811115612856576128557f000000000000000000000000000000000000000000000000000000000000000061dead83613b03565b5b5f7f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156128bf575f80fd5b505af11580156128d1573d5f803e3d5ffd5b505050507f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb60405160405180910390a160019350505050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297990615343565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e7906153d1565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612aca9190614786565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b3c9061545f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612bb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612baa906154ed565b60405180910390fd5b5f8103612bca57612bc583835f613b03565b61381c565b60115f9054906101000a900460ff161561327157612be6611a53565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612c545750612c24611a53565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612c8c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612cc6575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612cdf5750600560149054906101000a900460ff16155b1561327057601160019054906101000a900460ff16612dd357601f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612d935750601f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc990615555565b60405180910390fd5b5b60135f9054906101000a900460ff1615612f9657612def611a53565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612e7657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612ece57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612f95574360125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612f52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4990615609565b60405180910390fd5b4360125f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60215f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015613033575060205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156130da5760085481111561307d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161307490615697565b60405180910390fd5b600a54613089836114f3565b826130949190614c93565b11156130d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130cc906156ff565b60405180910390fd5b61326f565b60215f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015613177575060205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156131c6576008548111156131c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b89061578d565b60405180910390fd5b61326e565b60205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661326d57600a54613220836114f3565b8261322b9190614c93565b111561326c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613263906156ff565b60405180910390fd5b5b5b5b5b5b5f61327b306114f3565b90505f600954821015905080801561329f5750601160029054906101000a900460ff165b80156132b85750600560149054906101000a900460ff16155b801561330b575060215f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561335e5750601f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156133b15750601f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156133f4576001600560146101000a81548160ff0219169083151502179055506133d9613d78565b5f600560146101000a81548160ff0219169083151502179055505b600560149054906101000a900460ff16158015613457575060215f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561346e5750600c5f9054906101000a900460ff165b80156134895750600d54600e546134859190614c93565b4210155b80156134dc5750601f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156134eb576134e9614047565b505b5f600560149054906101000a900460ff16159050601f5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061359a5750601f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156135a3575f90505b5f811561380c5760215f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561360157505f601854115b156136cb5761362e606461362060185488613ad990919063ffffffff16565b613aee90919063ffffffff16565b9050601854601a54826136419190614ad9565b61364b9190614b47565b601d5f82825461365b9190614c93565b92505081905550601854601b54826136739190614ad9565b61367d9190614b47565b601e5f82825461368d9190614c93565b92505081905550601854601954826136a59190614ad9565b6136af9190614b47565b601c5f8282546136bf9190614c93565b925050819055506137e9565b60215f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561372257505f601454115b156137e85761374f606461374160145488613ad990919063ffffffff16565b613aee90919063ffffffff16565b9050601454601654826137629190614ad9565b61376c9190614b47565b601d5f82825461377c9190614c93565b92505081905550601454601754826137949190614ad9565b61379e9190614b47565b601e5f8282546137ae9190614c93565b92505081905550601454601554826137c69190614ad9565b6137d09190614b47565b601c5f8282546137e09190614c93565b925050819055505b5b5f8111156137fd576137fc873083613b03565b5b808561380991906157ab565b94505b613817878787613b03565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361388f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161388690615828565b60405180910390fd5b61389a5f8383614201565b8060025f8282546138ab9190614c93565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546138fd9190614c93565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516139619190614786565b60405180910390a36139745f8383614206565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060215f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f8183613ae69190614ad9565b905092915050565b5f8183613afb9190614b47565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613b71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b689061545f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bd6906154ed565b60405180910390fd5b613bea838383614201565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015613c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613c64906158b6565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254613cfb9190614c93565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613d5f9190614786565b60405180910390a3613d72848484614206565b50505050565b5f613d82306114f3565b90505f601e54601c54601d54613d989190614c93565b613da29190614c93565b90505f80831480613db257505f82145b15613dbf57505050614045565b6014600954613dce9190614ad9565b831115613de7576014600954613de49190614ad9565b92505b5f600283601d5486613df99190614ad9565b613e039190614b47565b613e0d9190614b47565b90505f613e23828661420b90919063ffffffff16565b90505f479050613e3282614220565b5f613e46824761420b90919063ffffffff16565b90505f613e7087613e62601c5485613ad990919063ffffffff16565b613aee90919063ffffffff16565b90505f613e9a88613e8c601e5486613ad990919063ffffffff16565b613aee90919063ffffffff16565b90505f818385613eaa91906157ab565b613eb491906157ab565b90505f601d819055505f601c819055505f601e8190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613f1090615901565b5f6040518083038185875af1925050503d805f8114613f4a576040519150601f19603f3d011682016040523d82523d5f602084013e613f4f565b606091505b5050809850505f87118015613f6357505f81115b15613fb057613f728782614453565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601d54604051613fa793929190615915565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613ff590615901565b5f6040518083038185875af1925050503d805f811461402f576040519150601f19603f3d011682016040523d82523d5f602084013e614034565b606091505b505080985050505050505050505050505b565b5f42600e819055505f3073ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016140a99190614829565b602060405180830381865afa1580156140c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140e891906152a8565b90505f614114612710614106600b5485613ad990919063ffffffff16565b613aee90919063ffffffff16565b90505f81111561414c5761414b7f000000000000000000000000000000000000000000000000000000000000000061dead83613b03565b5b5f7f000000000000000000000000000000000000000000000000000000000000000090508073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156141b5575f80fd5b505af11580156141c7573d5f803e3d5ffd5b505050507f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d60405160405180910390a16001935050505090565b505050565b505050565b5f818361421891906157ab565b905092915050565b5f600267ffffffffffffffff81111561423c5761423b61594a565b5b60405190808252806020026020018201604052801561426a5781602001602082028036833780820191505090505b50905030815f8151811061428157614280615977565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015614324573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061434891906159b8565b8160018151811061435c5761435b615977565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506143c1307f000000000000000000000000000000000000000000000000000000000000000084612914565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401614422959493929190615ad3565b5f604051808303815f87803b158015614439575f80fd5b505af115801561444b573d5f803e3d5ffd5b505050505050565b61447e307f000000000000000000000000000000000000000000000000000000000000000084612914565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8061dead426040518863ffffffff1660e01b81526004016144e496959493929190615b2b565b60606040518083038185885af1158015614500573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906145259190615b8a565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015614563578082015181840152602081019050614548565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6145888261452c565b6145928185614536565b93506145a2818560208601614546565b6145ab8161456e565b840191505092915050565b5f6020820190508181035f8301526145ce818461457e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f614603826145da565b9050919050565b614613816145f9565b811461461d575f80fd5b50565b5f8135905061462e8161460a565b92915050565b5f819050919050565b61464681614634565b8114614650575f80fd5b50565b5f813590506146618161463d565b92915050565b5f806040838503121561467d5761467c6145d6565b5b5f61468a85828601614620565b925050602061469b85828601614653565b9150509250929050565b5f8115159050919050565b6146b9816146a5565b82525050565b5f6020820190506146d25f8301846146b0565b92915050565b5f602082840312156146ed576146ec6145d6565b5b5f6146fa84828501614620565b91505092915050565b5f819050919050565b5f61472661472161471c846145da565b614703565b6145da565b9050919050565b5f6147378261470c565b9050919050565b5f6147488261472d565b9050919050565b6147588161473e565b82525050565b5f6020820190506147715f83018461474f565b92915050565b61478081614634565b82525050565b5f6020820190506147995f830184614777565b92915050565b5f602082840312156147b4576147b36145d6565b5b5f6147c184828501614653565b91505092915050565b5f805f606084860312156147e1576147e06145d6565b5b5f6147ee86828701614620565b93505060206147ff86828701614620565b925050604061481086828701614653565b9150509250925092565b614823816145f9565b82525050565b5f60208201905061483c5f83018461481a565b92915050565b5f60ff82169050919050565b61485781614842565b82525050565b5f6020820190506148705f83018461484e565b92915050565b61487f816146a5565b8114614889575f80fd5b50565b5f8135905061489a81614876565b92915050565b5f805f606084860312156148b7576148b66145d6565b5b5f6148c486828701614653565b93505060206148d586828701614653565b92505060406148e68682870161488c565b9150509250925092565b5f8060408385031215614906576149056145d6565b5b5f61491385828601614620565b92505060206149248582860161488c565b9150509250929050565b5f805f60608486031215614945576149446145d6565b5b5f61495286828701614653565b935050602061496386828701614653565b925050604061497486828701614653565b9150509250925092565b5f60208284031215614993576149926145d6565b5b5f6149a08482850161488c565b91505092915050565b5f80604083850312156149bf576149be6145d6565b5b5f6149cc85828601614620565b92505060206149dd85828601614620565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680614a2b57607f821691505b602082108103614a3e57614a3d6149e7565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614a78602083614536565b9150614a8382614a44565b602082019050919050565b5f6020820190508181035f830152614aa581614a6c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614ae382614634565b9150614aee83614634565b9250828202614afc81614634565b91508282048414831517614b1357614b12614aac565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614b5182614634565b9150614b5c83614634565b925082614b6c57614b6b614b1a565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b5f614bd1602f83614536565b9150614bdc82614b77565b604082019050919050565b5f6020820190508181035f830152614bfe81614bc5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f614c5f602883614536565b9150614c6a82614c05565b604082019050919050565b5f6020820190508181035f830152614c8c81614c53565b9050919050565b5f614c9d82614634565b9150614ca883614634565b9250828201905080821115614cc057614cbf614aac565b5b92915050565b7f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e2074685f8201527f616e206576657279203130206d696e7574657300000000000000000000000000602082015250565b5f614d20603383614536565b9150614d2b82614cc6565b604082019050919050565b5f6020820190508181035f830152614d4d81614d14565b9050919050565b7f4d75737420736574206175746f204c50206275726e2070657263656e742062655f8201527f747765656e20302520616e642031302500000000000000000000000000000000602082015250565b5f614dae603083614536565b9150614db982614d54565b604082019050919050565b5f6020820190508181035f830152614ddb81614da2565b9050919050565b7f4d757374206b656570206665657320617420313125206f72206c6573730000005f82015250565b5f614e16601d83614536565b9150614e2182614de2565b602082019050919050565b5f6020820190508181035f830152614e4381614e0a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f614ea4603983614536565b9150614eaf82614e4a565b604082019050919050565b5f6020820190508181035f830152614ed181614e98565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f614f32602583614536565b9150614f3d82614ed8565b604082019050919050565b5f6020820190508181035f830152614f5f81614f26565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b5f614fc0602483614536565b9150614fcb82614f66565b604082019050919050565b5f6020820190508181035f830152614fed81614fb4565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f61504e603583614536565b915061505982614ff4565b604082019050919050565b5f6020820190508181035f83015261507b81615042565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6150dc603483614536565b91506150e782615082565b604082019050919050565b5f6020820190508181035f830152615109816150d0565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f61516a602683614536565b915061517582615110565b604082019050919050565b5f6020820190508181035f8301526151978161515e565b9050919050565b7f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973685f82015250565b5f6151d2602083614536565b91506151dd8261519e565b602082019050919050565b5f6020820190508181035f8301526151ff816151c6565b9050919050565b7f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f5f8201527f6b656e7320696e204c5000000000000000000000000000000000000000000000602082015250565b5f615260602a83614536565b915061526b82615206565b604082019050919050565b5f6020820190508181035f83015261528d81615254565b9050919050565b5f815190506152a28161463d565b92915050565b5f602082840312156152bd576152bc6145d6565b5b5f6152ca84828501615294565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61532d602483614536565b9150615338826152d3565b604082019050919050565b5f6020820190508181035f83015261535a81615321565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6153bb602283614536565b91506153c682615361565b604082019050919050565b5f6020820190508181035f8301526153e8816153af565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f615449602583614536565b9150615454826153ef565b604082019050919050565b5f6020820190508181035f8301526154768161543d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6154d7602383614536565b91506154e28261547d565b604082019050919050565b5f6020820190508181035f830152615504816154cb565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f61553f601683614536565b915061554a8261550b565b602082019050919050565b5f6020820190508181035f83015261556c81615533565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f6155f3604983614536565b91506155fe82615573565b606082019050919050565b5f6020820190508181035f830152615620816155e7565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f615681603583614536565b915061568c82615627565b604082019050919050565b5f6020820190508181035f8301526156ae81615675565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6156e9601383614536565b91506156f4826156b5565b602082019050919050565b5f6020820190508181035f830152615716816156dd565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f615777603683614536565b91506157828261571d565b604082019050919050565b5f6020820190508181035f8301526157a48161576b565b9050919050565b5f6157b582614634565b91506157c083614634565b92508282039050818111156157d8576157d7614aac565b5b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f615812601f83614536565b915061581d826157de565b602082019050919050565b5f6020820190508181035f83015261583f81615806565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6158a0602683614536565b91506158ab82615846565b604082019050919050565b5f6020820190508181035f8301526158cd81615894565b9050919050565b5f81905092915050565b50565b5f6158ec5f836158d4565b91506158f7826158de565b5f82019050919050565b5f61590b826158e1565b9150819050919050565b5f6060820190506159285f830186614777565b6159356020830185614777565b6159426040830184614777565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506159b28161460a565b92915050565b5f602082840312156159cd576159cc6145d6565b5b5f6159da848285016159a4565b91505092915050565b5f819050919050565b5f615a06615a016159fc846159e3565b614703565b614634565b9050919050565b615a16816159ec565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b615a4e816145f9565b82525050565b5f615a5f8383615a45565b60208301905092915050565b5f602082019050919050565b5f615a8182615a1c565b615a8b8185615a26565b9350615a9683615a36565b805f5b83811015615ac6578151615aad8882615a54565b9750615ab883615a6b565b925050600181019050615a99565b5085935050505092915050565b5f60a082019050615ae65f830188614777565b615af36020830187615a0d565b8181036040830152615b058186615a77565b9050615b14606083018561481a565b615b216080830184614777565b9695505050505050565b5f60c082019050615b3e5f83018961481a565b615b4b6020830188614777565b615b586040830187615a0d565b615b656060830186615a0d565b615b72608083018561481a565b615b7f60a0830184614777565b979650505050505050565b5f805f60608486031215615ba157615ba06145d6565b5b5f615bae86828701615294565b9350506020615bbf86828701615294565b9250506040615bd086828701615294565b915050925092509256fea2646970667358221220c372ce3feb9f0052547b7176292da22703606a38cf51744051a1e173e9c3662b64736f6c63430008140033