60806040526b033b2e3c9fd0803ce80000006003553480156200002157600080fd5b5060405162003598380380620035988339810160408190526200004491620006a9565b6000620000596001600160e01b036200016216565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000b7336001600160e01b036200016616565b6002805460ff19169055600380546001600160a01b038316600090815260056020526040812080546001600160601b0319166001600160601b039093169290921790915590546200010b91908390620001b8565b806001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000153919062000741565b60405180910390a35062000802565b3390565b620001818160016200038b60201b62001cac1790919060201c565b6040516001600160a01b038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b816001600160a01b0316836001600160a01b031614158015620001e457506000816001600160601b0316115b1562000386576001600160a01b03831615620002b8576001600160a01b03831660009081526008602052604081205463ffffffff1690816200022857600062000268565b6001600160a01b0385166000908152600760209081526040808320600019860163ffffffff16845290915290205464010000000090046001600160601b03165b905060006200029b82856040518060600160405280602b81526020016200353a602b91396001600160e01b03620003e416565b9050620002b4868484846001600160e01b036200043416565b5050505b6001600160a01b0382161562000386576001600160a01b03821660009081526008602052604081205463ffffffff169081620002f657600062000336565b6001600160a01b0384166000908152600760209081526040808320600019860163ffffffff16845290915290205464010000000090046001600160601b03165b905060006200036982856040518060600160405280602a815260200162003510602a91396001600160e01b03620005f016565b905062000382858484846001600160e01b036200043416565b5050505b505050565b6001600160a01b0381166200039f57600080fd5b620003b482826001600160e01b036200062f16565b15620003bf57600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6000836001600160601b0316836001600160601b031611158290620004275760405162461bcd60e51b81526004016200041e91906200072e565b60405180910390fd5b50508183035b9392505050565b6000620004644360405180606001604052806033815260200162003565603391396001600160e01b036200066916565b905060008463ffffffff16118015620004ae57506001600160a01b038516600090815260076020908152604080832063ffffffff6000198901811685529252909120548282169116145b156200050a576001600160a01b0385166000908152600760209081526040808320600019880163ffffffff16845290915290208054600160201b600160801b0319166401000000006001600160601b03851602179055620005a4565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600783528781208c87168252835287812096518754945190951664010000000002600160201b600160801b031995871663ffffffff19958616179590951694909417909555938252600890935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051620005e192919062000751565b60405180910390a25050505050565b6000838301826001600160601b038087169083161015620006265760405162461bcd60e51b81526004016200041e91906200072e565b50949350505050565b60006001600160a01b0382166200064557600080fd5b506001600160a01b03811660009081526020839052604090205460ff165b92915050565b6000816401000000008410620006945760405162461bcd60e51b81526004016200041e91906200072e565b509192915050565b80516200066381620007e8565b600060208284031215620006bc57600080fd5b6000620006ca84846200069c565b949350505050565b6000620006df8262000770565b620006eb818562000774565b9350620006fd818560208601620007ab565b6200070881620007de565b9093019392505050565b6200071d816200078f565b82525050565b6200071d816200079e565b602080825281016200042d8184620006d2565b6020810162000663828462000712565b6040810162000761828562000723565b6200042d602083018462000723565b5190565b90815260200190565b60006001600160a01b03821662000663565b90565b6001600160601b031690565b6000620006638262000792565b60005b83811015620007c8578181015183820152602001620007ae565b83811115620007d8576000848401525b50505050565b601f01601f191690565b620007f3816200077d565b8114620007ff57600080fd5b50565b612cfe80620008126000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c8063715018a61161011a578063b4b5ea57116100ad578063d660b6511161007c578063d660b651146103f6578063dd62ed3e14610409578063e7a324dc1461041c578063f1127ed814610424578063f2fde38b14610445576101fb565b8063b4b5ea57146103aa578063c3cda520146103bd578063cae9ca51146103d0578063d505accf146103e3576101fb565b80638456cb59116100e95780638456cb591461037f5780638da5cb5b1461038757806395d89b411461038f578063a9059cbb14610397576101fb565b8063715018a614610331578063782d6fe1146103395780637ecebe001461035957806382dc1ec41461036c576101fb565b806342966c68116101925780635c975abb116101615780635c975abb146102ee5780636ef8d66d146102f65780636fcfff45146102fe57806370a082311461031e576101fb565b806342966c681461029557806346fbf68e146102a8578063587cde1e146102bb5780635c19a95c146102db576101fb565b806323b872dd116101ce57806323b872dd1461025b57806330adf81f1461026e578063313ce567146102765780633f4ba83a1461028b576101fb565b806306fdde0314610200578063095ea7b31461021e57806318160ddd1461023e57806320606b7014610253575b600080fd5b610208610458565b60405161021591906127ec565b60405180910390f35b61023161022c366004611f0a565b610484565b60405161021591906126e8565b610246610543565b60405161021591906126f6565b610246610549565b610231610269366004611e21565b610560565b6102466106a8565b61027e6106b4565b60405161021591906128f6565b6102936106b9565b005b6102316102a336600461206a565b61071e565b6102316102b6366004611dc1565b61085f565b6102ce6102c9366004611dc1565b610872565b604051610215919061265f565b6102936102e9366004611dc1565b61088d565b61023161089a565b6102936108a3565b61031161030c366004611dc1565b6108ae565b60405161021591906128cd565b61024661032c366004611dc1565b6108c6565b6102936108ea565b61034c610347366004611f0a565b610969565b6040516102159190612912565b610246610367366004611dc1565b610b77565b61029361037a366004611dc1565b610b89565b610293610ba4565b6102ce610c03565b610208610c12565b6102316103a5366004611f0a565b610c31565b61034c6103b8366004611dc1565b610c7f565b6102936103cb366004611f95565b610cef565b6102316103de366004611f3a565b610ee1565b6102936103f1366004611e6e565b610fdc565b610293610404366004611f0a565b6112be565b610246610417366004611de7565b6113d7565b61024661140b565b61043761043236600461201c565b611417565b6040516102159291906128db565b610293610453366004611dc1565b61144c565b6040518060400160405280601081526020016f13595d1851d85b5a5b99c811dd5a5b1960821b81525081565b60025460009060ff161561049757600080fd5b60006000198314156104ac57506000196104d1565b6104ce83604051806060016040528060248152602001612bad6024913961148a565b90505b3360008181526004602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b0386161790559051909190600080516020612c548339815191529061052f908590612904565b60405180910390a360019150505b92915050565b60035481565b60405161055590612649565b604051809103902081565b60025460009060ff161561057357600080fd5b6001600160a01b03841660009081526004602090815260408083203380855290835281842054825160608101909352602980845291946001600160601b039091169390926105c9928892612b139083013961148a565b9050866001600160a01b0316836001600160a01b0316141580156105f657506001600160601b0382811614155b1561068e57600061062083836040518060600160405280603c8152602001612b3c603c91396114b9565b6001600160a01b038981166000818152600460209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b038616179055519293509091600080516020612c5483398151915290610684908590612904565b60405180910390a3505b6106998787836114f8565b600193505050505b9392505050565b6040516105559061263e565b601281565b6106c23361085f565b6106cb57600080fd5b60025460ff166106da57600080fd5b6002805460ff191690556040517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9061071490339061266d565b60405180910390a1565b60008061074383604051806060016040528060218152602001612bd16021913961148a565b336000908152600560205260409020549091506001600160601b038083169116101561078a5760405162461bcd60e51b81526004016107819061285d565b60405180910390fd5b336000908152600560209081526040918290205482516060810190935260268084526107cc936001600160601b039092169285929190612a97908301396114b9565b33600090815260056020526040902080546001600160601b0319166001600160601b039290921691909117905560035461080690846116a3565b600355610815336000836116e5565b336001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58460405161084e91906126f6565b60405180910390a250600192915050565b600061053d60018363ffffffff61187716565b6006602052600090815260409020546001600160a01b031681565b61089733826118ac565b50565b60025460ff1690565b6108ac33611936565b565b60086020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600560205260409020546001600160601b031690565b6108f261197e565b6000546001600160a01b0390811691161461091f5760405162461bcd60e51b81526004016107819061289d565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600043821061098a5760405162461bcd60e51b8152600401610781906128ad565b6001600160a01b03831660009081526008602052604090205463ffffffff16806109b857600091505061053d565b6001600160a01b038416600090815260076020908152604080832063ffffffff600019860181168552925290912054168310610a34576001600160a01b03841660009081526007602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b0316905061053d565b6001600160a01b038416600090815260076020908152604080832083805290915290205463ffffffff16831015610a6f57600091505061053d565b600060001982015b8163ffffffff168163ffffffff161115610b3257600282820363ffffffff16048103610aa1611d1f565b506001600160a01b038716600090815260076020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610b0d5760200151945061053d9350505050565b805163ffffffff16871115610b2457819350610b2b565b6001820392505b5050610a77565b506001600160a01b038516600090815260076020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60096020526000908152604090205481565b610b923361085f565b610b9b57600080fd5b61089781611982565b610bad3361085f565b610bb657600080fd5b60025460ff1615610bc657600080fd5b6002805460ff191660011790556040517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589061071490339061266d565b6000546001600160a01b031690565b604051806040016040528060038152602001624d474760e81b81525081565b60025460009060ff1615610c4457600080fd5b6000610c6883604051806060016040528060258152602001612c976025913961148a565b9050610c753385836114f8565b5060019392505050565b6001600160a01b03811660009081526008602052604081205463ffffffff1680610caa5760006106a1565b6001600160a01b0383166000908152600760209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03169392505050565b6000604051610cfd90612649565b60408051918290038220828201909152601082526f13595d1851d85b5a5b99c811dd5a5b1960821b6020909201919091527f12717300686a489488a90080f7cc7f090152151e495ab76cbbcbd3c2c220e1b8610d576119ca565b30604051602001610d6b949392919061279c565b6040516020818303038152906040528051906020012090506000604051610d9190612654565b604051908190038120610dac918a908a908a9060200161275e565b60405160208183030381529060405280519060200120905060008282604051602001610dd992919061260d565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610e1694939291906127d1565b6020604051602081039080840390855afa158015610e38573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610e6b5760405162461bcd60e51b81526004016107819061287d565b6001600160a01b03811660009081526009602052604090208054600181019091558914610eaa5760405162461bcd60e51b81526004016107819061283d565b87421115610eca5760405162461bcd60e51b81526004016107819061280d565b610ed4818b6118ac565b505050505b505050505050565b600080610f06846040518060600160405280602b8152602001612ae8602b913961148a565b3360008181526004602090815260408083206001600160a01b038b1680855292529182902080546001600160601b0319166001600160601b038616179055905192935091600080516020612c5483398151915290610f65908590612904565b60405180910390a3604051638f4ffcb160e01b81526001600160a01b03861690638f4ffcb190610f9f903390889030908990600401612696565b600060405180830381600087803b158015610fb957600080fd5b505af1158015610fcd573d6000803e3d6000fd5b50600198975050505050505050565b6000600019861415610ff15750600019611016565b61101386604051806060016040528060238152602001612c746023913961148a565b90505b600060405161102490612649565b60408051918290038220828201909152601082526f13595d1851d85b5a5b99c811dd5a5b1960821b6020909201919091527f12717300686a489488a90080f7cc7f090152151e495ab76cbbcbd3c2c220e1b861107e6119ca565b30604051602001611092949392919061279c565b60405160208183030381529060405280519060200120905060006040516110b89061263e565b604080519182900382206001600160a01b038d166000908152600960209081529290208054600181019091556110fa9391928e928e928e9290918e9101612704565b6040516020818303038152906040528051906020012090506000828260405160200161112792919061260d565b60405160208183030381529060405280519060200120905060006001828989896040516000815260200160405260405161116494939291906127d1565b6020604051602081039080840390855afa158015611186573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166111b95760405162461bcd60e51b8152600401610781906127fd565b8b6001600160a01b0316816001600160a01b0316146111ea5760405162461bcd60e51b81526004016107819061286d565b8842111561120a5760405162461bcd60e51b81526004016107819061284d565b84600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055508a6001600160a01b03168c6001600160a01b0316600080516020612c54833981519152876040516112a89190612904565b60405180910390a3505050505050505050505050565b6112c661197e565b6000546001600160a01b039081169116146112f35760405162461bcd60e51b81526004016107819061289d565b6001600160a01b0382166113195760405162461bcd60e51b81526004016107819061288d565b60405163a9059cbb60e01b81526001600160a01b0383169063a9059cbb90611347903390859060040161267b565b602060405180830381600087803b15801561136157600080fd5b505af1158015611375573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611399919081019061204c565b507f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab7812982826040516113cb9291906126da565b60405180910390a15050565b6001600160a01b0391821660009081526004602090815260408083209390941682529190915220546001600160601b031690565b60405161055590612654565b600760209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b61145461197e565b6000546001600160a01b039081169116146114815760405162461bcd60e51b81526004016107819061289d565b610897816119ce565b600081600160601b84106114b15760405162461bcd60e51b815260040161078191906127ec565b509192915050565b6000836001600160601b0316836001600160601b0316111582906114f05760405162461bcd60e51b815260040161078191906127ec565b505050900390565b6001600160a01b03831661151e5760405162461bcd60e51b8152600401610781906128bd565b6001600160a01b0382166115445760405162461bcd60e51b81526004016107819061281d565b6001600160a01b03831660009081526005602090815260409182902054825160608101909352603580845261158f936001600160601b039092169285929190612b78908301396114b9565b6001600160a01b03848116600090815260056020908152604080832080546001600160601b0319166001600160601b0396871617905592861682529082902054825160608101909352602f8084526115f79491909116928592909190612c2590830139611a4f565b6001600160a01b038381166000818152600560205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611664908590612904565b60405180910390a36001600160a01b0380841660009081526006602052604080822054858416835291205461169e929182169116836116e5565b505050565b60006106a183836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f7700815250611a8b565b816001600160a01b0316836001600160a01b03161415801561171057506000816001600160601b0316115b1561169e576001600160a01b038316156117c8576001600160a01b03831660009081526008602052604081205463ffffffff16908161175057600061178f565b6001600160a01b0385166000908152600760209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b905060006117b682856040518060600160405280602b8152602001612abd602b91396114b9565b90506117c486848484611aaf565b5050505b6001600160a01b0382161561169e576001600160a01b03821660009081526008602052604081205463ffffffff169081611803576000611842565b6001600160a01b0384166000908152600760209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b9050600061186982856040518060600160405280602a8152602001612a6d602a9139611a4f565b9050610ed985848484611aaf565b60006001600160a01b03821661188c57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b03808316600081815260066020818152604080842080546005845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46119308284836116e5565b50505050565b61194760018263ffffffff611c6416565b6040516001600160a01b038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b3390565b61199360018263ffffffff611cac16565b6040516001600160a01b038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b4690565b6001600160a01b0381166119f45760405162461bcd60e51b81526004016107819061282d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000838301826001600160601b038087169083161015611a825760405162461bcd60e51b815260040161078191906127ec565b50949350505050565b600081848411156114f05760405162461bcd60e51b815260040161078191906127ec565b6000611ad343604051806060016040528060338152602001612bf260339139611cf8565b905060008463ffffffff16118015611b1c57506001600160a01b038516600090815260076020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611b7b576001600160a01b0385166000908152600760209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b03851602179055611c1a565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600783528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600890935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051611c55929190612920565b60405180910390a25050505050565b6001600160a01b038116611c7757600080fd5b611c818282611877565b611c8a57600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6001600160a01b038116611cbf57600080fd5b611cc98282611877565b15611cd357600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600081600160201b84106114b15760405162461bcd60e51b815260040161078191906127ec565b604080518082019091526000808252602082015290565b803561053d81612a34565b805161053d81612a48565b803561053d81612a51565b600082601f830112611d6857600080fd5b8135611d7b611d7682612962565b61293b565b91508082526020830160208301858383011115611d9757600080fd5b611da28382846129f2565b50505092915050565b803561053d81612a5a565b803561053d81612a63565b600060208284031215611dd357600080fd5b6000611ddf8484611d36565b949350505050565b60008060408385031215611dfa57600080fd5b6000611e068585611d36565b9250506020611e1785828601611d36565b9150509250929050565b600080600060608486031215611e3657600080fd5b6000611e428686611d36565b9350506020611e5386828701611d36565b9250506040611e6486828701611d4c565b9150509250925092565b600080600080600080600060e0888a031215611e8957600080fd5b6000611e958a8a611d36565b9750506020611ea68a828b01611d36565b9650506040611eb78a828b01611d4c565b9550506060611ec88a828b01611d4c565b9450506080611ed98a828b01611db6565b93505060a0611eea8a828b01611d4c565b92505060c0611efb8a828b01611d4c565b91505092959891949750929550565b60008060408385031215611f1d57600080fd5b6000611f298585611d36565b9250506020611e1785828601611d4c565b600080600060608486031215611f4f57600080fd5b6000611f5b8686611d36565b9350506020611f6c86828701611d4c565b925050604084013567ffffffffffffffff811115611f8957600080fd5b611e6486828701611d57565b60008060008060008060c08789031215611fae57600080fd5b6000611fba8989611d36565b9650506020611fcb89828a01611d4c565b9550506040611fdc89828a01611d4c565b9450506060611fed89828a01611db6565b9350506080611ffe89828a01611d4c565b92505060a061200f89828a01611d4c565b9150509295509295509295565b6000806040838503121561202f57600080fd5b600061203b8585611d36565b9250506020611e1785828601611dab565b60006020828403121561205e57600080fd5b6000611ddf8484611d41565b60006020828403121561207c57600080fd5b6000611ddf8484611d4c565b612091816129d6565b82525050565b6120918161299c565b612091816129a7565b612091816129ac565b6120916120be826129ac565b6129ac565b60006120ce8261298a565b6120d8818561298e565b93506120e88185602086016129fe565b6120f181612a2a565b9093019392505050565b6000612108601e8361298e565b7f4d47473a3a7065726d69743a20696e76616c6964207369676e61747572650000815260200192915050565b600061214160258361298e565b7f4d47473a3a64656c656761746542795369673a207369676e61747572652065788152641c1a5c995960da1b602082015260400192915050565b600061218860398361298e565b7f4d47473a3a5f7472616e73666572546f6b656e733a2063616e6e6f742074726181527f6e7366657220746f20746865207a65726f206164647265737300000000000000602082015260400192915050565b60006121e760268361298e565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206181526564647265737360d01b602082015260400192915050565b600061222f60218361298e565b7f4d47473a3a64656c656761746542795369673a20696e76616c6964206e6f6e638152606560f81b602082015260400192915050565b6000612272600283612997565b61190160f01b815260020192915050565b6000612290601e8361298e565b7f4d47473a3a7065726d69743a207369676e617475726520657870697265640000815260200192915050565b60006122c9601d8361298e565b7f4d47473a3a6275726e3a206e6f7420656e6f7567682062616c616e6365000000815260200192915050565b600061230260198361298e565b7f4d47473a3a7065726d69743a20756e617574686f72697a656400000000000000815260200192915050565b600061233b605283612997565b7f5065726d69742861646472657373206f776e65722c616464726573732073706581527f6e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63656020820152712c75696e7432353620646561646c696e652960701b604082015260520192915050565b60006123b560258361298e565b7f4d47473a3a64656c656761746542795369673a20696e76616c6964207369676e815264617475726560d81b602082015260400192915050565b60006123fc602e8361298e565b7f4d47473a3a72657472696576654c6f7374546f6b656e733a20496e76616c696481526d205f746f6b656e4164647265737360901b602082015260400192915050565b600061244c604383612997565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b60006124b760208361298e565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b60006124f060268361298e565b7f4d47473a3a6765745072696f72566f7465733a206e6f742079657420646574658152651c9b5a5b995960d21b602082015260400192915050565b6000612538603b8361298e565b7f4d47473a3a5f7472616e73666572546f6b656e733a2063616e6e6f742074726181527f6e736665722066726f6d20746865207a65726f20616464726573730000000000602082015260400192915050565b6000612597603a83612997565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0192915050565b612091816129bb565b612091816129c4565b612091816129e7565b612091816129ca565b600061261882612265565b915061262482856120b2565b60208201915061263482846120b2565b5060200192915050565b600061053d8261232e565b600061053d8261243f565b600061053d8261258a565b6020810161053d8284612097565b6020810161053d8284612088565b604081016126898285612088565b6106a160208301846120a9565b608081016126a48287612088565b6126b160208301866120a9565b6126be6040830185612097565b81810360608301526126d081846120c3565b9695505050505050565b604081016126898285612097565b6020810161053d82846120a0565b6020810161053d82846120a9565b60c0810161271282896120a9565b61271f6020830188612097565b61272c6040830187612097565b61273960608301866120a9565b61274660808301856120a9565b61275360a08301846120a9565b979650505050505050565b6080810161276c82876120a9565b6127796020830186612097565b61278660408301856120a9565b61279360608301846120a9565b95945050505050565b608081016127aa82876120a9565b6127b760208301866120a9565b6127c460408301856120a9565b6127936060830184612097565b608081016127df82876120a9565b61277960208301866125f2565b602080825281016106a181846120c3565b6020808252810161053d816120fb565b6020808252810161053d81612134565b6020808252810161053d8161217b565b6020808252810161053d816121da565b6020808252810161053d81612222565b6020808252810161053d81612283565b6020808252810161053d816122bc565b6020808252810161053d816122f5565b6020808252810161053d816123a8565b6020808252810161053d816123ef565b6020808252810161053d816124aa565b6020808252810161053d816124e3565b6020808252810161053d8161252b565b6020810161053d82846125e9565b604081016128e982856125e9565b6106a16020830184612604565b6020810161053d82846125f2565b6020810161053d82846125fb565b6020810161053d8284612604565b6040810161292e82856125fb565b6106a160208301846125fb565b60405181810167ffffffffffffffff8111828210171561295a57600080fd5b604052919050565b600067ffffffffffffffff82111561297957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b919050565b600061053d826129af565b151590565b90565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b6001600160601b031690565b600061053d82600061053d8261299c565b600061053d826129ca565b82818337506000910152565b60005b83811015612a19578181015183820152602001612a01565b838111156119305750506000910152565b601f01601f191690565b612a3d8161299c565b811461089757600080fd5b612a3d816129a7565b612a3d816129ac565b612a3d816129bb565b612a3d816129c456fe4d47473a3a5f6d6f766544656c6567617465733a20766f746520616d6f756e74206f766572666c6f77734d47473a3a6275726e3a206275726e20616d6f756e7420657863656564732062616c616e63654d47473a3a5f6d6f766544656c6567617465733a20766f746520616d6f756e7420756e646572666c6f77734d47473a3a617070726f7665416e6443616c6c3a20616d6f756e74206578636565647320393620626974734d47473a3a7472616e7366657246726f6d3a20616d6f756e74206578636565647320393620626974734d47473a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e63654d47473a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63654d47473a3a617070726f76653a20616d6f756e74206578636565647320393620626974734d47473a3a6275726e3a20616d6f756e74206578636565647320393620626974734d47473a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974734d47473a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77738c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9254d47473a3a7065726d69743a20616d6f756e74206578636565647320393620626974734d47473a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473a365627a7a72315820f55612dac0e09f50606baaf0f9f43953cb4225efa8fba8c1419e31f5d33725ae6c6578706572696d656e74616cf564736f6c634300051000404d47473a3a5f6d6f766544656c6567617465733a20766f746520616d6f756e74206f766572666c6f77734d47473a3a5f6d6f766544656c6567617465733a20766f746520616d6f756e7420756e646572666c6f77734d47473a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974730000000000000000000000003ff9bda6bb59fb87853a25a07764dc241a5ca4eb