60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c9081610048919061114d565b50662386f26fc10000600d55612710600e556014600f555f60105f6101000a81548160ff021916908315150217905550348015610083575f80fd5b50604051615c20380380615c2083398181016040528101906100a5919061133c565b8282815f90816100b5919061114d565b5080600190816100c5919061114d565b5050506100e46100d961010c60201b60201c565b61011360201b60201c565b6100f3816101d660201b60201c565b6101043360146101f760201b60201c565b5050506119b1565b5f33905090565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6101e461034360201b60201c565b80600b90816101f3919061114d565b5050565b5f6102066103cd60201b60201c565b905060105f9054906101000a900460ff1615610220575f80fd5b5f821161022b575f80fd5b600f54821115610239575f80fd5b600e548282610248919061140d565b1115610252575f80fd5b6102606103d960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610302576001151560115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515146103015781600d546102f59190611440565b341015610300575f80fd5b5b5b5f600190505b82811161033d5761032a84828461031f919061140d565b61040160201b60201c565b808061033590611481565b915050610308565b50505050565b61035161010c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166103756103d960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146103cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103c290611522565b60405180910390fd5b565b5f600880549050905090565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610420828260405180602001604052805f81525061042460201b60201c565b5050565b610434838361048a60201b60201c565b6104465f8484846106b560201b60201c565b610485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047c906115b0565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ef90611618565b60405180910390fd5b6105078161084360201b60201c565b15610547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161053e90611680565b60405180910390fd5b61055a5f8383600161088960201b60201c565b6105698161084360201b60201c565b156105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a090611680565b60405180910390fd5b600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46106b15f83836001610a0260201b60201c565b5050565b5f6106db8473ffffffffffffffffffffffffffffffffffffffff16610a0860201b60201c565b15610836578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261070a61010c60201b60201c565b8786866040518563ffffffff1660e01b815260040161072c949392919061173e565b6020604051808303815f875af192505050801561076757506040513d601f19601f8201168201806040525081019061076491906117dd565b60015b6107e6573d805f8114610795576040519150601f19603f3d011682016040523d82523d5f602084013e61079a565b606091505b505f8151036107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d5906115b0565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061083b565b600190505b949350505050565b5f8073ffffffffffffffffffffffffffffffffffffffff1661086a83610a2a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b61089b84848484610a6360201b60201c565b60018111156108df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d690611878565b60405180910390fd5b5f8290505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361092a5761092581610b8160201b60201c565b61096f565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461096e5761096d8582610bc560201b60201c565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036109b6576109b181610d2160201b60201c565b6109fb565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146109fa576109f98482610de160201b60201c565b5b5b5050505050565b50505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6001811115610b7b575f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610af3578060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610aeb9190611896565b925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610b7a578060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610b72919061140d565b925050819055505b5b50505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f6001610bd784610e5f60201b60201c565b610be19190611896565b90505f60075f8481526020019081526020015f20549050818114610cb8575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f6001600880549050610d349190611896565b90505f60095f8481526020019081526020015f205490505f60088381548110610d6057610d5f6118c9565b5b905f5260205f20015490508060088381548110610d8057610d7f6118c9565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f90556008805480610dc857610dc76118f6565b5b600190038181905f5260205f20015f9055905550505050565b5f610df183610e5f60201b60201c565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ece576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec590611993565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f8e57607f821691505b602082108103610fa157610fa0610f4a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026110037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610fc8565b61100d8683610fc8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61105161104c61104784611025565b61102e565b611025565b9050919050565b5f819050919050565b61106a83611037565b61107e61107682611058565b848454610fd4565b825550505050565b5f90565b611092611086565b61109d818484611061565b505050565b5b818110156110c0576110b55f8261108a565b6001810190506110a3565b5050565b601f821115611105576110d681610fa7565b6110df84610fb9565b810160208510156110ee578190505b6111026110fa85610fb9565b8301826110a2565b50505b505050565b5f82821c905092915050565b5f6111255f198460080261110a565b1980831691505092915050565b5f61113d8383611116565b9150826002028217905092915050565b61115682610f13565b67ffffffffffffffff81111561116f5761116e610f1d565b5b6111798254610f77565b6111848282856110c4565b5f60209050601f8311600181146111b5575f84156111a3578287015190505b6111ad8582611132565b865550611214565b601f1984166111c386610fa7565b5f5b828110156111ea578489015182556001820191506020850194506020810190506111c5565b868310156112075784890151611203601f891682611116565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b61124e82611235565b810181811067ffffffffffffffff8211171561126d5761126c610f1d565b5b80604052505050565b5f61127f61121c565b905061128b8282611245565b919050565b5f67ffffffffffffffff8211156112aa576112a9610f1d565b5b6112b382611235565b9050602081019050919050565b8281835e5f83830152505050565b5f6112e06112db84611290565b611276565b9050828152602081018484840111156112fc576112fb611231565b5b6113078482856112c0565b509392505050565b5f82601f8301126113235761132261122d565b5b81516113338482602086016112ce565b91505092915050565b5f805f6060848603121561135357611352611225565b5b5f84015167ffffffffffffffff8111156113705761136f611229565b5b61137c8682870161130f565b935050602084015167ffffffffffffffff81111561139d5761139c611229565b5b6113a98682870161130f565b925050604084015167ffffffffffffffff8111156113ca576113c9611229565b5b6113d68682870161130f565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61141782611025565b915061142283611025565b925082820190508082111561143a576114396113e0565b5b92915050565b5f61144a82611025565b915061145583611025565b925082820261146381611025565b9150828204841483151761147a576114796113e0565b5b5092915050565b5f61148b82611025565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114bd576114bc6113e0565b5b600182019050919050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61150c6020836114c8565b9150611517826114d8565b602082019050919050565b5f6020820190508181035f83015261153981611500565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e2045524337323152655f8201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b5f61159a6032836114c8565b91506115a582611540565b604082019050919050565b5f6020820190508181035f8301526115c78161158e565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f20616464726573735f82015250565b5f6116026020836114c8565b915061160d826115ce565b602082019050919050565b5f6020820190508181035f83015261162f816115f6565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e746564000000005f82015250565b5f61166a601c836114c8565b915061167582611636565b602082019050919050565b5f6020820190508181035f8301526116978161165e565b9050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6116c78261169e565b9050919050565b6116d7816116bd565b82525050565b6116e681611025565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f611710826116ec565b61171a81856116f6565b935061172a8185602086016112c0565b61173381611235565b840191505092915050565b5f6080820190506117515f8301876116ce565b61175e60208301866116ce565b61176b60408301856116dd565b818103606083015261177d8184611706565b905095945050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6117bc81611788565b81146117c6575f80fd5b50565b5f815190506117d7816117b3565b92915050565b5f602082840312156117f2576117f1611225565b5b5f6117ff848285016117c9565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e73656375746976652074725f8201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b5f6118626035836114c8565b915061186d82611808565b604082019050919050565b5f6020820190508181035f83015261188f81611856565b9050919050565b5f6118a082611025565b91506118ab83611025565b92508282039050818111156118c3576118c26113e0565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4552433732313a2061646472657373207a65726f206973206e6f7420612076615f8201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b5f61197d6029836114c8565b915061198882611923565b604082019050919050565b5f6020820190508181035f8301526119aa81611971565b9050919050565b614262806119be5f395ff3fe60806040526004361061020e575f3560e01c806355f804b311610117578063a22cb4651161009f578063d5abeb011161006e578063d5abeb0114610760578063d936547e1461078a578063da3ef23f146107c6578063e985e9c5146107ee578063f2fde38b1461082a5761020e565b8063a22cb465146106aa578063b88d4fde146106d2578063c6682862146106fa578063c87b56dd146107245761020e565b806370a08231116100e657806370a08231146105dc578063715018a6146106185780637f00c7a61461062e5780638da5cb5b1461065657806395d89b41146106805761020e565b806355f804b3146105245780635c975abb1461054c5780636352211e146105765780636c0360eb146105b25761020e565b80632f745c591161019a57806342842e0e1161016957806342842e0e14610434578063438b63001461045c57806344a0d68a146104985780634a4c560d146104c05780634f6ccce7146104e85761020e565b80632f745c59146103aa57806330cc7ae0146103e65780633ccfd60b1461040e57806340c10f19146104185761020e565b8063095ea7b3116101e1578063095ea7b3146102dc57806313faede61461030457806318160ddd1461032e578063239c70ae1461035857806323b872dd146103825761020e565b806301ffc9a71461021257806302329a291461024e57806306fdde0314610276578063081812fc146102a0575b5f80fd5b34801561021d575f80fd5b5061023860048036038101906102339190612bf3565b610852565b6040516102459190612c38565b60405180910390f35b348015610259575f80fd5b50610274600480360381019061026f9190612c7b565b6108cb565b005b348015610281575f80fd5b5061028a6108ef565b6040516102979190612d16565b60405180910390f35b3480156102ab575f80fd5b506102c660048036038101906102c19190612d69565b61097e565b6040516102d39190612dd3565b60405180910390f35b3480156102e7575f80fd5b5061030260048036038101906102fd9190612e16565b6109c0565b005b34801561030f575f80fd5b50610318610ad6565b6040516103259190612e63565b60405180910390f35b348015610339575f80fd5b50610342610adc565b60405161034f9190612e63565b60405180910390f35b348015610363575f80fd5b5061036c610ae8565b6040516103799190612e63565b60405180910390f35b34801561038d575f80fd5b506103a860048036038101906103a39190612e7c565b610aee565b005b3480156103b5575f80fd5b506103d060048036038101906103cb9190612e16565b610b4e565b6040516103dd9190612e63565b60405180910390f35b3480156103f1575f80fd5b5061040c60048036038101906104079190612ecc565b610bee565b005b610416610c4d565b005b610432600480360381019061042d9190612e16565b610d6f565b005b34801561043f575f80fd5b5061045a60048036038101906104559190612e7c565b610ea9565b005b348015610467575f80fd5b50610482600480360381019061047d9190612ecc565b610ec8565b60405161048f9190612fae565b60405180910390f35b3480156104a3575f80fd5b506104be60048036038101906104b99190612d69565b610f6d565b005b3480156104cb575f80fd5b506104e660048036038101906104e19190612ecc565b610f7f565b005b3480156104f3575f80fd5b5061050e60048036038101906105099190612d69565b610fdf565b60405161051b9190612e63565b60405180910390f35b34801561052f575f80fd5b5061054a600480360381019061054591906130fa565b61104d565b005b348015610557575f80fd5b50610560611068565b60405161056d9190612c38565b60405180910390f35b348015610581575f80fd5b5061059c60048036038101906105979190612d69565b61107a565b6040516105a99190612dd3565b60405180910390f35b3480156105bd575f80fd5b506105c66110fe565b6040516105d39190612d16565b60405180910390f35b3480156105e7575f80fd5b5061060260048036038101906105fd9190612ecc565b61118a565b60405161060f9190612e63565b60405180910390f35b348015610623575f80fd5b5061062c61123e565b005b348015610639575f80fd5b50610654600480360381019061064f9190612d69565b611251565b005b348015610661575f80fd5b5061066a611263565b6040516106779190612dd3565b60405180910390f35b34801561068b575f80fd5b5061069461128b565b6040516106a19190612d16565b60405180910390f35b3480156106b5575f80fd5b506106d060048036038101906106cb9190613141565b61131b565b005b3480156106dd575f80fd5b506106f860048036038101906106f3919061321d565b611331565b005b348015610705575f80fd5b5061070e611393565b60405161071b9190612d16565b60405180910390f35b34801561072f575f80fd5b5061074a60048036038101906107459190612d69565b61141f565b6040516107579190612d16565b60405180910390f35b34801561076b575f80fd5b506107746114c6565b6040516107819190612e63565b60405180910390f35b348015610795575f80fd5b506107b060048036038101906107ab9190612ecc565b6114cc565b6040516107bd9190612c38565b60405180910390f35b3480156107d1575f80fd5b506107ec60048036038101906107e791906130fa565b6114e9565b005b3480156107f9575f80fd5b50610814600480360381019061080f919061329d565b611504565b6040516108219190612c38565b60405180910390f35b348015610835575f80fd5b50610850600480360381019061084b9190612ecc565b611592565b005b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108c457506108c382611614565b5b9050919050565b6108d36116f5565b8060105f6101000a81548160ff02191690831515021790555050565b60605f80546108fd90613308565b80601f016020809104026020016040519081016040528092919081815260200182805461092990613308565b80156109745780601f1061094b57610100808354040283529160200191610974565b820191905f5260205f20905b81548152906001019060200180831161095757829003601f168201915b5050505050905090565b5f61098882611773565b60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f6109ca8261107a565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a31906133a8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a596117be565b73ffffffffffffffffffffffffffffffffffffffff161480610a885750610a8781610a826117be565b611504565b5b610ac7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abe90613436565b60405180910390fd5b610ad183836117c5565b505050565b600d5481565b5f600880549050905090565b600f5481565b610aff610af96117be565b8261187b565b610b3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b35906134c4565b60405180910390fd5b610b4983838361190f565b505050565b5f610b588361118a565b8210610b99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9090613552565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b610bf66116f5565b5f60115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610c556116f5565b5f73fdc57726a25fc7a5709e6ca23acaddf5ad82c9a873ffffffffffffffffffffffffffffffffffffffff166103e8601947610c91919061359d565b610c9b919061360b565b604051610ca790613668565b5f6040518083038185875af1925050503d805f8114610ce1576040519150601f19603f3d011682016040523d82523d5f602084013e610ce6565b606091505b5050905080610cf3575f80fd5b5f610cfc611263565b73ffffffffffffffffffffffffffffffffffffffff1647604051610d1f90613668565b5f6040518083038185875af1925050503d805f8114610d59576040519150601f19603f3d011682016040523d82523d5f602084013e610d5e565b606091505b5050905080610d6b575f80fd5b5050565b5f610d78610adc565b905060105f9054906101000a900460ff1615610d92575f80fd5b5f8211610d9d575f80fd5b600f54821115610dab575f80fd5b600e548282610dba919061367c565b1115610dc4575f80fd5b610dcc611263565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6e576001151560115f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151514610e6d5781600d54610e61919061359d565b341015610e6c575f80fd5b5b5b5f600190505b828111610ea357610e90848284610e8b919061367c565b611bfb565b8080610e9b906136af565b915050610e74565b50505050565b610ec383838360405180602001604052805f815250611331565b505050565b60605f610ed48361118a565b90505f8167ffffffffffffffff811115610ef157610ef0612fd6565b5b604051908082528060200260200182016040528015610f1f5781602001602082028036833780820191505090505b5090505f5b82811015610f6257610f368582610b4e565b828281518110610f4957610f486136f6565b5b6020026020010181815250508080600101915050610f24565b508092505050919050565b610f756116f5565b80600d8190555050565b610f876116f5565b600160115f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f610fe8610adc565b8210611029576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102090613793565b60405180910390fd5b6008828154811061103d5761103c6136f6565b5b905f5260205f2001549050919050565b6110556116f5565b80600b9081611064919061394e565b5050565b60105f9054906101000a900460ff1681565b5f8061108583611c18565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110ec90613a67565b60405180910390fd5b80915050919050565b600b805461110b90613308565b80601f016020809104026020016040519081016040528092919081815260200182805461113790613308565b80156111825780601f1061115957610100808354040283529160200191611182565b820191905f5260205f20905b81548152906001019060200180831161116557829003601f168201915b505050505081565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f090613af5565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6112466116f5565b61124f5f611c51565b565b6112596116f5565b80600f8190555050565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461129a90613308565b80601f01602080910402602001604051908101604052809291908181526020018280546112c690613308565b80156113115780601f106112e857610100808354040283529160200191611311565b820191905f5260205f20905b8154815290600101906020018083116112f457829003601f168201915b5050505050905090565b61132d6113266117be565b8383611d14565b5050565b61134261133c6117be565b8361187b565b611381576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611378906134c4565b60405180910390fd5b61138d84848484611e7b565b50505050565b600c80546113a090613308565b80601f01602080910402602001604051908101604052809291908181526020018280546113cc90613308565b80156114175780601f106113ee57610100808354040283529160200191611417565b820191905f5260205f20905b8154815290600101906020018083116113fa57829003601f168201915b505050505081565b606061142a82611ed7565b611469576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146090613b83565b60405180910390fd5b5f611472611f17565b90505f8151116114905760405180602001604052805f8152506114be565b8061149a84611fa7565b600c6040516020016114ae93929190613c5b565b6040516020818303038152906040525b915050919050565b600e5481565b6011602052805f5260405f205f915054906101000a900460ff1681565b6114f16116f5565b80600c9081611500919061394e565b5050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b61159a6116f5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611608576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ff90613cfb565b60405180910390fd5b61161181611c51565b50565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806116de57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806116ee57506116ed82612071565b5b9050919050565b6116fd6117be565b73ffffffffffffffffffffffffffffffffffffffff1661171b611263565b73ffffffffffffffffffffffffffffffffffffffff1614611771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176890613d63565b60405180910390fd5b565b61177c81611ed7565b6117bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b290613a67565b60405180910390fd5b50565b5f33905090565b8160045f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166118358361107a565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f806118868361107a565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118c857506118c78185611504565b5b8061190657508373ffffffffffffffffffffffffffffffffffffffff166118ee8461097e565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661192f8261107a565b73ffffffffffffffffffffffffffffffffffffffff1614611985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197c90613df1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ea90613e7f565b60405180910390fd5b611a0083838360016120da565b8273ffffffffffffffffffffffffffffffffffffffff16611a208261107a565b73ffffffffffffffffffffffffffffffffffffffff1614611a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6d90613df1565b60405180910390fd5b60045f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540392505081905550600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611bf68383836001612235565b505050565b611c14828260405180602001604052805f81525061223b565b5050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7990613ee7565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611e6e9190612c38565b60405180910390a3505050565b611e8684848461190f565b611e9284848484612295565b611ed1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec890613f75565b60405180910390fd5b50505050565b5f8073ffffffffffffffffffffffffffffffffffffffff16611ef883611c18565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600b8054611f2690613308565b80601f0160208091040260200160405190810160405280929190818152602001828054611f5290613308565b8015611f9d5780601f10611f7457610100808354040283529160200191611f9d565b820191905f5260205f20905b815481529060010190602001808311611f8057829003601f168201915b5050505050905090565b60605f6001611fb584612417565b0190505f8167ffffffffffffffff811115611fd357611fd2612fd6565b5b6040519080825280601f01601f1916602001820160405280156120055781602001600182028036833780820191505090505b5090505f82602001820190505b600115612066578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161205b5761205a6135de565b5b0494505f8503612012575b819350505050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6120e684848484612568565b600181111561212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212190614003565b60405180910390fd5b5f8290505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361216f5761216a81612686565b6121ae565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146121ad576121ac85826126ca565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036121ef576121ea81612820565b61222e565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461222d5761222c84826128e0565b5b5b5050505050565b50505050565b6122458383612958565b6122515f848484612295565b612290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228790613f75565b60405180910390fd5b505050565b5f6122b58473ffffffffffffffffffffffffffffffffffffffff16612b6b565b1561240a578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026122de6117be565b8786866040518563ffffffff1660e01b81526004016123009493929190614073565b6020604051808303815f875af192505050801561233b57506040513d601f19601f8201168201806040525081019061233891906140d1565b60015b6123ba573d805f8114612369576040519150601f19603f3d011682016040523d82523d5f602084013e61236e565b606091505b505f8151036123b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a990613f75565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061240f565b600190505b949350505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612473577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612469576124686135de565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106124b0576d04ee2d6d415b85acef810000000083816124a6576124a56135de565b5b0492506020810190505b662386f26fc1000083106124df57662386f26fc1000083816124d5576124d46135de565b5b0492506010810190505b6305f5e1008310612508576305f5e10083816124fe576124fd6135de565b5b0492506008810190505b612710831061252d576127108381612523576125226135de565b5b0492506004810190505b606483106125505760648381612546576125456135de565b5b0492506002810190505b600a831061255f576001810190505b80915050919050565b6001811115612680575f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146125f8578060035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546125f091906140fc565b925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461267f578060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612677919061367c565b925050819055505b5b50505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f60016126d68461118a565b6126e091906140fc565b90505f60075f8481526020019081526020015f205490508181146127b7575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f600160088054905061283391906140fc565b90505f60095f8481526020019081526020015f205490505f6008838154811061285f5761285e6136f6565b5b905f5260205f2001549050806008838154811061287f5761287e6136f6565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f905560088054806128c7576128c661412f565b5b600190038181905f5260205f20015f9055905550505050565b5f6128ea8361118a565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129bd906141a6565b60405180910390fd5b6129cf81611ed7565b15612a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a069061420e565b60405180910390fd5b612a1c5f838360016120da565b612a2581611ed7565b15612a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5c9061420e565b60405180910390fd5b600160035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508160025f8381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b675f83836001612235565b5050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612bd281612b9e565b8114612bdc575f80fd5b50565b5f81359050612bed81612bc9565b92915050565b5f60208284031215612c0857612c07612b96565b5b5f612c1584828501612bdf565b91505092915050565b5f8115159050919050565b612c3281612c1e565b82525050565b5f602082019050612c4b5f830184612c29565b92915050565b612c5a81612c1e565b8114612c64575f80fd5b50565b5f81359050612c7581612c51565b92915050565b5f60208284031215612c9057612c8f612b96565b5b5f612c9d84828501612c67565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612ce882612ca6565b612cf28185612cb0565b9350612d02818560208601612cc0565b612d0b81612cce565b840191505092915050565b5f6020820190508181035f830152612d2e8184612cde565b905092915050565b5f819050919050565b612d4881612d36565b8114612d52575f80fd5b50565b5f81359050612d6381612d3f565b92915050565b5f60208284031215612d7e57612d7d612b96565b5b5f612d8b84828501612d55565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612dbd82612d94565b9050919050565b612dcd81612db3565b82525050565b5f602082019050612de65f830184612dc4565b92915050565b612df581612db3565b8114612dff575f80fd5b50565b5f81359050612e1081612dec565b92915050565b5f8060408385031215612e2c57612e2b612b96565b5b5f612e3985828601612e02565b9250506020612e4a85828601612d55565b9150509250929050565b612e5d81612d36565b82525050565b5f602082019050612e765f830184612e54565b92915050565b5f805f60608486031215612e9357612e92612b96565b5b5f612ea086828701612e02565b9350506020612eb186828701612e02565b9250506040612ec286828701612d55565b9150509250925092565b5f60208284031215612ee157612ee0612b96565b5b5f612eee84828501612e02565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f2981612d36565b82525050565b5f612f3a8383612f20565b60208301905092915050565b5f602082019050919050565b5f612f5c82612ef7565b612f668185612f01565b9350612f7183612f11565b805f5b83811015612fa1578151612f888882612f2f565b9750612f9383612f46565b925050600181019050612f74565b5085935050505092915050565b5f6020820190508181035f830152612fc68184612f52565b905092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61300c82612cce565b810181811067ffffffffffffffff8211171561302b5761302a612fd6565b5b80604052505050565b5f61303d612b8d565b90506130498282613003565b919050565b5f67ffffffffffffffff82111561306857613067612fd6565b5b61307182612cce565b9050602081019050919050565b828183375f83830152505050565b5f61309e6130998461304e565b613034565b9050828152602081018484840111156130ba576130b9612fd2565b5b6130c584828561307e565b509392505050565b5f82601f8301126130e1576130e0612fce565b5b81356130f184826020860161308c565b91505092915050565b5f6020828403121561310f5761310e612b96565b5b5f82013567ffffffffffffffff81111561312c5761312b612b9a565b5b613138848285016130cd565b91505092915050565b5f806040838503121561315757613156612b96565b5b5f61316485828601612e02565b925050602061317585828601612c67565b9150509250929050565b5f67ffffffffffffffff82111561319957613198612fd6565b5b6131a282612cce565b9050602081019050919050565b5f6131c16131bc8461317f565b613034565b9050828152602081018484840111156131dd576131dc612fd2565b5b6131e884828561307e565b509392505050565b5f82601f83011261320457613203612fce565b5b81356132148482602086016131af565b91505092915050565b5f805f806080858703121561323557613234612b96565b5b5f61324287828801612e02565b945050602061325387828801612e02565b935050604061326487828801612d55565b925050606085013567ffffffffffffffff81111561328557613284612b9a565b5b613291878288016131f0565b91505092959194509250565b5f80604083850312156132b3576132b2612b96565b5b5f6132c085828601612e02565b92505060206132d185828601612e02565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061331f57607f821691505b602082108103613332576133316132db565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f613392602183612cb0565b915061339d82613338565b604082019050919050565b5f6020820190508181035f8301526133bf81613386565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f5f8201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b5f613420603d83612cb0565b915061342b826133c6565b604082019050919050565b5f6020820190508181035f83015261344d81613414565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e655f8201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b5f6134ae602d83612cb0565b91506134b982613454565b604082019050919050565b5f6020820190508181035f8301526134db816134a2565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f755f8201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b5f61353c602b83612cb0565b9150613547826134e2565b604082019050919050565b5f6020820190508181035f83015261356981613530565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6135a782612d36565b91506135b283612d36565b92508282026135c081612d36565b915082820484148315176135d7576135d6613570565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61361582612d36565b915061362083612d36565b9250826136305761362f6135de565b5b828204905092915050565b5f81905092915050565b50565b5f6136535f8361363b565b915061365e82613645565b5f82019050919050565b5f61367282613648565b9150819050919050565b5f61368682612d36565b915061369183612d36565b92508282019050808211156136a9576136a8613570565b5b92915050565b5f6136b982612d36565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136eb576136ea613570565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f5f8201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b5f61377d602c83612cb0565b915061378882613723565b604082019050919050565b5f6020820190508181035f8301526137aa81613771565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261380d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826137d2565b61381786836137d2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61385261384d61384884612d36565b61382f565b612d36565b9050919050565b5f819050919050565b61386b83613838565b61387f61387782613859565b8484546137de565b825550505050565b5f90565b613893613887565b61389e818484613862565b505050565b5b818110156138c1576138b65f8261388b565b6001810190506138a4565b5050565b601f821115613906576138d7816137b1565b6138e0846137c3565b810160208510156138ef578190505b6139036138fb856137c3565b8301826138a3565b50505b505050565b5f82821c905092915050565b5f6139265f198460080261390b565b1980831691505092915050565b5f61393e8383613917565b9150826002028217905092915050565b61395782612ca6565b67ffffffffffffffff8111156139705761396f612fd6565b5b61397a8254613308565b6139858282856138c5565b5f60209050601f8311600181146139b6575f84156139a4578287015190505b6139ae8582613933565b865550613a15565b601f1984166139c4866137b1565b5f5b828110156139eb578489015182556001820191506020850194506020810190506139c6565b86831015613a085784890151613a04601f891682613917565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e20494400000000000000005f82015250565b5f613a51601883612cb0565b9150613a5c82613a1d565b602082019050919050565b5f6020820190508181035f830152613a7e81613a45565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f7420612076615f8201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b5f613adf602983612cb0565b9150613aea82613a85565b604082019050919050565b5f6020820190508181035f830152613b0c81613ad3565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f5f8201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b5f613b6d602f83612cb0565b9150613b7882613b13565b604082019050919050565b5f6020820190508181035f830152613b9a81613b61565b9050919050565b5f81905092915050565b5f613bb582612ca6565b613bbf8185613ba1565b9350613bcf818560208601612cc0565b80840191505092915050565b5f8154613be781613308565b613bf18186613ba1565b9450600182165f8114613c0b5760018114613c2057613c52565b60ff1983168652811515820286019350613c52565b613c29856137b1565b5f5b83811015613c4a57815481890152600182019150602081019050613c2b565b838801955050505b50505092915050565b5f613c668286613bab565b9150613c728285613bab565b9150613c7e8284613bdb565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613ce5602683612cb0565b9150613cf082613c8b565b604082019050919050565b5f6020820190508181035f830152613d1281613cd9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613d4d602083612cb0565b9150613d5882613d19565b602082019050919050565b5f6020820190508181035f830152613d7a81613d41565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f7272656374205f8201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b5f613ddb602583612cb0565b9150613de682613d81565b604082019050919050565b5f6020820190508181035f830152613e0881613dcf565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613e69602483612cb0565b9150613e7482613e0f565b604082019050919050565b5f6020820190508181035f830152613e9681613e5d565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c6572000000000000005f82015250565b5f613ed1601983612cb0565b9150613edc82613e9d565b602082019050919050565b5f6020820190508181035f830152613efe81613ec5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e2045524337323152655f8201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b5f613f5f603283612cb0565b9150613f6a82613f05565b604082019050919050565b5f6020820190508181035f830152613f8c81613f53565b9050919050565b7f455243373231456e756d657261626c653a20636f6e73656375746976652074725f8201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b5f613fed603583612cb0565b9150613ff882613f93565b604082019050919050565b5f6020820190508181035f83015261401a81613fe1565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f61404582614021565b61404f818561402b565b935061405f818560208601612cc0565b61406881612cce565b840191505092915050565b5f6080820190506140865f830187612dc4565b6140936020830186612dc4565b6140a06040830185612e54565b81810360608301526140b2818461403b565b905095945050505050565b5f815190506140cb81612bc9565b92915050565b5f602082840312156140e6576140e5612b96565b5b5f6140f3848285016140bd565b91505092915050565b5f61410682612d36565b915061411183612d36565b925082820390508181111561412957614128613570565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4552433732313a206d696e7420746f20746865207a65726f20616464726573735f82015250565b5f614190602083612cb0565b915061419b8261415c565b602082019050919050565b5f6020820190508181035f8301526141bd81614184565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e746564000000005f82015250565b5f6141f8601c83612cb0565b9150614203826141c4565b602082019050919050565b5f6020820190508181035f830152614225816141ec565b905091905056fea2646970667358221220c889bb9964a2842cb88f8c7c35381c9cd2c01ede32df24d3ca78463d1aa4d1e664736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b4a6f7365706820436f696e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034a6f430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f516d56484a6b744b5a4445633661387169746650516e78644a7838565736767a755643415868784b6e74764e73712f0000000000000000000000000000000000