60806040526000600d60006101000a81548160ff02191690831515021790555060405180602001604052806000815250600f9080519060200190620000469291906200046b565b5060006010556000601160006101000a81548160ff0219169083151502179055506000601160016101000a81548160ff021916908315150217905550600060125561055f6014556000601760006101000a81548160ff0219169083151502179055506040518060400160405280600d81526020017f596f62692053616d75726169730000000000000000000000000000000000000081525060199080519060200190620000f59291906200046b565b506040518060400160405280600481526020017f596f626900000000000000000000000000000000000000000000000000000000815250601a9080519060200190620001439291906200046b565b503480156200015157600080fd5b506040516200656538038062006565833981810160405281019062000177919062000758565b60198054620001869062000818565b80601f0160208091040260200160405190810160405280929190818152602001828054620001b49062000818565b8015620002055780601f10620001d95761010080835404028352916020019162000205565b820191906000526020600020905b815481529060010190602001808311620001e757829003601f168201915b5050505050601a8054620002199062000818565b80601f0160208091040260200160405190810160405280929190818152602001828054620002479062000818565b8015620002985780601f106200026c5761010080835404028352916020019162000298565b820191906000526020600020905b8154815290600101906020018083116200027a57829003601f168201915b50505050508160009080519060200190620002b59291906200046b565b508060019080519060200190620002ce9291906200046b565b505050620002f1620002e56200039d60201b60201c565b620003a560201b60201c565b81601760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600f90805190602001906200034a9291906200046b565b5082601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600e81905550505050506200084d565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620004799062000818565b90600052602060002090601f0160209004810192826200049d5760008555620004e9565b82601f10620004b857805160ff1916838001178555620004e9565b82800160010185558215620004e9579182015b82811115620004e8578251825591602001919060010190620004cb565b5b509050620004f89190620004fc565b5090565b5b8082111562000517576000816000905550600101620004fd565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620005848262000539565b810181811067ffffffffffffffff82111715620005a657620005a56200054a565b5b80604052505050565b6000620005bb6200051b565b9050620005c9828262000579565b919050565b600067ffffffffffffffff821115620005ec57620005eb6200054a565b5b620005f78262000539565b9050602081019050919050565b60005b838110156200062457808201518184015260208101905062000607565b8381111562000634576000848401525b50505050565b6000620006516200064b84620005ce565b620005af565b90508281526020810184848401111562000670576200066f62000534565b5b6200067d84828562000604565b509392505050565b600082601f8301126200069d576200069c6200052f565b5b8151620006af8482602086016200063a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006e582620006b8565b9050919050565b620006f781620006d8565b81146200070357600080fd5b50565b6000815190506200071781620006ec565b92915050565b6000819050919050565b62000732816200071d565b81146200073e57600080fd5b50565b600081519050620007528162000727565b92915050565b6000806000806080858703121562000775576200077462000525565b5b600085015167ffffffffffffffff8111156200079657620007956200052a565b5b620007a48782880162000685565b9450506020620007b78782880162000706565b9350506040620007ca8782880162000706565b9250506060620007dd8782880162000741565b91505092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200083157607f821691505b602082108103620008475762000846620007e9565b5b50919050565b615d08806200085d6000396000f3fe60806040526004361061028c5760003560e01c8063676dd5631161015a578063a0bcfc7f116100c1578063d0bfb8101161007a578063d0bfb810146109b3578063e985e9c5146109cf578063e9d60f9214610a0c578063ea5f3e7114610a37578063efd0cbf914610a60578063f2fde38b14610a7c57610293565b8063a0bcfc7f146108b9578063a22cb465146108e2578063b88d4fde1461090b578063bdac4fc014610934578063c87b56dd1461095f578063c94364e31461099c57610293565b80637a2c08e3116101135780637a2c08e3146107bb5780637cb64759146107e45780638b42035a1461080d5780638da5cb5b1461083857806393791b031461086357806395d89b411461088e57610293565b8063676dd563146106cf5780636ba90c6e146106fa5780636dc7a627146107255780636ff962931461075057806370a0823114610767578063715018a6146107a457610293565b80632f745c59116101fe5780634f02c420116101b75780634f02c420146105bf5780634f6ccce7146105ea5780635471f49f146106275780635895a59c14610652578063631bbbba146106695780636352211e1461069257610293565b80632f745c59146104b157806331f1839f146104ee57806331fc86ac1461052b5780633ccfd60b146105545780633f879faf1461056b57806342842e0e1461059657610293565b80630fc70a66116102505780630fc70a661461038c57806318160ddd146103b75780631b4f7f35146103e257806323b872dd1461041f5780632a55205a146104485780632eb4a7ab1461048657610293565b806301ffc9a71461029557806306d254da146102d257806306fdde03146102fb578063081812fc14610326578063095ea7b31461036357610293565b3661029357005b005b3480156102a157600080fd5b506102bc60048036038101906102b79190613eb1565b610aa5565b6040516102c99190613ef9565b60405180910390f35b3480156102de57600080fd5b506102f960048036038101906102f49190613f72565b610ab7565b005b34801561030757600080fd5b50610310610b77565b60405161031d9190614038565b60405180910390f35b34801561033257600080fd5b5061034d60048036038101906103489190614090565b610c09565b60405161035a91906140cc565b60405180910390f35b34801561036f57600080fd5b5061038a600480360381019061038591906140e7565b610c8e565b005b34801561039857600080fd5b506103a1610da5565b6040516103ae9190614136565b60405180910390f35b3480156103c357600080fd5b506103cc610db1565b6040516103d99190614136565b60405180910390f35b3480156103ee57600080fd5b50610409600480360381019061040491906141b6565b610dbe565b6040516104169190613ef9565b60405180910390f35b34801561042b57600080fd5b5061044660048036038101906104419190614216565b610e42565b005b34801561045457600080fd5b5061046f600480360381019061046a9190614269565b610ea2565b60405161047d9291906142a9565b60405180910390f35b34801561049257600080fd5b5061049b610f73565b6040516104a891906142eb565b60405180910390f35b3480156104bd57600080fd5b506104d860048036038101906104d391906140e7565b610f79565b6040516104e59190614136565b60405180910390f35b3480156104fa57600080fd5b5061051560048036038101906105109190614090565b61101e565b60405161052291906140cc565b60405180910390f35b34801561053757600080fd5b50610552600480360381019061054d9190614332565b61105d565b005b34801561056057600080fd5b506105696110f6565b005b34801561057757600080fd5b50610580611205565b60405161058d9190614136565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b89190614216565b61120b565b005b3480156105cb57600080fd5b506105d461122b565b6040516105e19190614136565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190614090565b611231565b60405161061e9190614136565b60405180910390f35b34801561063357600080fd5b5061063c6112a2565b6040516106499190614136565b60405180910390f35b34801561065e57600080fd5b506106676112a7565b005b34801561067557600080fd5b50610690600480360381019061068b919061435f565b611340565b005b34801561069e57600080fd5b506106b960048036038101906106b49190614090565b61151b565b6040516106c691906140cc565b60405180910390f35b3480156106db57600080fd5b506106e46115cc565b6040516106f19190614136565b60405180910390f35b34801561070657600080fd5b5061070f6115d8565b60405161071c9190614136565b60405180910390f35b34801561073157600080fd5b5061073a6115de565b6040516107479190613ef9565b60405180910390f35b34801561075c57600080fd5b506107656115f1565b005b34801561077357600080fd5b5061078e60048036038101906107899190613f72565b611699565b60405161079b9190614136565b60405180910390f35b3480156107b057600080fd5b506107b9611750565b005b3480156107c757600080fd5b506107e260048036038101906107dd9190613f72565b6117d8565b005b3480156107f057600080fd5b5061080b600480360381019061080691906143cb565b611898565b005b34801561081957600080fd5b5061082261191e565b60405161082f9190613ef9565b60405180910390f35b34801561084457600080fd5b5061084d611931565b60405161085a91906140cc565b60405180910390f35b34801561086f57600080fd5b5061087861195b565b6040516108859190614136565b60405180910390f35b34801561089a57600080fd5b506108a3611961565b6040516108b09190614038565b60405180910390f35b3480156108c557600080fd5b506108e060048036038101906108db9190614528565b6119f3565b005b3480156108ee57600080fd5b5061090960048036038101906109049190614571565b611a89565b005b34801561091757600080fd5b50610932600480360381019061092d9190614652565b611a9f565b005b34801561094057600080fd5b50610949611b01565b6040516109569190613ef9565b60405180910390f35b34801561096b57600080fd5b5061098660048036038101906109819190614090565b611b14565b6040516109939190614038565b60405180910390f35b3480156109a857600080fd5b506109b1611bd4565b005b6109cd60048036038101906109c891906146d5565b611c7c565b005b3480156109db57600080fd5b506109f660048036038101906109f19190614735565b611fff565b604051610a039190613ef9565b60405180910390f35b348015610a1857600080fd5b50610a21612093565b604051610a2e9190613ef9565b60405180910390f35b348015610a4357600080fd5b50610a5e6004803603810190610a5991906147cb565b6120a6565b005b610a7a6004803603810190610a759190614090565b61222c565b005b348015610a8857600080fd5b50610aa36004803603810190610a9e9190613f72565b6124f4565b005b6000610ab0826125eb565b9050919050565b610abf612665565b73ffffffffffffffffffffffffffffffffffffffff16610add611931565b73ffffffffffffffffffffffffffffffffffffffff1614610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a90614864565b60405180910390fd5b80601760016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060008054610b86906148b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb2906148b3565b8015610bff5780601f10610bd457610100808354040283529160200191610bff565b820191906000526020600020905b815481529060010190602001808311610be257829003601f168201915b5050505050905090565b6000610c148261266d565b610c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4a90614956565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610c998261151b565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d00906149e8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610d28612665565b73ffffffffffffffffffffffffffffffffffffffff161480610d575750610d5681610d51612665565b611fff565b5b610d96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8d90614a7a565b60405180910390fd5b610da083836126d9565b505050565b670429d069189e000081565b6000600880549050905090565b60008084604051602001610dd29190614ae2565b604051602081830303815290604052805190602001209050610e38848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600e5483612792565b9150509392505050565b610e53610e4d612665565b826127a9565b610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8990614b6f565b60405180910390fd5b610e9d838383612887565b505050565b6000806000600b60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900462ffffff1662ffffff1662ffffff1681525050905080600001519250612710816020015162ffffff1685610f5f9190614bbe565b610f699190614c47565b9150509250929050565b600e5481565b6000610f8483611699565b8210610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc90614cea565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600c818154811061102e57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611065612665565b73ffffffffffffffffffffffffffffffffffffffff16611083611931565b73ffffffffffffffffffffffffffffffffffffffff16146110d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d090614864565b60405180910390fd5b80601760006101000a81548160ff02191690831515021790555050565b6110fe612665565b73ffffffffffffffffffffffffffffffffffffffff1661111c611931565b73ffffffffffffffffffffffffffffffffffffffff1614611172576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116990614864565b60405180910390fd5b600047116111b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ac90614d56565b60405180910390fd5b6111bd612665565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611202573d6000803e3d6000fd5b50565b61055f81565b61122683838360405180602001604052806000815250611a9f565b505050565b60105481565b600061123b610db1565b821061127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390614de8565b60405180910390fd5b600882815481106112905761128f614e08565b5b90600052602060002001549050919050565b600a81565b6112af612665565b73ffffffffffffffffffffffffffffffffffffffff166112cd611931565b73ffffffffffffffffffffffffffffffffffffffff1614611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a90614864565b60405180910390fd5b6001600d60006101000a81548160ff021916908315150217905550565b611348612665565b73ffffffffffffffffffffffffffffffffffffffff16611366611931565b73ffffffffffffffffffffffffffffffffffffffff16146113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b390614864565b60405180910390fd5b61055f601054836113cd9190614e37565b111561140e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140590614ed9565b60405180910390fd5b6101776010548361141f9190614e37565b1115611460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145790614f6b565b60405180910390fd5b600082116114a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161149a90614fd7565b60405180910390fd5b60005b82811015611516576001601060008282546114c19190614e37565b925050819055506114d482601054612aed565b6010547f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f760405160405180910390a2808061150e90614ff7565b9150506114a6565b505050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ba906150b1565b60405180910390fd5b80915050919050565b67058d15e17628000081565b61017781565b601160009054906101000a900460ff1681565b6115f9612665565b73ffffffffffffffffffffffffffffffffffffffff16611617611931565b73ffffffffffffffffffffffffffffffffffffffff161461166d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166490614864565b60405180910390fd5b601160019054906101000a900460ff1615601160016101000a81548160ff021916908315150217905550565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170090615143565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611758612665565b73ffffffffffffffffffffffffffffffffffffffff16611776611931565b73ffffffffffffffffffffffffffffffffffffffff16146117cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c390614864565b60405180910390fd5b6117d66000612bdb565b565b6117e0612665565b73ffffffffffffffffffffffffffffffffffffffff166117fe611931565b73ffffffffffffffffffffffffffffffffffffffff1614611854576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184b90614864565b60405180910390fd5b80601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6118a0612665565b73ffffffffffffffffffffffffffffffffffffffff166118be611931565b73ffffffffffffffffffffffffffffffffffffffff1614611914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190b90614864565b60405180910390fd5b80600e8190555050565b601160019054906101000a900460ff1681565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101f481565b606060018054611970906148b3565b80601f016020809104026020016040519081016040528092919081815260200182805461199c906148b3565b80156119e95780601f106119be576101008083540402835291602001916119e9565b820191906000526020600020905b8154815290600101906020018083116119cc57829003601f168201915b5050505050905090565b6119fb612665565b73ffffffffffffffffffffffffffffffffffffffff16611a19611931565b73ffffffffffffffffffffffffffffffffffffffff1614611a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6690614864565b60405180910390fd5b80600f9080519060200190611a85929190613d02565b5050565b611a9b611a94612665565b8383612ca1565b5050565b611ab0611aaa612665565b836127a9565b611aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae690614b6f565b60405180910390fd5b611afb84848484612e0d565b50505050565b600d60009054906101000a900460ff1681565b6060611b1f8261266d565b611b5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b55906151d5565b60405180910390fd5b6000611b68612e69565b90506000601560008581526020019081526020016000205490506000825111611ba05760405180602001604052806000815250611bcb565b81611baa82612efb565b604051602001611bbb92919061527d565b6040516020818303038152906040525b92505050919050565b611bdc612665565b73ffffffffffffffffffffffffffffffffffffffff16611bfa611931565b73ffffffffffffffffffffffffffffffffffffffff1614611c50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4790614864565b60405180910390fd5b601160009054906101000a900460ff1615601160006101000a81548160ff021916908315150217905550565b601160019054906101000a900460ff16611ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc2906152f8565b60405180910390fd5b61055f60105484611cdc9190614e37565b1115611d1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d1490614ed9565b60405180910390fd5b600033604051602001611d309190614ae2565b604051602081830303815290604052805190602001209050611d96838380806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600e5483612792565b611dd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcc90615364565b60405180910390fd5b60008411611e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0f90614fd7565b60405180910390fd5b600a841115611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e53906153d0565b60405180910390fd5b83670429d069189e0000611e709190614bbe565b341015611eb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea990615462565b60405180910390fd5b600084670429d069189e0000611ec89190614bbe565b90508060126000828254611edc9190614e37565b92505081905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f4b573d6000803e3d6000fd5b5060005b85811015611ff757600160106000828254611f6a9190614e37565b92505081905550611f84611f7c612665565b601054612aed565b611fb5601054601760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166101f461305b565b6010547f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f760405160405180910390a28080611fef90614ff7565b915050611f4f565b505050505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b601760009054906101000a900460ff1681565b6120ae612665565b73ffffffffffffffffffffffffffffffffffffffff166120cc611931565b73ffffffffffffffffffffffffffffffffffffffff1614612122576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211990614864565b60405180910390fd5b60001515600d60009054906101000a900460ff16151514612178576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216f906154f4565b60405180910390fd5b8181600c9190612189929190613d88565b5060005b82829050811015612227576001601060008282546121ab9190614e37565b925050819055506121e58383838181106121c8576121c7614e08565b5b90506020020160208101906121dd9190613f72565b601054612aed565b6010547f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f760405160405180910390a2808061221f90614ff7565b91505061218d565b505050565b601160009054906101000a900460ff1661227b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227290615560565b60405180910390fd5b61055f6010548261228c9190614e37565b11156122cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c490614ed9565b60405180910390fd5b60008111612310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230790614fd7565b60405180910390fd5b600a811115612354576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234b906153d0565b60405180910390fd5b8067058d15e1762800006123689190614bbe565b3410156123aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a1906155f2565b60405180910390fd5b60008167058d15e1762800006123c09190614bbe565b905080601260008282546123d49190614e37565b92505081905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612443573d6000803e3d6000fd5b5060005b828110156124ef576001601060008282546124629190614e37565b9250508190555061247c612474612665565b601054612aed565b6124ad601054601760019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166101f461305b565b6010547f7bb2b3c10797baccb6f8c4791f1edd6ca2f0d028ee0eda64b01a9a57e3a653f760405160405180910390a280806124e790614ff7565b915050612447565b505050565b6124fc612665565b73ffffffffffffffffffffffffffffffffffffffff1661251a611931565b73ffffffffffffffffffffffffffffffffffffffff1614612570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256790614864565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036125df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d690615684565b60405180910390fd5b6125e881612bdb565b50565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061265e575061265d82613157565b5b9050919050565b600033905090565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661274c8361151b565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008261279f85846131d1565b1490509392505050565b60006127b48261266d565b6127f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ea90615716565b60405180910390fd5b60006127fe8361151b565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612840575061283f8185611fff565b5b8061287e57508373ffffffffffffffffffffffffffffffffffffffff1661286684610c09565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166128a78261151b565b73ffffffffffffffffffffffffffffffffffffffff16146128fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f4906157a8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361296c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129639061583a565b60405180910390fd5b612977838383613246565b6129826000826126d9565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129d2919061585a565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612a299190614e37565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612ae8838383613358565b505050565b601760009054906101000a900460ff1615612b77576000612b0c61335d565b90506000612b19826133c2565b90506000601660008381526020019081526020016000205414612b3f57612b3e61588e565b5b600160166000838152602001908152602001600020819055508060156000858152602001908152602001600020819055505050612bcd565b6000601660008381526020019081526020016000205414612b9b57612b9a61588e565b5b600160166000838152602001908152602001600020819055508060156000838152602001908152602001600020819055505b612bd78282613498565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612d0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0690615909565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612e009190613ef9565b60405180910390a3505050565b612e18848484612887565b612e24848484846134b6565b612e63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e5a9061599b565b60405180910390fd5b50505050565b6060600f8054612e78906148b3565b80601f0160208091040260200160405190810160405280929190818152602001828054612ea4906148b3565b8015612ef15780601f10612ec657610100808354040283529160200191612ef1565b820191906000526020600020905b815481529060010190602001808311612ed457829003601f168201915b5050505050905090565b606060008203612f42576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613056565b600082905060005b60008214612f74578080612f5d90614ff7565b915050600a82612f6d9190614c47565b9150612f4a565b60008167ffffffffffffffff811115612f9057612f8f6143fd565b5b6040519080825280601f01601f191660200182016040528015612fc25781602001600182028036833780820191505090505b5090505b6000851461304f57600182612fdb919061585a565b9150600a85612fea91906159bb565b6030612ff69190614e37565b60f81b81838151811061300c5761300b614e08565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856130489190614c47565b9450612fc6565b8093505050505b919050565b6127108111156130a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161309790615a38565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff1681526020018262ffffff16815250600b600085815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548162ffffff021916908362ffffff160217905550905050505050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806131ca57506131c98261363d565b5b9050919050565b60008082905060005b845181101561323b5760008582815181106131f8576131f7614e08565b5b6020026020010151905080831161321a57613213838261371f565b9250613227565b613224818461371f565b92505b50808061323390614ff7565b9150506131da565b508091505092915050565b613251838383613736565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036132935761328e8161373b565b6132d2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146132d1576132d08382613784565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036133145761330f816138f1565b613353565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146133525761335182826139c2565b5b5b505050565b505050565b60008060105461055f613370919061585a565b0361337e57600090506133bf565b60145444423343406040516020016133999493929190615a9a565b6040516020818303038152906040528051906020012060001c6133bc91906159bb565b90505b90565b60008060136000848152602001908152602001600020549050600081036133e7578290505b60006013600060016014546133fc919061585a565b8152602001908152602001600020540361343b57600160145461341f919061585a565b6013600085815260200190815260200160002081905550613475565b60136000600160145461344e919061585a565b81526020019081526020016000205460136000858152602001908152602001600020819055505b600160146000828254613488919061585a565b9250508190555080915050919050565b6134b2828260405180602001604052806000815250613a41565b5050565b60006134d78473ffffffffffffffffffffffffffffffffffffffff16613a9c565b15613630578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613500612665565b8786866040518563ffffffff1660e01b81526004016135229493929190615b3d565b6020604051808303816000875af192505050801561355e57506040513d601f19601f8201168201806040525081019061355b9190615b9e565b60015b6135e0573d806000811461358e576040519150601f19603f3d011682016040523d82523d6000602084013e613593565b606091505b5060008151036135d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135cf9061599b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613635565b600190505b949350505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061370857507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613718575061371782613abf565b5b9050919050565b600082600052816020526040600020905092915050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161379184611699565b61379b919061585a565b9050600060076000848152602001908152602001600020549050818114613880576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600880549050613905919061585a565b905060006009600084815260200190815260200160002054905060006008838154811061393557613934614e08565b5b90600052602060002001549050806008838154811061395757613956614e08565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806139a6576139a5615bcb565b5b6001900381819060005260206000200160009055905550505050565b60006139cd83611699565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b613a4b8383613b29565b613a5860008484846134b6565b613a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a8e9061599b565b60405180910390fd5b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613b98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b8f90615c46565b60405180910390fd5b613ba18161266d565b15613be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bd890615cb2565b60405180910390fd5b613bed60008383613246565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613c3d9190614e37565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613cfe60008383613358565b5050565b828054613d0e906148b3565b90600052602060002090601f016020900481019282613d305760008555613d77565b82601f10613d4957805160ff1916838001178555613d77565b82800160010185558215613d77579182015b82811115613d76578251825591602001919060010190613d5b565b5b509050613d849190613e28565b5090565b828054828255906000526020600020908101928215613e17579160200282015b82811115613e1657823573ffffffffffffffffffffffffffffffffffffffff168260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190613da8565b5b509050613e249190613e28565b5090565b5b80821115613e41576000816000905550600101613e29565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613e8e81613e59565b8114613e9957600080fd5b50565b600081359050613eab81613e85565b92915050565b600060208284031215613ec757613ec6613e4f565b5b6000613ed584828501613e9c565b91505092915050565b60008115159050919050565b613ef381613ede565b82525050565b6000602082019050613f0e6000830184613eea565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613f3f82613f14565b9050919050565b613f4f81613f34565b8114613f5a57600080fd5b50565b600081359050613f6c81613f46565b92915050565b600060208284031215613f8857613f87613e4f565b5b6000613f9684828501613f5d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613fd9578082015181840152602081019050613fbe565b83811115613fe8576000848401525b50505050565b6000601f19601f8301169050919050565b600061400a82613f9f565b6140148185613faa565b9350614024818560208601613fbb565b61402d81613fee565b840191505092915050565b600060208201905081810360008301526140528184613fff565b905092915050565b6000819050919050565b61406d8161405a565b811461407857600080fd5b50565b60008135905061408a81614064565b92915050565b6000602082840312156140a6576140a5613e4f565b5b60006140b48482850161407b565b91505092915050565b6140c681613f34565b82525050565b60006020820190506140e160008301846140bd565b92915050565b600080604083850312156140fe576140fd613e4f565b5b600061410c85828601613f5d565b925050602061411d8582860161407b565b9150509250929050565b6141308161405a565b82525050565b600060208201905061414b6000830184614127565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261417657614175614151565b5b8235905067ffffffffffffffff81111561419357614192614156565b5b6020830191508360208202830111156141af576141ae61415b565b5b9250929050565b6000806000604084860312156141cf576141ce613e4f565b5b60006141dd86828701613f5d565b935050602084013567ffffffffffffffff8111156141fe576141fd613e54565b5b61420a86828701614160565b92509250509250925092565b60008060006060848603121561422f5761422e613e4f565b5b600061423d86828701613f5d565b935050602061424e86828701613f5d565b925050604061425f8682870161407b565b9150509250925092565b600080604083850312156142805761427f613e4f565b5b600061428e8582860161407b565b925050602061429f8582860161407b565b9150509250929050565b60006040820190506142be60008301856140bd565b6142cb6020830184614127565b9392505050565b6000819050919050565b6142e5816142d2565b82525050565b600060208201905061430060008301846142dc565b92915050565b61430f81613ede565b811461431a57600080fd5b50565b60008135905061432c81614306565b92915050565b60006020828403121561434857614347613e4f565b5b60006143568482850161431d565b91505092915050565b6000806040838503121561437657614375613e4f565b5b60006143848582860161407b565b925050602061439585828601613f5d565b9150509250929050565b6143a8816142d2565b81146143b357600080fd5b50565b6000813590506143c58161439f565b92915050565b6000602082840312156143e1576143e0613e4f565b5b60006143ef848285016143b6565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61443582613fee565b810181811067ffffffffffffffff82111715614454576144536143fd565b5b80604052505050565b6000614467613e45565b9050614473828261442c565b919050565b600067ffffffffffffffff821115614493576144926143fd565b5b61449c82613fee565b9050602081019050919050565b82818337600083830152505050565b60006144cb6144c684614478565b61445d565b9050828152602081018484840111156144e7576144e66143f8565b5b6144f28482856144a9565b509392505050565b600082601f83011261450f5761450e614151565b5b813561451f8482602086016144b8565b91505092915050565b60006020828403121561453e5761453d613e4f565b5b600082013567ffffffffffffffff81111561455c5761455b613e54565b5b614568848285016144fa565b91505092915050565b6000806040838503121561458857614587613e4f565b5b600061459685828601613f5d565b92505060206145a78582860161431d565b9150509250929050565b600067ffffffffffffffff8211156145cc576145cb6143fd565b5b6145d582613fee565b9050602081019050919050565b60006145f56145f0846145b1565b61445d565b905082815260208101848484011115614611576146106143f8565b5b61461c8482856144a9565b509392505050565b600082601f83011261463957614638614151565b5b81356146498482602086016145e2565b91505092915050565b6000806000806080858703121561466c5761466b613e4f565b5b600061467a87828801613f5d565b945050602061468b87828801613f5d565b935050604061469c8782880161407b565b925050606085013567ffffffffffffffff8111156146bd576146bc613e54565b5b6146c987828801614624565b91505092959194509250565b6000806000604084860312156146ee576146ed613e4f565b5b60006146fc8682870161407b565b935050602084013567ffffffffffffffff81111561471d5761471c613e54565b5b61472986828701614160565b92509250509250925092565b6000806040838503121561474c5761474b613e4f565b5b600061475a85828601613f5d565b925050602061476b85828601613f5d565b9150509250929050565b60008083601f84011261478b5761478a614151565b5b8235905067ffffffffffffffff8111156147a8576147a7614156565b5b6020830191508360208202830111156147c4576147c361415b565b5b9250929050565b600080602083850312156147e2576147e1613e4f565b5b600083013567ffffffffffffffff811115614800576147ff613e54565b5b61480c85828601614775565b92509250509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061484e602083613faa565b915061485982614818565b602082019050919050565b6000602082019050818103600083015261487d81614841565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806148cb57607f821691505b6020821081036148de576148dd614884565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000614940602c83613faa565b915061494b826148e4565b604082019050919050565b6000602082019050818103600083015261496f81614933565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006149d2602183613faa565b91506149dd82614976565b604082019050919050565b60006020820190508181036000830152614a01816149c5565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000614a64603883613faa565b9150614a6f82614a08565b604082019050919050565b60006020820190508181036000830152614a9381614a57565b9050919050565b60008160601b9050919050565b6000614ab282614a9a565b9050919050565b6000614ac482614aa7565b9050919050565b614adc614ad782613f34565b614ab9565b82525050565b6000614aee8284614acb565b60148201915081905092915050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000614b59603183613faa565b9150614b6482614afd565b604082019050919050565b60006020820190508181036000830152614b8881614b4c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614bc98261405a565b9150614bd48361405a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614c0d57614c0c614b8f565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614c528261405a565b9150614c5d8361405a565b925082614c6d57614c6c614c18565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614cd4602b83613faa565b9150614cdf82614c78565b604082019050919050565b60006020820190508181036000830152614d0381614cc7565b9050919050565b7f4e6f7468696e6720746f20776974686472617700000000000000000000000000600082015250565b6000614d40601383613faa565b9150614d4b82614d0a565b602082019050919050565b60006020820190508181036000830152614d6f81614d33565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614dd2602c83613faa565b9150614ddd82614d76565b604082019050919050565b60006020820190508181036000830152614e0181614dc5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000614e428261405a565b9150614e4d8361405a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614e8257614e81614b8f565b5b828201905092915050565b7f4e6f7420656e6f756768206c65667420746f206d696e742e0000000000000000600082015250565b6000614ec3601883613faa565b9150614ece82614e8d565b602082019050919050565b60006020820190508181036000830152614ef281614eb6565b9050919050565b7f524553455256454420616d6f756e74207265616368656421206f72207468652060008201527f616d6f756e7420657863656564656420746865204d41585f5245534552564544602082015250565b6000614f55604083613faa565b9150614f6082614ef9565b604082019050919050565b60006020820190508181036000830152614f8481614f48565b9050919050565b7f4e756d626572206e65656420746f20626520686967686572207468616e203000600082015250565b6000614fc1601f83613faa565b9150614fcc82614f8b565b602082019050919050565b60006020820190508181036000830152614ff081614fb4565b9050919050565b60006150028261405a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361503457615033614b8f565b5b600182019050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b600061509b602983613faa565b91506150a68261503f565b604082019050919050565b600060208201905081810360008301526150ca8161508e565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061512d602a83613faa565b9150615138826150d1565b604082019050919050565b6000602082019050818103600083015261515c81615120565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006151bf602f83613faa565b91506151ca82615163565b604082019050919050565b600060208201905081810360008301526151ee816151b2565b9050919050565b600081905092915050565b600061520b82613f9f565b61521581856151f5565b9350615225818560208601613fbb565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b60006152676005836151f5565b915061527282615231565b600582019050919050565b60006152898285615200565b91506152958284615200565b91506152a08261525a565b91508190509392505050565b7f4d696e7420666f7220574c206973206e6f74206f70656e207965742e00000000600082015250565b60006152e2601c83613faa565b91506152ed826152ac565b602082019050919050565b60006020820190508181036000830152615311816152d5565b9050919050565b7f496e76616c6964204d65726b6c652050726f6f662e0000000000000000000000600082015250565b600061534e601583613faa565b915061535982615318565b602082019050919050565b6000602082019050818103600083015261537d81615341565b9050919050565b7f4d61782070657220636c61696d20697320313000000000000000000000000000600082015250565b60006153ba601383613faa565b91506153c582615384565b602082019050919050565b600060208201905081810360008301526153e9816153ad565b9050919050565b7f45746865722076616c75652073656e742069732062656c6f772074686520576860008201527f6974654c69737420707269636500000000000000000000000000000000000000602082015250565b600061544c602d83613faa565b9150615457826153f0565b604082019050919050565b6000602082019050818103600083015261547b8161543f565b9050919050565b7f546f6b656e7320616c7265616479206d696e74656420616e642061697244726f60008201527f7065642e00000000000000000000000000000000000000000000000000000000602082015250565b60006154de602483613faa565b91506154e982615482565b604082019050919050565b6000602082019050818103600083015261550d816154d1565b9050919050565b7f5075626c6963206d696e74206973206e6f74206f70656e207965742e00000000600082015250565b600061554a601c83613faa565b915061555582615514565b602082019050919050565b600060208201905081810360008301526155798161553d565b9050919050565b7f45746865722076616c75652073656e742069732062656c6f772074686520707260008201527f6963650000000000000000000000000000000000000000000000000000000000602082015250565b60006155dc602383613faa565b91506155e782615580565b604082019050919050565b6000602082019050818103600083015261560b816155cf565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061566e602683613faa565b915061567982615612565b604082019050919050565b6000602082019050818103600083015261569d81615661565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000615700602c83613faa565b915061570b826156a4565b604082019050919050565b6000602082019050818103600083015261572f816156f3565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000615792602583613faa565b915061579d82615736565b604082019050919050565b600060208201905081810360008301526157c181615785565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615824602483613faa565b915061582f826157c8565b604082019050919050565b6000602082019050818103600083015261585381615817565b9050919050565b60006158658261405a565b91506158708361405a565b92508282101561588357615882614b8f565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006158f3601983613faa565b91506158fe826158bd565b602082019050919050565b60006020820190508181036000830152615922816158e6565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000615985603283613faa565b915061599082615929565b604082019050919050565b600060208201905081810360008301526159b481615978565b9050919050565b60006159c68261405a565b91506159d18361405a565b9250826159e1576159e0614c18565b5b828206905092915050565b7f45524332393831526f79616c746965733a20546f6f2068696768000000000000600082015250565b6000615a22601a83613faa565b9150615a2d826159ec565b602082019050919050565b60006020820190508181036000830152615a5181615a15565b9050919050565b6000819050919050565b615a73615a6e8261405a565b615a58565b82525050565b6000819050919050565b615a94615a8f826142d2565b615a79565b82525050565b6000615aa68287615a62565b602082019150615ab68286615a62565b602082019150615ac68285614acb565b601482019150615ad68284615a83565b60208201915081905095945050505050565b600081519050919050565b600082825260208201905092915050565b6000615b0f82615ae8565b615b198185615af3565b9350615b29818560208601613fbb565b615b3281613fee565b840191505092915050565b6000608082019050615b5260008301876140bd565b615b5f60208301866140bd565b615b6c6040830185614127565b8181036060830152615b7e8184615b04565b905095945050505050565b600081519050615b9881613e85565b92915050565b600060208284031215615bb457615bb3613e4f565b5b6000615bc284828501615b89565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615c30602083613faa565b9150615c3b82615bfa565b602082019050919050565b60006020820190508181036000830152615c5f81615c23565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615c9c601c83613faa565b9150615ca782615c66565b602082019050919050565b60006020820190508181036000830152615ccb81615c8f565b905091905056fea26469706673582212208b97b2c7fde8c70a4ba93d579cc86e8cb7fb73b3c15efddc4dc9440cb716ba7264736f6c634300080e00330000000000000000000000000000000000000000000000000000000000000080000000000000000000000000341b0cfe5c1478d6815c685960ee5ef12b2883970000000000000000000000009f3daf13268168724dd72485748594c63c0f1d98414cc20d91736506ac0f1c2a852bac5605ba839458823c1ad5a137b574ad918c000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d614e52527879623369744363696f7467535671426b6874505877624a577944516b644461396b6a6b66736a4d2f00000000000000000000000000000000000000000000000000000000