6080604052601560065560156007555f6008555f6009556017600a556017600b55601a600c555f600d55620000756127106200006660b46009600a620000469190620007d0565b63fac0332062000057919062000820565b620004d960201b90919060201c565b6200055960201b90919060201c565b600e55620000c4612710620000b560b46009600a620000959190620007d0565b63fac03320620000a6919062000820565b620004d960201b90919060201c565b6200055960201b90919060201c565b600f55620001136127106200010460646009600a620000e49190620007d0565b63fac03320620000f5919062000820565b620004d960201b90919060201c565b6200055960201b90919060201c565b601055620001626127106200015360646009600a620001339190620007d0565b63fac0332062000144919062000820565b620004d960201b90919060201c565b6200055960201b90919060201c565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f6014555f6015555f620001b2620005aa60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200025e620005aa60201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620002ad9190620007d0565b63fac03320620002be919062000820565b60015f620002d1620005aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f62000323620005b160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200044d620005aa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620004ab9190620007d0565b63fac03320620004bc919062000820565b604051620004cb91906200087b565b60405180910390a362000a44565b5f808303620004eb575f905062000553565b5f8284620004fa919062000820565b90508284826200050b9190620008c3565b146200054e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000545906200097e565b60405180910390fd5b809150505b92915050565b5f620005a283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620005d860201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f808311829062000621576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000618919062000a22565b60405180910390fd5b505f8385620006319190620008c3565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620006c857808604811115620006a0576200069f6200063e565b5b6001851615620006b05780820291505b8081029050620006c0856200066b565b945062000680565b94509492505050565b5f82620006e25760019050620007b4565b81620006f1575f9050620007b4565b81600181146200070a576002811462000715576200074b565b6001915050620007b4565b60ff8411156200072a57620007296200063e565b5b8360020a9150848211156200074457620007436200063e565b5b50620007b4565b5060208310610133831016604e8410600b8410161715620007855782820a9050838111156200077f576200077e6200063e565b5b620007b4565b62000794848484600162000677565b92509050818404811115620007ae57620007ad6200063e565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620007dc82620007bb565b9150620007e983620007c4565b9250620008187fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620006d1565b905092915050565b5f6200082c82620007bb565b91506200083983620007bb565b92508282026200084981620007bb565b915082820484148315176200086357620008626200063e565b5b5092915050565b6200087581620007bb565b82525050565b5f602082019050620008905f8301846200086a565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620008cf82620007bb565b9150620008dc83620007bb565b925082620008ef57620008ee62000896565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f62000966602183620008fa565b915062000973826200090a565b604082019050919050565b5f6020820190508181035f830152620009978162000958565b9050919050565b5f81519050919050565b5f5b83811015620009c7578082015181840152602081019050620009aa565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620009ee826200099e565b620009fa8185620008fa565b935062000a0c818560208601620009a8565b62000a1781620009d2565b840191505092915050565b5f6020820190508181035f83015262000a3c8184620009e2565b905092915050565b6132108062000a525f395ff3fe608060405260043610610138575f3560e01c8063751039fc116100aa578063a9059cbb1161006e578063a9059cbb146103ed578063bf474bed14610429578063c9567bf914610453578063d34628cc14610469578063dd62ed3e14610491578063ec1f3f63146104cd5761013f565b8063751039fc1461032f5780637d1db4a5146103455780638da5cb5b1461036f5780638f9a55c01461039957806395d89b41146103c35761013f565b8063313ce567116100fc578063313ce5671461023957806331c2d847146102635780633bbac5791461028b57806351bc3c85146102c757806370a08231146102dd578063715018a6146103195761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f5565b60405161016491906122d8565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612396565b610532565b6040516101a091906123ee565b60405180910390f35b3480156101b4575f80fd5b506101bd61054f565b6040516101ca9190612416565b60405180910390f35b3480156101de575f80fd5b506101e7610555565b6040516101f49190612416565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e919061242f565b610578565b60405161023091906123ee565b60405180910390f35b348015610244575f80fd5b5061024d61064c565b60405161025a919061249a565b60405180910390f35b34801561026e575f80fd5b50610289600480360381019061028491906125f3565b610654565b005b348015610296575f80fd5b506102b160048036038101906102ac919061263a565b610772565b6040516102be91906123ee565b60405180910390f35b3480156102d2575f80fd5b506102db6107c4565b005b3480156102e8575f80fd5b5061030360048036038101906102fe919061263a565b61085b565b6040516103109190612416565b60405180910390f35b348015610324575f80fd5b5061032d6108a1565b005b34801561033a575f80fd5b506103436109ef565b005b348015610350575f80fd5b50610359610b1e565b6040516103669190612416565b60405180910390f35b34801561037a575f80fd5b50610383610b24565b6040516103909190612674565b60405180910390f35b3480156103a4575f80fd5b506103ad610b4b565b6040516103ba9190612416565b60405180910390f35b3480156103ce575f80fd5b506103d7610b51565b6040516103e491906122d8565b60405180910390f35b3480156103f8575f80fd5b50610413600480360381019061040e9190612396565b610b8e565b60405161042091906123ee565b60405180910390f35b348015610434575f80fd5b5061043d610bab565b60405161044a9190612416565b60405180910390f35b34801561045e575f80fd5b50610467610bb1565b005b348015610474575f80fd5b5061048f600480360381019061048a91906125f3565b611115565b005b34801561049c575f80fd5b506104b760048036038101906104b2919061268d565b611234565b6040516104c49190612416565b60405180910390f35b3480156104d8575f80fd5b506104f360048036038101906104ee91906126cb565b6112b6565b005b60606040518060400160405280600a81526020017f426c696e64736967687400000000000000000000000000000000000000000000815250905090565b5f61054561053e611342565b8484611349565b6001905092915050565b60115481565b5f6009600a6105649190612852565b63fac03320610573919061289c565b905090565b5f61058484848461150c565b61064184610590611342565b61063c856040518060600160405280602881526020016131b36028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105f3611342565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d3a9092919063ffffffff16565b611349565b600190509392505050565b5f6009905090565b61065c611342565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106df90612927565b60405180910390fd5b5f5b815181101561076e575f60045f84848151811061070a57610709612945565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106ea565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610804611342565b73ffffffffffffffffffffffffffffffffffffffff1614610823575f80fd5b5f61082d3061085b565b90505f8111156108415761084081611d9c565b5b5f4790505f8111156108575761085681612007565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108a9611342565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c90612927565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109f7611342565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7a90612927565b60405180910390fd5b6009600a610a919190612852565b63fac03320610aa0919061289c565b600e819055506009600a610ab49190612852565b63fac03320610ac3919061289c565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610af89190612852565b63fac03320610b07919061289c565b604051610b149190612416565b60405180910390a1565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b60606040518060400160405280600a81526020017f426c696e64736967687400000000000000000000000000000000000000000000815250905090565b5f610ba1610b9a611342565b848461150c565b6001905092915050565b60105481565b610bb9611342565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3c90612927565b60405180910390fd5b601360149054906101000a900460ff1615610c95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8c906129bc565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d1430337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611349565b610d2630610d213361085b565b610b8e565b5060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610db591906129ee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e5f91906129ee565b6040518363ffffffff1660e01b8152600401610e7c929190612a19565b6020604051808303815f875af1158015610e98573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ebc91906129ee565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f473060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611349565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f8f3061085b565b5f80610f99610b24565b426040518863ffffffff1660e01b8152600401610fbb96959493929190612a82565b60606040518083038185885af1158015610fd7573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ffc9190612af5565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161109c929190612b45565b6020604051808303815f875af11580156110b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110dc9190612b96565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b61111d611342565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a090612927565b60405180910390fd5b5f5b815181101561123057600160045f8484815181106111cc576111cb612945565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506111ab565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f6611342565b73ffffffffffffffffffffffffffffffffffffffff1614611315575f80fd5b600854811115801561132957506009548111155b611331575f80fd5b806008819055508060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae90612c31565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141c90612cbf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ff9190612416565b60405180910390a3505050565b5f811161154e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154590612d4d565b60405180910390fd5b5f611557610b24565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156115c55750611595610b24565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611a8a5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611668575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611670575f80fd5b6116ac606461169e600a54600d541161168b5760065461168f565b6008545b8561206f90919063ffffffff16565b6120e690919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611757575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156117aa575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561186457600e548211156117f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117eb90612db5565b60405180910390fd5b600f54826118018561085b565b61180b9190612dd3565b111561184c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184390612e50565b60405180910390fd5b600d5f81548092919061185e90612e6e565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156118ec57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119305761192d606461191f600b54600d541161190c57600754611910565b6009545b8561206f90919063ffffffff16565b6120e690919063ffffffff16565b90505b5f61193a3061085b565b9050601360159054906101000a900460ff161580156119a5575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156119bd5750601360169054906101000a900460ff165b80156119ca575060105481115b80156119d95750600c54600d54115b15611a88576015544311156119f0575f6014819055505b600360145410611a35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2c90612eff565b60405180910390fd5b611a52611a4d84611a488460115461212f565b61212f565b611d9c565b5f4790505f811115611a6857611a6747612007565b5b60145f815480929190611a7a90612e6e565b919050555043601581905550505b505b5f811115611b8957611ae28160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214790919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b809190612416565b60405180910390a35b611bd98260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121a490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611c7c611c3082846121a490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461214790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611d1f84866121a490919063ffffffff16565b604051611d2c9190612416565b60405180910390a350505050565b5f838311158290611d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7891906122d8565b60405180910390fd5b505f8385611d8f9190612f1d565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611dd357611dd26124b7565b5b604051908082528060200260200182016040528015611e015781602001602082028036833780820191505090505b50905030815f81518110611e1857611e17612945565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ebc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ee091906129ee565b81600181518110611ef457611ef3612945565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611f5a3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611349565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611fbc959493929190613007565b5f604051808303815f87803b158015611fd3575f80fd5b505af1158015611fe5573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561206b573d5f803e3d5ffd5b5050565b5f80830361207f575f90506120e0565b5f828461208c919061289c565b905082848261209b919061308c565b146120db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d29061312c565b60405180910390fd5b809150505b92915050565b5f61212783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121ed565b905092915050565b5f81831161213d578261213f565b815b905092915050565b5f8082846121559190612dd3565b90508381101561219a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219190613194565b60405180910390fd5b8091505092915050565b5f6121e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d3a565b905092915050565b5f8083118290612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161222a91906122d8565b60405180910390fd5b505f8385612241919061308c565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561228557808201518184015260208101905061226a565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6122aa8261224e565b6122b48185612258565b93506122c4818560208601612268565b6122cd81612290565b840191505092915050565b5f6020820190508181035f8301526122f081846122a0565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61233282612309565b9050919050565b61234281612328565b811461234c575f80fd5b50565b5f8135905061235d81612339565b92915050565b5f819050919050565b61237581612363565b811461237f575f80fd5b50565b5f813590506123908161236c565b92915050565b5f80604083850312156123ac576123ab612301565b5b5f6123b98582860161234f565b92505060206123ca85828601612382565b9150509250929050565b5f8115159050919050565b6123e8816123d4565b82525050565b5f6020820190506124015f8301846123df565b92915050565b61241081612363565b82525050565b5f6020820190506124295f830184612407565b92915050565b5f805f6060848603121561244657612445612301565b5b5f6124538682870161234f565b93505060206124648682870161234f565b925050604061247586828701612382565b9150509250925092565b5f60ff82169050919050565b6124948161247f565b82525050565b5f6020820190506124ad5f83018461248b565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6124ed82612290565b810181811067ffffffffffffffff8211171561250c5761250b6124b7565b5b80604052505050565b5f61251e6122f8565b905061252a82826124e4565b919050565b5f67ffffffffffffffff821115612549576125486124b7565b5b602082029050602081019050919050565b5f80fd5b5f61257061256b8461252f565b612515565b905080838252602082019050602084028301858111156125935761259261255a565b5b835b818110156125bc57806125a8888261234f565b845260208401935050602081019050612595565b5050509392505050565b5f82601f8301126125da576125d96124b3565b5b81356125ea84826020860161255e565b91505092915050565b5f6020828403121561260857612607612301565b5b5f82013567ffffffffffffffff81111561262557612624612305565b5b612631848285016125c6565b91505092915050565b5f6020828403121561264f5761264e612301565b5b5f61265c8482850161234f565b91505092915050565b61266e81612328565b82525050565b5f6020820190506126875f830184612665565b92915050565b5f80604083850312156126a3576126a2612301565b5b5f6126b08582860161234f565b92505060206126c18582860161234f565b9150509250929050565b5f602082840312156126e0576126df612301565b5b5f6126ed84828501612382565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561277857808604811115612754576127536126f6565b5b60018516156127635780820291505b808102905061277185612723565b9450612738565b94509492505050565b5f82612790576001905061284b565b8161279d575f905061284b565b81600181146127b357600281146127bd576127ec565b600191505061284b565b60ff8411156127cf576127ce6126f6565b5b8360020a9150848211156127e6576127e56126f6565b5b5061284b565b5060208310610133831016604e8410600b84101617156128215782820a90508381111561281c5761281b6126f6565b5b61284b565b61282e848484600161272f565b92509050818404811115612845576128446126f6565b5b81810290505b9392505050565b5f61285c82612363565b91506128678361247f565b92506128947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612781565b905092915050565b5f6128a682612363565b91506128b183612363565b92508282026128bf81612363565b915082820484148315176128d6576128d56126f6565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612911602083612258565b915061291c826128dd565b602082019050919050565b5f6020820190508181035f83015261293e81612905565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6129a6601783612258565b91506129b182612972565b602082019050919050565b5f6020820190508181035f8301526129d38161299a565b9050919050565b5f815190506129e881612339565b92915050565b5f60208284031215612a0357612a02612301565b5b5f612a10848285016129da565b91505092915050565b5f604082019050612a2c5f830185612665565b612a396020830184612665565b9392505050565b5f819050919050565b5f819050919050565b5f612a6c612a67612a6284612a40565b612a49565b612363565b9050919050565b612a7c81612a52565b82525050565b5f60c082019050612a955f830189612665565b612aa26020830188612407565b612aaf6040830187612a73565b612abc6060830186612a73565b612ac96080830185612665565b612ad660a0830184612407565b979650505050505050565b5f81519050612aef8161236c565b92915050565b5f805f60608486031215612b0c57612b0b612301565b5b5f612b1986828701612ae1565b9350506020612b2a86828701612ae1565b9250506040612b3b86828701612ae1565b9150509250925092565b5f604082019050612b585f830185612665565b612b656020830184612407565b9392505050565b612b75816123d4565b8114612b7f575f80fd5b50565b5f81519050612b9081612b6c565b92915050565b5f60208284031215612bab57612baa612301565b5b5f612bb884828501612b82565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612c1b602483612258565b9150612c2682612bc1565b604082019050919050565b5f6020820190508181035f830152612c4881612c0f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ca9602283612258565b9150612cb482612c4f565b604082019050919050565b5f6020820190508181035f830152612cd681612c9d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d37602983612258565b9150612d4282612cdd565b604082019050919050565b5f6020820190508181035f830152612d6481612d2b565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d9f601983612258565b9150612daa82612d6b565b602082019050919050565b5f6020820190508181035f830152612dcc81612d93565b9050919050565b5f612ddd82612363565b9150612de883612363565b9250828201905080821115612e0057612dff6126f6565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612e3a601a83612258565b9150612e4582612e06565b602082019050919050565b5f6020820190508181035f830152612e6781612e2e565b9050919050565b5f612e7882612363565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612eaa57612ea96126f6565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612ee9601783612258565b9150612ef482612eb5565b602082019050919050565b5f6020820190508181035f830152612f1681612edd565b9050919050565b5f612f2782612363565b9150612f3283612363565b9250828203905081811115612f4a57612f496126f6565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f8281612328565b82525050565b5f612f938383612f79565b60208301905092915050565b5f602082019050919050565b5f612fb582612f50565b612fbf8185612f5a565b9350612fca83612f6a565b805f5b83811015612ffa578151612fe18882612f88565b9750612fec83612f9f565b925050600181019050612fcd565b5085935050505092915050565b5f60a08201905061301a5f830188612407565b6130276020830187612a73565b81810360408301526130398186612fab565b90506130486060830185612665565b6130556080830184612407565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61309682612363565b91506130a183612363565b9250826130b1576130b061305f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613116602183612258565b9150613121826130bc565b604082019050919050565b5f6020820190508181035f8301526131438161310a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61317e601b83612258565b91506131898261314a565b602082019050919050565b5f6020820190508181035f8301526131ab81613172565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122025b3210cf764cdc5d18111c53a37ef0b4d2039e17baa421aab345421d1a9e61b64736f6c63430008170033