60a06040523073ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1681525034801562000043575f80fd5b50620000546200005a60201b60201c565b620001c4565b5f6200006b6200015e60201b60201c565b9050805f0160089054906101000a900460ff1615620000b6576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff8016815f015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff16146200015b5767ffffffffffffffff815f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d267ffffffffffffffff604051620001529190620001a9565b60405180910390a15b50565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b5f67ffffffffffffffff82169050919050565b620001a38162000185565b82525050565b5f602082019050620001be5f83018462000198565b92915050565b608051613257620001eb5f395f81816111a3015281816111f801526113b201526132575ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb14610433578063ad3cb1cc1461046f578063c4d66de814610499578063d505accf146104c1578063dd62ed3e146104e9578063f2fde38b146105255761013f565b8063715018a61461033557806379cc67901461034b5780637ecebe001461037357806384b0196e146103af5780638da5cb5b146103df57806395d89b41146104095761013f565b80633644e515116101075780633644e5151461023957806340c10f191461026357806342966c681461028b5780634f1ef286146102b357806352d1902d146102cf57806370a08231146102f95761013f565b806306fdde0314610143578063095ea7b31461016d57806318160ddd146101a957806323b872dd146101d3578063313ce5671461020f575b5f80fd5b34801561014e575f80fd5b5061015761054d565b6040516101649190612564565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612622565b6105eb565b6040516101a0919061267a565b60405180910390f35b3480156101b4575f80fd5b506101bd61060d565b6040516101ca91906126a2565b60405180910390f35b3480156101de575f80fd5b506101f960048036038101906101f491906126bb565b610624565b604051610206919061267a565b60405180910390f35b34801561021a575f80fd5b50610223610652565b6040516102309190612726565b60405180910390f35b348015610244575f80fd5b5061024d61065a565b60405161025a9190612757565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190612622565b610668565b005b348015610296575f80fd5b506102b160048036038101906102ac9190612770565b61067e565b005b6102cd60048036038101906102c891906128c7565b610692565b005b3480156102da575f80fd5b506102e36106b1565b6040516102f09190612757565b60405180910390f35b348015610304575f80fd5b5061031f600480360381019061031a9190612921565b6106e2565b60405161032c91906126a2565b60405180910390f35b348015610340575f80fd5b50610349610735565b005b348015610356575f80fd5b50610371600480360381019061036c9190612622565b610748565b005b34801561037e575f80fd5b5061039960048036038101906103949190612921565b610768565b6040516103a691906126a2565b60405180910390f35b3480156103ba575f80fd5b506103c3610779565b6040516103d69796959493929190612a4c565b60405180910390f35b3480156103ea575f80fd5b506103f3610882565b6040516104009190612ace565b60405180910390f35b348015610414575f80fd5b5061041d6108b7565b60405161042a9190612564565b60405180910390f35b34801561043e575f80fd5b5061045960048036038101906104549190612622565b610955565b604051610466919061267a565b60405180910390f35b34801561047a575f80fd5b50610483610977565b6040516104909190612564565b60405180910390f35b3480156104a4575f80fd5b506104bf60048036038101906104ba9190612921565b6109b0565b005b3480156104cc575f80fd5b506104e760048036038101906104e29190612b3b565b610bf3565b005b3480156104f4575f80fd5b5061050f600480360381019061050a9190612bd8565b610d38565b60405161051c91906126a2565b60405180910390f35b348015610530575f80fd5b5061054b60048036038101906105469190612921565b610dc8565b005b60605f610558610e4c565b905080600301805461056990612c43565b80601f016020809104026020016040519081016040528092919081815260200182805461059590612c43565b80156105e05780601f106105b7576101008083540402835291602001916105e0565b820191905f5260205f20905b8154815290600101906020018083116105c357829003601f168201915b505050505091505090565b5f806105f5610e73565b9050610602818585610e7a565b600191505092915050565b5f80610617610e4c565b9050806002015491505090565b5f8061062e610e73565b905061063b858285610e8c565b610646858585610f1e565b60019150509392505050565b5f6012905090565b5f61066361100e565b905090565b61067061101c565b61067a82826110a3565b5050565b61068f610689610e73565b82611122565b50565b61069a6111a1565b6106a382611287565b6106ad8282611292565b5050565b5f6106ba6113b0565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b905090565b5f806106ec610e4c565b9050805f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054915050919050565b61073d61101c565b6107465f611437565b565b61075a82610754610e73565b83610e8c565b6107648282611122565b5050565b5f61077282611508565b9050919050565b5f6060805f805f60605f61078b61155b565b90505f801b815f01541480156107a657505f801b8160010154145b6107e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107dc90612cbd565b60405180910390fd5b6107ed611582565b6107f5611620565b46305f801b5f67ffffffffffffffff811115610814576108136127a3565b5b6040519080825280602002602001820160405280156108425781602001602082028036833780820191505090505b507f0f0000000000000000000000000000000000000000000000000000000000000095949392919097509750975097509750975097505090919293949596565b5f8061088c6116be565b9050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691505090565b60605f6108c2610e4c565b90508060040180546108d390612c43565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff90612c43565b801561094a5780601f106109215761010080835404028352916020019161094a565b820191905f5260205f20905b81548152906001019060200180831161092d57829003601f168201915b505050505091505090565b5f8061095f610e73565b905061096c818585610f1e565b600191505092915050565b6040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b5f6109b96116e5565b90505f815f0160089054906101000a900460ff161590505f825f015f9054906101000a900467ffffffffffffffff1690505f808267ffffffffffffffff16148015610a015750825b90505f60018367ffffffffffffffff16148015610a3457505f3073ffffffffffffffffffffffffffffffffffffffff163b145b905081158015610a42575080155b15610a79576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001855f015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508315610ac6576001855f0160086101000a81548160ff0219169083151502179055505b610b3a6040518060400160405280600a81526020017f4772616465546f6b656e000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f47544b000000000000000000000000000000000000000000000000000000000081525061170c565b610b42611722565b610b4b8661172c565b610b896040518060400160405280600a81526020017f4772616465546f6b656e00000000000000000000000000000000000000000000815250611740565b610b9161178a565b8315610beb575f855f0160086101000a81548160ff0219169083151502179055507fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d26001604051610be29190612d30565b60405180910390a15b505050505050565b83421115610c3857836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610c2f91906126a2565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610c668c611794565b89604051602001610c7c96959493929190612d49565b6040516020818303038152906040528051906020012090505f610c9e826117f4565b90505f610cad8287878761180d565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d2157808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610d18929190612da8565b60405180910390fd5b610d2c8a8a8a610e7a565b50505050505050505050565b5f80610d42610e4c565b9050806001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205491505092915050565b610dd061101c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e40575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610e379190612ace565b60405180910390fd5b610e4981611437565b50565b5f7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00905090565b5f33905090565b610e87838383600161183b565b505050565b5f610e978484610d38565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610f185781811015610f09578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610f0093929190612dcf565b60405180910390fd5b610f1784848484035f61183b565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f8e575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610f859190612ace565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ffe575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ff59190612ace565b60405180910390fd5b611009838383611a18565b505050565b5f611017611c47565b905090565b611024610e73565b73ffffffffffffffffffffffffffffffffffffffff16611042610882565b73ffffffffffffffffffffffffffffffffffffffff16146110a157611065610e73565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016110989190612ace565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611113575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161110a9190612ace565b60405180910390fd5b61111e5f8383611a18565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611192575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016111899190612ace565b60405180910390fd5b61119d825f83611a18565b5050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148061124e57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16611235611caa565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611285576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b61128f61101c565b50565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156112fa57506040513d601f19601f820116820180604052508101906112f79190612e18565b60015b61133b57816040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016113329190612ace565b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b81146113a157806040517faa1d49a40000000000000000000000000000000000000000000000000000000081526004016113989190612757565b60405180910390fd5b6113ab8383611cfd565b505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614611435576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6114406116be565b90505f815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905082825f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505050565b5f80611512611d6f565b9050805f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054915050919050565b5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100905090565b60605f61158d61155b565b905080600201805461159e90612c43565b80601f01602080910402602001604051908101604052809291908181526020018280546115ca90612c43565b80156116155780601f106115ec57610100808354040283529160200191611615565b820191905f5260205f20905b8154815290600101906020018083116115f857829003601f168201915b505050505091505090565b60605f61162b61155b565b905080600301805461163c90612c43565b80601f016020809104026020016040519081016040528092919081815260200182805461166890612c43565b80156116b35780601f1061168a576101008083540402835291602001916116b3565b820191905f5260205f20905b81548152906001019060200180831161169657829003601f168201915b505050505091505090565b5f7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300905090565b5f7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00905090565b611714611d96565b61171e8282611dd6565b5050565b61172a611d96565b565b611734611d96565b61173d81611e12565b50565b611748611d96565b611787816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250611e96565b50565b611792611d96565b565b5f8061179e611d6f565b9050805f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f81548092919060010191905055915050919050565b5f61180661180061100e565b83611ee7565b9050919050565b5f805f8061181d88888888611f27565b92509250925061182d828261200e565b829350505050949350505050565b5f611844610e4c565b90505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036118b6575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016118ad9190612ace565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611926575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161191d9190612ace565b60405180910390fd5b82816001015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508115611a11578373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051611a0891906126a2565b60405180910390a35b5050505050565b5f611a21610e4c565b90505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611a755781816002015f828254611a699190612e70565b92505081905550611b47565b5f815f015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611b00578481846040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611af793929190612dcf565b60405180910390fd5b828103825f015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b905781816002015f8282540392505081905550611bdc565b81815f015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c3991906126a2565b60405180910390a350505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611c71612170565b611c796121e6565b4630604051602001611c8f959493929190612ea3565b60405160208183030381529060405280519060200120905090565b5f611cd67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b61225d565b5f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611d0682612266565b8173ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a25f81511115611d6257611d5c828261232f565b50611d6b565b611d6a6123af565b5b5050565b5f7f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00905090565b611d9e6123eb565b611dd4576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611dde611d96565b5f611de7610e4c565b905082816003019081611dfa9190613088565b5081816004019081611e0c9190613088565b50505050565b611e1a611d96565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e8a575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611e819190612ace565b60405180910390fd5b611e9381611437565b50565b611e9e611d96565b5f611ea761155b565b905082816002019081611eba9190613088565b5081816003019081611ecc9190613088565b505f801b815f01819055505f801b8160010181905550505050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611f63575f600385925092509250612004565b5f6001888888886040515f8152602001604052604051611f869493929190613157565b6020604051602081039080840390855afa158015611fa6573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611ff7575f60015f801b93509350935050612004565b805f805f1b935093509350505b9450945094915050565b5f60038111156120215761202061319a565b5b8260038111156120345761203361319a565b5b031561216c576001600381111561204e5761204d61319a565b5b8260038111156120615761206061319a565b5b03612098576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600260038111156120ac576120ab61319a565b5b8260038111156120bf576120be61319a565b5b0361210357805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016120fa91906126a2565b60405180910390fd5b6003808111156121165761211561319a565b5b8260038111156121295761212861319a565b5b0361216b57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016121629190612757565b60405180910390fd5b5b5050565b5f8061217a61155b565b90505f612185611582565b90505f815111156121a1578080519060200120925050506121e3565b5f825f015490505f801b81146121bc578093505050506121e3565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47093505050505b90565b5f806121f061155b565b90505f6121fb611620565b90505f815111156122175780805190602001209250505061225a565b5f826001015490505f801b81146122335780935050505061225a565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47093505050505b90565b5f819050919050565b5f8173ffffffffffffffffffffffffffffffffffffffff163b036122c157806040517f4c9c8ce30000000000000000000000000000000000000000000000000000000081526004016122b89190612ace565b60405180910390fd5b806122ed7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5f1b61225d565b5f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60605f808473ffffffffffffffffffffffffffffffffffffffff1684604051612358919061320b565b5f60405180830381855af49150503d805f8114612390576040519150601f19603f3d011682016040523d82523d5f602084013e612395565b606091505b50915091506123a5858383612409565b9250505092915050565b5f3411156123e9576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6123f46116e5565b5f0160089054906101000a900460ff16905090565b60608261241e5761241982612496565b61248e565b5f825114801561244457505f8473ffffffffffffffffffffffffffffffffffffffff163b145b1561248657836040517f9996b31500000000000000000000000000000000000000000000000000000000815260040161247d9190612ace565b60405180910390fd5b81905061248f565b5b9392505050565b5f815111156124a85780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125115780820151818401526020810190506124f6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612536826124da565b61254081856124e4565b93506125508185602086016124f4565b6125598161251c565b840191505092915050565b5f6020820190508181035f83015261257c818461252c565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125be82612595565b9050919050565b6125ce816125b4565b81146125d8575f80fd5b50565b5f813590506125e9816125c5565b92915050565b5f819050919050565b612601816125ef565b811461260b575f80fd5b50565b5f8135905061261c816125f8565b92915050565b5f80604083850312156126385761263761258d565b5b5f612645858286016125db565b92505060206126568582860161260e565b9150509250929050565b5f8115159050919050565b61267481612660565b82525050565b5f60208201905061268d5f83018461266b565b92915050565b61269c816125ef565b82525050565b5f6020820190506126b55f830184612693565b92915050565b5f805f606084860312156126d2576126d161258d565b5b5f6126df868287016125db565b93505060206126f0868287016125db565b92505060406127018682870161260e565b9150509250925092565b5f60ff82169050919050565b6127208161270b565b82525050565b5f6020820190506127395f830184612717565b92915050565b5f819050919050565b6127518161273f565b82525050565b5f60208201905061276a5f830184612748565b92915050565b5f602082840312156127855761278461258d565b5b5f6127928482850161260e565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6127d98261251c565b810181811067ffffffffffffffff821117156127f8576127f76127a3565b5b80604052505050565b5f61280a612584565b905061281682826127d0565b919050565b5f67ffffffffffffffff821115612835576128346127a3565b5b61283e8261251c565b9050602081019050919050565b828183375f83830152505050565b5f61286b6128668461281b565b612801565b9050828152602081018484840111156128875761288661279f565b5b61289284828561284b565b509392505050565b5f82601f8301126128ae576128ad61279b565b5b81356128be848260208601612859565b91505092915050565b5f80604083850312156128dd576128dc61258d565b5b5f6128ea858286016125db565b925050602083013567ffffffffffffffff81111561290b5761290a612591565b5b6129178582860161289a565b9150509250929050565b5f602082840312156129365761293561258d565b5b5f612943848285016125db565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6129808161294c565b82525050565b61298f816125b4565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6129c7816125ef565b82525050565b5f6129d883836129be565b60208301905092915050565b5f602082019050919050565b5f6129fa82612995565b612a04818561299f565b9350612a0f836129af565b805f5b83811015612a3f578151612a2688826129cd565b9750612a31836129e4565b925050600181019050612a12565b5085935050505092915050565b5f60e082019050612a5f5f83018a612977565b8181036020830152612a71818961252c565b90508181036040830152612a85818861252c565b9050612a946060830187612693565b612aa16080830186612986565b612aae60a0830185612748565b81810360c0830152612ac081846129f0565b905098975050505050505050565b5f602082019050612ae15f830184612986565b92915050565b612af08161270b565b8114612afa575f80fd5b50565b5f81359050612b0b81612ae7565b92915050565b612b1a8161273f565b8114612b24575f80fd5b50565b5f81359050612b3581612b11565b92915050565b5f805f805f805f60e0888a031215612b5657612b5561258d565b5b5f612b638a828b016125db565b9750506020612b748a828b016125db565b9650506040612b858a828b0161260e565b9550506060612b968a828b0161260e565b9450506080612ba78a828b01612afd565b93505060a0612bb88a828b01612b27565b92505060c0612bc98a828b01612b27565b91505092959891949750929550565b5f8060408385031215612bee57612bed61258d565b5b5f612bfb858286016125db565b9250506020612c0c858286016125db565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612c5a57607f821691505b602082108103612c6d57612c6c612c16565b5b50919050565b7f4549503731323a20556e696e697469616c697a656400000000000000000000005f82015250565b5f612ca76015836124e4565b9150612cb282612c73565b602082019050919050565b5f6020820190508181035f830152612cd481612c9b565b9050919050565b5f819050919050565b5f67ffffffffffffffff82169050919050565b5f819050919050565b5f612d1a612d15612d1084612cdb565b612cf7565b612ce4565b9050919050565b612d2a81612d00565b82525050565b5f602082019050612d435f830184612d21565b92915050565b5f60c082019050612d5c5f830189612748565b612d696020830188612986565b612d766040830187612986565b612d836060830186612693565b612d906080830185612693565b612d9d60a0830184612693565b979650505050505050565b5f604082019050612dbb5f830185612986565b612dc86020830184612986565b9392505050565b5f606082019050612de25f830186612986565b612def6020830185612693565b612dfc6040830184612693565b949350505050565b5f81519050612e1281612b11565b92915050565b5f60208284031215612e2d57612e2c61258d565b5b5f612e3a84828501612e04565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612e7a826125ef565b9150612e85836125ef565b9250828201905080821115612e9d57612e9c612e43565b5b92915050565b5f60a082019050612eb65f830188612748565b612ec36020830187612748565b612ed06040830186612748565b612edd6060830185612693565b612eea6080830184612986565b9695505050505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612f507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612f15565b612f5a8683612f15565b95508019841693508086168417925050509392505050565b5f612f8c612f87612f82846125ef565b612cf7565b6125ef565b9050919050565b5f819050919050565b612fa583612f72565b612fb9612fb182612f93565b848454612f21565b825550505050565b5f90565b612fcd612fc1565b612fd8818484612f9c565b505050565b5b81811015612ffb57612ff05f82612fc5565b600181019050612fde565b5050565b601f8211156130405761301181612ef4565b61301a84612f06565b81016020851015613029578190505b61303d61303585612f06565b830182612fdd565b50505b505050565b5f82821c905092915050565b5f6130605f1984600802613045565b1980831691505092915050565b5f6130788383613051565b9150826002028217905092915050565b613091826124da565b67ffffffffffffffff8111156130aa576130a96127a3565b5b6130b48254612c43565b6130bf828285612fff565b5f60209050601f8311600181146130f0575f84156130de578287015190505b6130e8858261306d565b86555061314f565b601f1984166130fe86612ef4565b5f5b8281101561312557848901518255600182019150602085019450602081019050613100565b86831015613142578489015161313e601f891682613051565b8355505b6001600288020188555050505b505050505050565b5f60808201905061316a5f830187612748565b6131776020830186612717565b6131846040830185612748565b6131916060830184612748565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f81519050919050565b5f81905092915050565b5f6131e5826131c7565b6131ef81856131d1565b93506131ff8185602086016124f4565b80840191505092915050565b5f61321682846131db565b91508190509291505056fea26469706673582212207a93cf57c9f7b59366da1b13eb18fb08eee37b4af82613b780b3ca517a8598d364736f6c63430008160033