60806040525f60065f6101000a81548160ff021916908315150217905550600a600755601460085560026009556002600a556014600b556014600c556014600d555f600e556009600a62000054919062000608565b6298968062000064919062000658565b600f556009600a62000077919062000608565b6298968062000087919062000658565b6010556009600a6200009a919062000608565b5f620000a7919062000658565b6011556009600a620000ba919062000608565b621e8480620000ca919062000658565b6012555f601460156101000a81548160ff0219169083151502179055505f601460166101000a81548160ff0219169083151502179055503480156200010d575f80fd5b505f6200011f6200044860201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001cb6200044860201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a6200021b919062000608565b6305f5e1006200022c919062000658565b60015f6200023f6200044860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f620002916200044f60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003bc6200044860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200041a919062000608565b6305f5e1006200042b919062000658565b6040516200043a9190620006b3565b60405180910390a3620006ce565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200050057808604811115620004d857620004d762000476565b5b6001851615620004e85780820291505b8081029050620004f885620004a3565b9450620004b8565b94509492505050565b5f826200051a5760019050620005ec565b8162000529575f9050620005ec565b81600181146200054257600281146200054d5762000583565b6001915050620005ec565b60ff84111562000562576200056162000476565b5b8360020a9150848211156200057c576200057b62000476565b5b50620005ec565b5060208310610133831016604e8410600b8410161715620005bd5782820a905083811115620005b757620005b662000476565b5b620005ec565b620005cc8484846001620004af565b92509050818404811115620005e657620005e562000476565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6200061482620005f3565b91506200062183620005fc565b9250620006507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000509565b905092915050565b5f6200066482620005f3565b91506200067183620005f3565b92508282026200068181620005f3565b915082820484148315176200069b576200069a62000476565b5b5092915050565b620006ad81620005f3565b82525050565b5f602082019050620006c85f830184620006a2565b92915050565b61357380620006dc5f395ff3fe608060405260043610610138575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103ed578063bf474bed14610429578063c876d0b914610453578063c9567bf91461047d578063dd62ed3e14610493578063e7f39eaa146104cf5761013f565b8063751039fc1461032f5780637d1db4a5146103455780638da5cb5b1461036f5780638f9a55c01461039957806395d89b41146103c35761013f565b8063313ce567116100fc578063313ce567146102395780633bbac5791461026357806351bc3c851461029f578063667f6526146102b557806370a08231146102dd578063715018a6146103195761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f7565b6040516101649190612433565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e91906124f1565b610517565b6040516101a09190612549565b60405180910390f35b3480156101b4575f80fd5b506101bd610534565b6040516101ca9190612571565b60405180910390f35b3480156101de575f80fd5b506101e761053a565b6040516101f49190612571565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e919061258a565b61055d565b6040516102309190612549565b60405180910390f35b348015610244575f80fd5b5061024d610631565b60405161025a91906125f5565b60405180910390f35b34801561026e575f80fd5b506102896004803603810190610284919061260e565b610639565b6040516102969190612549565b60405180910390f35b3480156102aa575f80fd5b506102b361068b565b005b3480156102c0575f80fd5b506102db60048036038101906102d69190612639565b610723565b005b3480156102e8575f80fd5b5061030360048036038101906102fe919061260e565b6107d7565b6040516103109190612571565b60405180910390f35b348015610324575f80fd5b5061032d61081d565b005b34801561033a575f80fd5b5061034361096b565b005b348015610350575f80fd5b50610359610ab3565b6040516103669190612571565b60405180910390f35b34801561037a575f80fd5b50610383610ab9565b6040516103909190612686565b60405180910390f35b3480156103a4575f80fd5b506103ad610ae0565b6040516103ba9190612571565b60405180910390f35b3480156103ce575f80fd5b506103d7610ae6565b6040516103e49190612433565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e91906124f1565b610b23565b6040516104209190612549565b60405180910390f35b348015610434575f80fd5b5061043d610b40565b60405161044a9190612571565b60405180910390f35b34801561045e575f80fd5b50610467610b46565b6040516104749190612549565b60405180910390f35b348015610488575f80fd5b50610491610b58565b005b34801561049e575f80fd5b506104b960048036038101906104b4919061269f565b611077565b6040516104c69190612571565b60405180910390f35b3480156104da575f80fd5b506104f560048036038101906104f09190612847565b6110f9565b005b60606040518060c00160405280608c81526020016134b2608c9139905090565b5f61052a61052361121e565b8484611225565b6001905092915050565b60125481565b5f6009600a61054991906129fd565b6305f5e1006105589190612a47565b905090565b5f6105698484846113e8565b6106268461057561121e565b6106218560405180606001604052806028815260200161348a6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105d861121e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e679092919063ffffffff16565b611225565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166106cc61121e565b73ffffffffffffffffffffffffffffffffffffffff16146106eb575f80fd5b5f6106f5306107d7565b90505f8111156107095761070881611ec9565b5b5f4790505f81111561071f5761071e81612150565b5b5050565b61072b61121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ae90612ad2565b60405180910390fd5b8160098190555080600a8190555081600781905550806008819055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61082561121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a890612ad2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61097361121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f690612ad2565b60405180910390fd5b6009600a610a0d91906129fd565b6305f5e100610a1c9190612a47565b600f819055506009600a610a3091906129fd565b6305f5e100610a3f9190612a47565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610a8d91906129fd565b6305f5e100610a9c9190612a47565b604051610aa99190612571565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600481526020017f504f524e00000000000000000000000000000000000000000000000000000000815250905090565b5f610b36610b2f61121e565b84846113e8565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b610b6061121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be390612ad2565b60405180910390fd5b60148054906101000a900460ff1615610c3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3190612b3a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cd63060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610cc291906129fd565b6305f5e100610cd19190612a47565b611225565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d649190612b6c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e0e9190612b6c565b6040518363ffffffff1660e01b8152600401610e2b929190612b97565b6020604051808303815f875af1158015610e47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6b9190612b6c565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ef2306107d7565b5f80610efc610ab9565b426040518863ffffffff1660e01b8152600401610f1e96959493929190612c00565b60606040518083038185885af1158015610f3a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f5f9190612c73565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fff929190612cc3565b6020604051808303815f875af115801561101b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061103f9190612cfe565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61110161121e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461118d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118490612ad2565b60405180910390fd5b5f5b8251811015611219578160045f8584815181106111af576111ae612d29565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061121190612d56565b91505061118f565b505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611293576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128a90612e0d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f890612e9b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113db9190612571565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90612f29565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bb90612fb7565b60405180910390fd5b5f8111611506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fd90613045565b60405180910390fd5b5f61150f610ab9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561157d575061154d610ab9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611bb75760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611620575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611628575f80fd5b60065f9054906101000a900460ff16156117ae5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116e6575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117ad574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541061176a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611761906130d3565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611857575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118aa575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561198357600f548211156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118eb9061313b565b60405180910390fd5b60105482611901856107d7565b61190b9190613159565b111561194c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611943906131d6565b60405180910390fd5b600d54600e54101561196b57611961836121b9565b1561196a575f80fd5b5b600e5f81548092919061197d90612d56565b91905055505b6119bf60646119b1600b54600e541161199e576007546119a2565b6009545b856121ca90919063ffffffff16565b61224190919063ffffffff16565b905060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611a4957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611ad257600f54821115611a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8a9061313b565b60405180910390fd5b611acf6064611ac1600c54600e5411611aae57600854611ab2565b600a545b856121ca90919063ffffffff16565b61224190919063ffffffff16565b90505b5f611adc306107d7565b9050601460159054906101000a900460ff16158015611b47575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611b5f5750601460169054906101000a900460ff165b8015611b6c575060115481115b8015611b7b5750600d54600e54115b15611bb557611b9d611b9884611b938460125461228a565b61228a565b611ec9565b5f4790505f811115611bb357611bb247612150565b5b505b505b5f811115611cb657611c0f8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122a290919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611cad9190612571565b60405180910390a35b611d068260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122ff90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611da9611d5d82846122ff90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122a290919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611e4c84866122ff90919063ffffffff16565b604051611e599190612571565b60405180910390a350505050565b5f838311158290611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea59190612433565b60405180910390fd5b505f8385611ebc91906131f4565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f8103156121335760148054906101000a900460ff1615612133575f600267ffffffffffffffff811115611f1b57611f1a6126e1565b5b604051908082528060200260200182016040528015611f495781602001602082028036833780820191505090505b50905030815f81518110611f6057611f5f612d29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612004573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120289190612b6c565b8160018151811061203c5761203b612d29565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120a23060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611225565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121049594939291906132de565b5f604051808303815f87803b15801561211b575f80fd5b505af115801561212d573d5f803e3d5ffd5b50505050505b5f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156121b5573d5f803e3d5ffd5b5050565b5f80823b90505f8111915050919050565b5f8083036121da575f905061223b565b5f82846121e79190612a47565b90508284826121f69190613363565b14612236576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222d90613403565b60405180910390fd5b809150505b92915050565b5f61228283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612348565b905092915050565b5f818311612298578261229a565b815b905092915050565b5f8082846122b09190613159565b9050838110156122f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ec9061346b565b60405180910390fd5b8091505092915050565b5f61234083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e67565b905092915050565b5f808311829061238e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123859190612433565b60405180910390fd5b505f838561239c9190613363565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156123e05780820151818401526020810190506123c5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612405826123a9565b61240f81856123b3565b935061241f8185602086016123c3565b612428816123eb565b840191505092915050565b5f6020820190508181035f83015261244b81846123fb565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61248d82612464565b9050919050565b61249d81612483565b81146124a7575f80fd5b50565b5f813590506124b881612494565b92915050565b5f819050919050565b6124d0816124be565b81146124da575f80fd5b50565b5f813590506124eb816124c7565b92915050565b5f80604083850312156125075761250661245c565b5b5f612514858286016124aa565b9250506020612525858286016124dd565b9150509250929050565b5f8115159050919050565b6125438161252f565b82525050565b5f60208201905061255c5f83018461253a565b92915050565b61256b816124be565b82525050565b5f6020820190506125845f830184612562565b92915050565b5f805f606084860312156125a1576125a061245c565b5b5f6125ae868287016124aa565b93505060206125bf868287016124aa565b92505060406125d0868287016124dd565b9150509250925092565b5f60ff82169050919050565b6125ef816125da565b82525050565b5f6020820190506126085f8301846125e6565b92915050565b5f602082840312156126235761262261245c565b5b5f612630848285016124aa565b91505092915050565b5f806040838503121561264f5761264e61245c565b5b5f61265c858286016124dd565b925050602061266d858286016124dd565b9150509250929050565b61268081612483565b82525050565b5f6020820190506126995f830184612677565b92915050565b5f80604083850312156126b5576126b461245c565b5b5f6126c2858286016124aa565b92505060206126d3858286016124aa565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612717826123eb565b810181811067ffffffffffffffff82111715612736576127356126e1565b5b80604052505050565b5f612748612453565b9050612754828261270e565b919050565b5f67ffffffffffffffff821115612773576127726126e1565b5b602082029050602081019050919050565b5f80fd5b5f61279a61279584612759565b61273f565b905080838252602082019050602084028301858111156127bd576127bc612784565b5b835b818110156127e657806127d288826124aa565b8452602084019350506020810190506127bf565b5050509392505050565b5f82601f830112612804576128036126dd565b5b8135612814848260208601612788565b91505092915050565b6128268161252f565b8114612830575f80fd5b50565b5f813590506128418161281d565b92915050565b5f806040838503121561285d5761285c61245c565b5b5f83013567ffffffffffffffff81111561287a57612879612460565b5b612886858286016127f0565b925050602061289785828601612833565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612923578086048111156128ff576128fe6128a1565b5b600185161561290e5780820291505b808102905061291c856128ce565b94506128e3565b94509492505050565b5f8261293b57600190506129f6565b81612948575f90506129f6565b816001811461295e576002811461296857612997565b60019150506129f6565b60ff84111561297a576129796128a1565b5b8360020a915084821115612991576129906128a1565b5b506129f6565b5060208310610133831016604e8410600b84101617156129cc5782820a9050838111156129c7576129c66128a1565b5b6129f6565b6129d984848460016128da565b925090508184048111156129f0576129ef6128a1565b5b81810290505b9392505050565b5f612a07826124be565b9150612a12836125da565b9250612a3f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461292c565b905092915050565b5f612a51826124be565b9150612a5c836124be565b9250828202612a6a816124be565b91508282048414831517612a8157612a806128a1565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612abc6020836123b3565b9150612ac782612a88565b602082019050919050565b5f6020820190508181035f830152612ae981612ab0565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612b246017836123b3565b9150612b2f82612af0565b602082019050919050565b5f6020820190508181035f830152612b5181612b18565b9050919050565b5f81519050612b6681612494565b92915050565b5f60208284031215612b8157612b8061245c565b5b5f612b8e84828501612b58565b91505092915050565b5f604082019050612baa5f830185612677565b612bb76020830184612677565b9392505050565b5f819050919050565b5f819050919050565b5f612bea612be5612be084612bbe565b612bc7565b6124be565b9050919050565b612bfa81612bd0565b82525050565b5f60c082019050612c135f830189612677565b612c206020830188612562565b612c2d6040830187612bf1565b612c3a6060830186612bf1565b612c476080830185612677565b612c5460a0830184612562565b979650505050505050565b5f81519050612c6d816124c7565b92915050565b5f805f60608486031215612c8a57612c8961245c565b5b5f612c9786828701612c5f565b9350506020612ca886828701612c5f565b9250506040612cb986828701612c5f565b9150509250925092565b5f604082019050612cd65f830185612677565b612ce36020830184612562565b9392505050565b5f81519050612cf88161281d565b92915050565b5f60208284031215612d1357612d1261245c565b5b5f612d2084828501612cea565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f612d60826124be565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d9257612d916128a1565b5b600182019050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612df76024836123b3565b9150612e0282612d9d565b604082019050919050565b5f6020820190508181035f830152612e2481612deb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e856022836123b3565b9150612e9082612e2b565b604082019050919050565b5f6020820190508181035f830152612eb281612e79565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f136025836123b3565b9150612f1e82612eb9565b604082019050919050565b5f6020820190508181035f830152612f4081612f07565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fa16023836123b3565b9150612fac82612f47565b604082019050919050565b5f6020820190508181035f830152612fce81612f95565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61302f6029836123b3565b915061303a82612fd5565b604082019050919050565b5f6020820190508181035f83015261305c81613023565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6130bd6024836123b3565b91506130c882613063565b604082019050919050565b5f6020820190508181035f8301526130ea816130b1565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131256019836123b3565b9150613130826130f1565b602082019050919050565b5f6020820190508181035f83015261315281613119565b9050919050565b5f613163826124be565b915061316e836124be565b9250828201905080821115613186576131856128a1565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131c0601a836123b3565b91506131cb8261318c565b602082019050919050565b5f6020820190508181035f8301526131ed816131b4565b9050919050565b5f6131fe826124be565b9150613209836124be565b9250828203905081811115613221576132206128a1565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61325981612483565b82525050565b5f61326a8383613250565b60208301905092915050565b5f602082019050919050565b5f61328c82613227565b6132968185613231565b93506132a183613241565b805f5b838110156132d15781516132b8888261325f565b97506132c383613276565b9250506001810190506132a4565b5085935050505092915050565b5f60a0820190506132f15f830188612562565b6132fe6020830187612bf1565b81810360408301526133108186613282565b905061331f6060830185612677565b61332c6080830184612562565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61336d826124be565b9150613378836124be565b92508261338857613387613336565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133ed6021836123b3565b91506133f882613393565b604082019050919050565b5f6020820190508181035f83015261341a816133e1565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613455601b836123b3565b915061346082613421565b602082019050919050565b5f6020820190508181035f83015261348281613449565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654a41564d696c6647616e6762616e6748617264636f72654f726779446565707468726f6174416d6174657572416e616c42696754697473417369616e426c6f6e64655465656e5374726970437265616d7069654269674469636b43756d73686f744f6e6c7946616e73446f75626c6550656e6574726174696f6e42424342756b6b616b6548656e7461693639a264697066735822122061355d82bcb6a4f3c7710b53af9c11a7bc3f842f2af5b8a9d211d23f9ce9449f64736f6c63430008140033