60806040526040518060400160405280601d81526020017f68747470733a2f2f6578616d706c652e636f6d2f6d657461646174612f0000008152506008908161004891906104eb565b5073276ca50c10207fc39363e14eda26072c2ba5f18760095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156100a8575f80fd5b506040516139f13803806139f183398181016040528101906100ca91906106da565b336040518060400160405280600a81526020017f446f6765436861736572000000000000000000000000000000000000000000008152506040518060400160405280600a81526020017f446f676543686173657200000000000000000000000000000000000000000000815250815f908161014591906104eb565b50806001908161015591906104eb565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036101c8575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016101bf9190610760565b60405180910390fd5b6101d7816101ee60201b60201c565b5080600890816101e791906104eb565b5050610779565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061032c57607f821691505b60208210810361033f5761033e6102e8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103a17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610366565b6103ab8683610366565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6103ef6103ea6103e5846103c3565b6103cc565b6103c3565b9050919050565b5f819050919050565b610408836103d5565b61041c610414826103f6565b848454610372565b825550505050565b5f90565b610430610424565b61043b8184846103ff565b505050565b5b8181101561045e576104535f82610428565b600181019050610441565b5050565b601f8211156104a35761047481610345565b61047d84610357565b8101602085101561048c578190505b6104a061049885610357565b830182610440565b50505b505050565b5f82821c905092915050565b5f6104c35f19846008026104a8565b1980831691505092915050565b5f6104db83836104b4565b9150826002028217905092915050565b6104f4826102b1565b67ffffffffffffffff81111561050d5761050c6102bb565b5b6105178254610315565b610522828285610462565b5f60209050601f831160018114610553575f8415610541578287015190505b61054b85826104d0565b8655506105b2565b601f19841661056186610345565b5f5b8281101561058857848901518255600182019150602085019450602081019050610563565b868310156105a557848901516105a1601f8916826104b4565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b6105ec826105d3565b810181811067ffffffffffffffff8211171561060b5761060a6102bb565b5b80604052505050565b5f61061d6105ba565b905061062982826105e3565b919050565b5f67ffffffffffffffff821115610648576106476102bb565b5b610651826105d3565b9050602081019050919050565b8281835e5f83830152505050565b5f61067e6106798461062e565b610614565b90508281526020810184848401111561069a576106996105cf565b5b6106a584828561065e565b509392505050565b5f82601f8301126106c1576106c06105cb565b5b81516106d184826020860161066c565b91505092915050565b5f602082840312156106ef576106ee6105c3565b5b5f82015167ffffffffffffffff81111561070c5761070b6105c7565b5b610718848285016106ad565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61074a82610721565b9050919050565b61075a81610740565b82525050565b5f6020820190506107735f830184610751565b92915050565b61326b806107865f395ff3fe608060405260043610610180575f3560e01c8063715018a6116100d0578063b88d4fde11610089578063d216ce6f11610063578063d216ce6f14610548578063e985e9c514610584578063f2fde38b146105c0578063f5537ede146105e857610180565b8063b88d4fde146104ba578063c002d23d146104e2578063c87b56dd1461050c57610180565b8063715018a6146103d65780638da5cb5b146103ec57806395d89b4114610416578063a14a9f8f14610440578063a22cb46514610468578063a2309ff81461049057610180565b80633ccfd60b1161013d57806355f804b31161011757806355f804b3146102fa5780636352211e146103225780636c3023941461035e57806370a082311461039a57610180565b80633ccfd60b146102a057806342842e0e146102b657806343508b05146102de57610180565b806301ffc9a71461018457806306fdde03146101c0578063081812fc146101ea578063095ea7b31461022657806323b872dd1461024e57806332cb6b0c14610276575b5f80fd5b34801561018f575f80fd5b506101aa60048036038101906101a591906122be565b610610565b6040516101b79190612303565b60405180910390f35b3480156101cb575f80fd5b506101d46106f1565b6040516101e1919061238c565b60405180910390f35b3480156101f5575f80fd5b50610210600480360381019061020b91906123df565b610780565b60405161021d9190612449565b60405180910390f35b348015610231575f80fd5b5061024c6004803603810190610247919061248c565b61079b565b005b348015610259575f80fd5b50610274600480360381019061026f91906124ca565b6107b1565b005b348015610281575f80fd5b5061028a6108b0565b6040516102979190612529565b60405180910390f35b3480156102ab575f80fd5b506102b46108b6565b005b3480156102c1575f80fd5b506102dc60048036038101906102d791906124ca565b61090b565b005b6102f860048036038101906102f3919061248c565b61092a565b005b348015610305575f80fd5b50610320600480360381019061031b919061266e565b610c49565b005b34801561032d575f80fd5b50610348600480360381019061034391906123df565b610c5c565b6040516103559190612449565b60405180910390f35b348015610369575f80fd5b50610384600480360381019061037f91906126b5565b610c6d565b6040516103919190612303565b60405180910390f35b3480156103a5575f80fd5b506103c060048036038101906103bb91906126b5565b610cb5565b6040516103cd9190612529565b60405180910390f35b3480156103e1575f80fd5b506103ea610d6b565b005b3480156103f7575f80fd5b50610400610d7e565b60405161040d9190612449565b60405180910390f35b348015610421575f80fd5b5061042a610da6565b604051610437919061238c565b60405180910390f35b34801561044b575f80fd5b50610466600480360381019061046191906126b5565b610e36565b005b348015610473575f80fd5b5061048e6004803603810190610489919061270a565b611133565b005b34801561049b575f80fd5b506104a4611149565b6040516104b19190612529565b60405180910390f35b3480156104c5575f80fd5b506104e060048036038101906104db91906127e6565b611159565b005b3480156104ed575f80fd5b506104f6611176565b6040516105039190612529565b60405180910390f35b348015610517575f80fd5b50610532600480360381019061052d91906123df565b611182565b60405161053f919061238c565b60405180910390f35b348015610553575f80fd5b5061056e600480360381019061056991906126b5565b6111bc565b60405161057b9190612449565b60405180910390f35b34801561058f575f80fd5b506105aa60048036038101906105a59190612866565b611221565b6040516105b79190612303565b60405180910390f35b3480156105cb575f80fd5b506105e660048036038101906105e191906126b5565b6112af565b005b3480156105f3575f80fd5b5061060e600480360381019061060991906124ca565b611333565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106da57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106ea57506106e982611343565b5b9050919050565b60605f80546106ff906128d1565b80601f016020809104026020016040519081016040528092919081815260200182805461072b906128d1565b80156107765780601f1061074d57610100808354040283529160200191610776565b820191905f5260205f20905b81548152906001019060200180831161075957829003601f168201915b5050505050905090565b5f61078a826113ac565b5061079482611432565b9050919050565b6107ad82826107a861146b565b611472565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610821575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016108189190612449565b60405180910390fd5b5f610834838361082f61146b565b611484565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108aa578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016108a193929190612901565b60405180910390fd5b50505050565b61271081565b6108be61168f565b6108c6610d7e565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610908573d5f803e3d5ffd5b50565b61092583838360405180602001604052805f815250611159565b505050565b612710816109386007611716565b6109429190612963565b1115610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a906129e0565b60405180910390fd5b600a8111156109c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109be90612a48565b60405180910390fd5b600a81600b5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a129190612963565b1115610a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4a90612ab0565b60405180910390fd5b8067016345785d8a0000610a679190612ace565b3414610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90612b59565b60405180910390fd5b5f610ab2836111bc565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b0c5760095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b5f6064600f34610b1c9190612ace565b610b269190612ba4565b90508173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610b6b573d5f803e3d5ffd5b505f5b83811015610b8d57610b7f85611722565b508080600101915050610b6e565b5082600b5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610bda9190612963565b925050819055505f738954bd8fcb04ded77bc7b194d39cd8f0b711db4b90505f4790508173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610c40573d5f803e3d5ffd5b50505050505050565b8060089081610c589190612d71565b5050565b5f610c66826113ac565b9050919050565b5f80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054119050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d26575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610d1d9190612449565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d7361168f565b610d7c5f61174d565b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610db5906128d1565b80601f0160208091040260200160405190810160405280929190818152602001828054610de1906128d1565b8015610e2c5780601f10610e0357610100808354040283529160200191610e2c565b820191905f5260205f20905b815481529060010190602001808311610e0f57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90612e8a565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0990612ef2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff16600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd390612f80565b60405180910390fd5b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541161105b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110529061300e565b60405180910390fd5b80600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4acb525f89ac6ef8bcb49db99dc97b23396988db63092e3cb824c2e6eddac41f60405160405180910390a350565b61114561113e61146b565b8383611810565b5050565b5f6111546007611716565b905090565b6111648484846107b1565b61117084848484611979565b50505050565b67016345785d8a000081565b606061118c611b2b565b61119583611bbb565b6040516020016111a69291906130fa565b6040516020818303038152906040529050919050565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6112b761168f565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611327575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161131e9190612449565b60405180910390fd5b6113308161174d565b50565b61133e83838361090b565b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f806113b783611c85565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361142957826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016114209190612529565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b61147f8383836001611cbe565b505050565b5f8061148f84611c85565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146114d0576114cf818486611e7d565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461155b5761150f5f855f80611cbe565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146115da57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b61169761146b565b73ffffffffffffffffffffffffffffffffffffffff166116b5610d7e565b73ffffffffffffffffffffffffffffffffffffffff1614611714576116d861146b565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161170b9190612449565b60405180910390fd5b565b5f815f01549050919050565b5f61172d6007611f40565b5f6117386007611716565b90506117448382611f54565b80915050919050565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361188057816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016118779190612449565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161196c9190612303565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115611b25578273ffffffffffffffffffffffffffffffffffffffff1663150b7a026119bc61146b565b8685856040518563ffffffff1660e01b81526004016119de9493929190613185565b6020604051808303815f875af1925050508015611a1957506040513d601f19601f82011682018060405250810190611a1691906131e3565b60015b611a9a573d805f8114611a47576040519150601f19603f3d011682016040523d82523d5f602084013e611a4c565b606091505b505f815103611a9257836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611a899190612449565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611b2357836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611b1a9190612449565b60405180910390fd5b505b50505050565b606060088054611b3a906128d1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b66906128d1565b8015611bb15780601f10611b8857610100808354040283529160200191611bb1565b820191905f5260205f20905b815481529060010190602001808311611b9457829003601f168201915b5050505050905090565b60605f6001611bc984612047565b0190505f8167ffffffffffffffff811115611be757611be661254a565b5b6040519080825280601f01601f191660200182016040528015611c195781602001600182028036833780820191505090505b5090505f82602001820190505b600115611c7a578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611c6f57611c6e612b77565b5b0494505f8503611c26575b819350505050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8080611cf657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611e28575f611d05846113ac565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d6f57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611d825750611d808184611221565b155b15611dc457826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611dbb9190612449565b60405180910390fd5b8115611e2657838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611e88838383612198565b611f3b575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611efc57806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611ef39190612529565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611f3292919061320e565b60405180910390fd5b505050565b6001815f015f828254019250508190555050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fc4575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611fbb9190612449565b60405180910390fd5b5f611fd083835f611484565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612042575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016120399190612449565b60405180910390fd5b505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106120a3577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161209957612098612b77565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106120e0576d04ee2d6d415b85acef810000000083816120d6576120d5612b77565b5b0492506020810190505b662386f26fc10000831061210f57662386f26fc10000838161210557612104612b77565b5b0492506010810190505b6305f5e1008310612138576305f5e100838161212e5761212d612b77565b5b0492506008810190505b612710831061215d57612710838161215357612152612b77565b5b0492506004810190505b60648310612180576064838161217657612175612b77565b5b0492506002810190505b600a831061218f576001810190505b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561224f57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612210575061220f8484611221565b5b8061224e57508273ffffffffffffffffffffffffffffffffffffffff1661223683611432565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61229d81612269565b81146122a7575f80fd5b50565b5f813590506122b881612294565b92915050565b5f602082840312156122d3576122d2612261565b5b5f6122e0848285016122aa565b91505092915050565b5f8115159050919050565b6122fd816122e9565b82525050565b5f6020820190506123165f8301846122f4565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61235e8261231c565b6123688185612326565b9350612378818560208601612336565b61238181612344565b840191505092915050565b5f6020820190508181035f8301526123a48184612354565b905092915050565b5f819050919050565b6123be816123ac565b81146123c8575f80fd5b50565b5f813590506123d9816123b5565b92915050565b5f602082840312156123f4576123f3612261565b5b5f612401848285016123cb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124338261240a565b9050919050565b61244381612429565b82525050565b5f60208201905061245c5f83018461243a565b92915050565b61246b81612429565b8114612475575f80fd5b50565b5f8135905061248681612462565b92915050565b5f80604083850312156124a2576124a1612261565b5b5f6124af85828601612478565b92505060206124c0858286016123cb565b9150509250929050565b5f805f606084860312156124e1576124e0612261565b5b5f6124ee86828701612478565b93505060206124ff86828701612478565b9250506040612510868287016123cb565b9150509250925092565b612523816123ac565b82525050565b5f60208201905061253c5f83018461251a565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61258082612344565b810181811067ffffffffffffffff8211171561259f5761259e61254a565b5b80604052505050565b5f6125b1612258565b90506125bd8282612577565b919050565b5f67ffffffffffffffff8211156125dc576125db61254a565b5b6125e582612344565b9050602081019050919050565b828183375f83830152505050565b5f61261261260d846125c2565b6125a8565b90508281526020810184848401111561262e5761262d612546565b5b6126398482856125f2565b509392505050565b5f82601f83011261265557612654612542565b5b8135612665848260208601612600565b91505092915050565b5f6020828403121561268357612682612261565b5b5f82013567ffffffffffffffff8111156126a05761269f612265565b5b6126ac84828501612641565b91505092915050565b5f602082840312156126ca576126c9612261565b5b5f6126d784828501612478565b91505092915050565b6126e9816122e9565b81146126f3575f80fd5b50565b5f81359050612704816126e0565b92915050565b5f80604083850312156127205761271f612261565b5b5f61272d85828601612478565b925050602061273e858286016126f6565b9150509250929050565b5f67ffffffffffffffff8211156127625761276161254a565b5b61276b82612344565b9050602081019050919050565b5f61278a61278584612748565b6125a8565b9050828152602081018484840111156127a6576127a5612546565b5b6127b18482856125f2565b509392505050565b5f82601f8301126127cd576127cc612542565b5b81356127dd848260208601612778565b91505092915050565b5f805f80608085870312156127fe576127fd612261565b5b5f61280b87828801612478565b945050602061281c87828801612478565b935050604061282d878288016123cb565b925050606085013567ffffffffffffffff81111561284e5761284d612265565b5b61285a878288016127b9565b91505092959194509250565b5f806040838503121561287c5761287b612261565b5b5f61288985828601612478565b925050602061289a85828601612478565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806128e857607f821691505b6020821081036128fb576128fa6128a4565b5b50919050565b5f6060820190506129145f83018661243a565b612921602083018561251a565b61292e604083018461243a565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61296d826123ac565b9150612978836123ac565b92508282019050808211156129905761298f612936565b5b92915050565b7f45786365656473206d6178696d756d20737570706c79000000000000000000005f82015250565b5f6129ca601683612326565b91506129d582612996565b602082019050919050565b5f6020820190508181035f8301526129f7816129be565b9050919050565b7f4d415820313000000000000000000000000000000000000000000000000000005f82015250565b5f612a32600683612326565b9150612a3d826129fe565b602082019050919050565b5f6020820190508181035f830152612a5f81612a26565b9050919050565b7f45786365656473206d6178696d756d206d696e742070657220616464726573735f82015250565b5f612a9a602083612326565b9150612aa582612a66565b602082019050919050565b5f6020820190508181035f830152612ac781612a8e565b9050919050565b5f612ad8826123ac565b9150612ae3836123ac565b9250828202612af1816123ac565b91508282048414831517612b0857612b07612936565b5b5092915050565b7f496e636f727265637420457468657220616d6f756e74000000000000000000005f82015250565b5f612b43601683612326565b9150612b4e82612b0f565b602082019050919050565b5f6020820190508181035f830152612b7081612b37565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bae826123ac565b9150612bb9836123ac565b925082612bc957612bc8612b77565b5b828204905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612c307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612bf5565b612c3a8683612bf5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f612c75612c70612c6b846123ac565b612c52565b6123ac565b9050919050565b5f819050919050565b612c8e83612c5b565b612ca2612c9a82612c7c565b848454612c01565b825550505050565b5f90565b612cb6612caa565b612cc1818484612c85565b505050565b5b81811015612ce457612cd95f82612cae565b600181019050612cc7565b5050565b601f821115612d2957612cfa81612bd4565b612d0384612be6565b81016020851015612d12578190505b612d26612d1e85612be6565b830182612cc6565b50505b505050565b5f82821c905092915050565b5f612d495f1984600802612d2e565b1980831691505092915050565b5f612d618383612d3a565b9150826002028217905092915050565b612d7a8261231c565b67ffffffffffffffff811115612d9357612d9261254a565b5b612d9d82546128d1565b612da8828285612ce8565b5f60209050601f831160018114612dd9575f8415612dc7578287015190505b612dd18582612d56565b865550612e38565b601f198416612de786612bd4565b5f5b82811015612e0e57848901518255600182019150602085019450602081019050612de9565b86831015612e2b5784890151612e27601f891682612d3a565b8355505b6001600288020188555050505b505050505050565b7f496e766974657220616464726573732063616e6e6f74206265207a65726f2e005f82015250565b5f612e74601f83612326565b9150612e7f82612e40565b602082019050919050565b5f6020820190508181035f830152612ea181612e68565b9050919050565b7f596f752063616e6e6f7420696e7669746520796f757273656c662e00000000005f82015250565b5f612edc601b83612326565b9150612ee782612ea8565b602082019050919050565b5f6020820190508181035f830152612f0981612ed0565b9050919050565b7f596f75206861766520616c726561647920626f756e6420616e20696e766974655f8201527f722e000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f6a602283612326565b9150612f7582612f10565b604082019050919050565b5f6020820190508181035f830152612f9781612f5e565b9050919050565b7f496e7669746572206d7573742068617665206d696e746564206174206c6561735f8201527f74206f6e6520746f6b656e2e0000000000000000000000000000000000000000602082015250565b5f612ff8602c83612326565b915061300382612f9e565b604082019050919050565b5f6020820190508181035f83015261302581612fec565b9050919050565b5f81905092915050565b5f6130408261231c565b61304a818561302c565b935061305a818560208601612336565b80840191505092915050565b7f446f6765436861736572230000000000000000000000000000000000000000005f82015250565b5f61309a600b8361302c565b91506130a582613066565b600b82019050919050565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000005f82015250565b5f6130e460058361302c565b91506130ef826130b0565b600582019050919050565b5f6131058285613036565b91506131108261308e565b915061311c8284613036565b9150613127826130d8565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f61315782613133565b613161818561313d565b9350613171818560208601612336565b61317a81612344565b840191505092915050565b5f6080820190506131985f83018761243a565b6131a5602083018661243a565b6131b2604083018561251a565b81810360608301526131c4818461314d565b905095945050505050565b5f815190506131dd81612294565b92915050565b5f602082840312156131f8576131f7612261565b5b5f613205848285016131cf565b91505092915050565b5f6040820190506132215f83018561243a565b61322e602083018461251a565b939250505056fea2646970667358221220371543c4f012b35e7557b9cbe9ce94028f82dc17a5572a4a32be2600bf539cc364736f6c634300081a00330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001968747470733a2f2f70726f66696c652e646f6765632e61692f00000000000000