0x6080604052348015600e575f80fd5b506109118061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063b568d0161461002d575b5f80fd5b61004760048036038101906100429190610390565b610049565b005b5f8484905067ffffffffffffffff81111561006757610066610421565b5b60405190808252806020026020018201604052801561009a57816020015b60608152602001906001900390816100855790505b5090505f5b85859050811015610186578673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8787848181106100d9576100d861044e565b5b90506020020160208101906100ee91906104a5565b8686858181106101015761010061044e565b5b905060200201356040516024016101199291906104f7565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505082828151811061016e5761016d61044e565b5b6020026020010181905250808060010191505061009f565b505f8673ffffffffffffffffffffffffffffffffffffffff1663ac9650d8836040518263ffffffff1660e01b81526004016101c19190610649565b5f604051808303815f875af11580156101dc573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906102049190610834565b90505f5b8151811015610254578181815181106102245761022361044e565b5b602002602001015180602001905181019061023f91906108b0565b610247575f80fd5b8080600101915050610208565b5050505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102988261026f565b9050919050565b5f6102a98261028e565b9050919050565b6102b98161029f565b81146102c3575f80fd5b50565b5f813590506102d4816102b0565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126102fb576102fa6102da565b5b8235905067ffffffffffffffff811115610318576103176102de565b5b602083019150836020820283011115610334576103336102e2565b5b9250929050565b5f8083601f8401126103505761034f6102da565b5b8235905067ffffffffffffffff81111561036d5761036c6102de565b5b602083019150836020820283011115610389576103886102e2565b5b9250929050565b5f805f805f606086880312156103a9576103a8610267565b5b5f6103b6888289016102c6565b955050602086013567ffffffffffffffff8111156103d7576103d661026b565b5b6103e3888289016102e6565b9450945050604086013567ffffffffffffffff8111156104065761040561026b565b5b6104128882890161033b565b92509250509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6104848161028e565b811461048e575f80fd5b50565b5f8135905061049f8161047b565b92915050565b5f602082840312156104ba576104b9610267565b5b5f6104c784828501610491565b91505092915050565b6104d98161028e565b82525050565b5f819050919050565b6104f1816104df565b82525050565b5f60408201905061050a5f8301856104d0565b61051760208301846104e8565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61058982610547565b6105938185610551565b93506105a3818560208601610561565b6105ac8161056f565b840191505092915050565b5f6105c2838361057f565b905092915050565b5f602082019050919050565b5f6105e08261051e565b6105ea8185610528565b9350836020820285016105fc85610538565b805f5b85811015610637578484038952815161061885826105b7565b9450610623836105ca565b925060208a019950506001810190506105ff565b50829750879550505050505092915050565b5f6020820190508181035f83015261066181846105d6565b905092915050565b6106728261056f565b810181811067ffffffffffffffff8211171561069157610690610421565b5b80604052505050565b5f6106a361025e565b90506106af8282610669565b919050565b5f67ffffffffffffffff8211156106ce576106cd610421565b5b602082029050602081019050919050565b5f80fd5b5f67ffffffffffffffff8211156106fd576106fc610421565b5b6107068261056f565b9050602081019050919050565b5f610725610720846106e3565b61069a565b905082815260208101848484011115610741576107406106df565b5b61074c848285610561565b509392505050565b5f82601f830112610768576107676102da565b5b8151610778848260208601610713565b91505092915050565b5f61079361078e846106b4565b61069a565b905080838252602082019050602084028301858111156107b6576107b56102e2565b5b835b818110156107fd57805167ffffffffffffffff8111156107db576107da6102da565b5b8086016107e88982610754565b855260208501945050506020810190506107b8565b5050509392505050565b5f82601f83011261081b5761081a6102da565b5b815161082b848260208601610781565b91505092915050565b5f6020828403121561084957610848610267565b5b5f82015167ffffffffffffffff8111156108665761086561026b565b5b61087284828501610807565b91505092915050565b5f8115159050919050565b61088f8161087b565b8114610899575f80fd5b50565b5f815190506108aa81610886565b92915050565b5f602082840312156108c5576108c4610267565b5b5f6108d28482850161089c565b9150509291505056fea26469706673582212206a30468086eb3ef2f571fec39bda6ece484a7ed97619fa0a30ed5332a03c484664736f6c634300081a0033