{
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x0142F40c25CE1F1177Ed131101FA19217396cB88",
			"source": "SafeDecimalMath",
			"link": "https://etherscan.io/address/0x0142F40c25CE1F1177Ed131101FA19217396cB88",
			"timestamp": "2021-01-15T05:40:43.101Z",
			"txn": "",
			"network": "mainnet"
		},
		"Math": {
			"name": "Math",
			"address": "0x0B3A73EE0740b3130e40B2A6b5aaf59E7E3Ef74c",
			"source": "Math",
			"link": "https://etherscan.io/address/0x0B3A73EE0740b3130e40B2A6b5aaf59E7E3Ef74c",
			"timestamp": "2021-01-15T05:40:44.427Z",
			"txn": "",
			"network": "mainnet"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x95A6a3f44a70172E7d50a9e28c85Dfd712756B8C",
			"source": "AddressResolver",
			"link": "https://etherscan.io/address/0x95A6a3f44a70172E7d50a9e28c85Dfd712756B8C",
			"timestamp": "2021-01-15T05:40:45.820Z",
			"txn": "",
			"network": "mainnet"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x1Cb059b7e74fD21665968C908806143E744D5F30",
			"source": "ReadProxy",
			"link": "https://etherscan.io/address/0x1Cb059b7e74fD21665968C908806143E744D5F30",
			"timestamp": "2021-01-15T05:40:47.164Z",
			"txn": "",
			"network": "mainnet"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0x47649022380d182DA8010Ae5d257fea4227b21ff",
			"source": "FlexibleStorage",
			"link": "https://etherscan.io/address/0x47649022380d182DA8010Ae5d257fea4227b21ff",
			"timestamp": "2021-01-15T05:40:50.897Z",
			"txn": "",
			"network": "mainnet"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0x8454190C164e52664Af2c9C24ab58c4e14D6bbE4",
			"source": "SystemSettings",
			"link": "https://etherscan.io/address/0x8454190C164e52664Af2c9C24ab58c4e14D6bbE4",
			"timestamp": "2021-01-15T05:40:52.990Z",
			"txn": "",
			"network": "mainnet"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0x357b58E0b1Be9d8A944380048fa1080c57c7A362",
			"source": "SystemStatus",
			"link": "https://etherscan.io/address/0x357b58E0b1Be9d8A944380048fa1080c57c7A362",
			"timestamp": "2021-01-15T05:40:54.610Z",
			"txn": "",
			"network": "mainnet"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64",
			"source": "ExchangeRatesWithoutInvPricing",
			"link": "https://etherscan.io/address/0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64",
			"timestamp": "2021-01-15T05:40:57.042Z",
			"txn": "",
			"network": "mainnet"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0xd32138018210edA0028240638f35b70ECC0D8C22",
			"source": "RewardEscrow",
			"link": "https://etherscan.io/address/0xd32138018210edA0028240638f35b70ECC0D8C22",
			"timestamp": "2021-01-15T05:40:59.117Z",
			"txn": "",
			"network": "mainnet"
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0x47eE58801C1AC44e54FF2651aE50525c5cfc66d0",
			"source": "ImportableRewardEscrowV2",
			"link": "https://etherscan.io/address/0x47eE58801C1AC44e54FF2651aE50525c5cfc66d0",
			"timestamp": "2021-01-15T05:41:01.548Z",
			"txn": "",
			"network": "mainnet"
		},
		"PeriFinanceEscrow": {
			"name": "PeriFinanceEscrow",
			"address": "0x06C6D063896ac733673c4474E44d9268f2402A55",
			"source": "PeriFinanceEscrow",
			"link": "https://etherscan.io/address/0x06C6D063896ac733673c4474E44d9268f2402A55",
			"timestamp": "2021-01-15T05:41:03.357Z",
			"txn": "",
			"network": "mainnet"
		},
		"PeriFinanceState": {
			"name": "PeriFinanceState",
			"address": "0x9770239D49Db97E77fc5Adcb5413654C9e45A510",
			"source": "PeriFinanceStateWithLimitedSetup",
			"link": "https://etherscan.io/address/0x9770239D49Db97E77fc5Adcb5413654C9e45A510",
			"timestamp": "2021-01-17T03:23:18.386Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0x4a16A42407AA491564643E1dfc1fd50af29794eF",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0x4a16A42407AA491564643E1dfc1fd50af29794eF",
			"timestamp": "2021-01-15T05:41:06.241Z",
			"txn": "",
			"network": "mainnet"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0x02f7fB66B55e6ca476d126d96f14c5732Eeb4363",
			"source": "EternalStorage",
			"link": "https://etherscan.io/address/0x02f7fB66B55e6ca476d126d96f14c5732Eeb4363",
			"timestamp": "2021-01-15T05:41:08.129Z",
			"txn": "",
			"network": "mainnet"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x2A23bc0EA97A89abD91214E8e4d20F02Fe14743f",
			"source": "DelegateApprovals",
			"link": "https://etherscan.io/address/0x2A23bc0EA97A89abD91214E8e4d20F02Fe14743f",
			"timestamp": "2021-01-15T05:41:09.484Z",
			"txn": "",
			"network": "mainnet"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0x14E6f8e6Da00a32C069b11b64e48EA1FEF2361D4",
			"source": "Liquidations",
			"link": "https://etherscan.io/address/0x14E6f8e6Da00a32C069b11b64e48EA1FEF2361D4",
			"timestamp": "2021-01-15T05:41:12.472Z",
			"txn": "",
			"network": "mainnet"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x76d2de36936005A0182a1BB61dA501A8A044D477",
			"source": "EternalStorage",
			"link": "https://etherscan.io/address/0x76d2de36936005A0182a1BB61dA501A8A044D477",
			"timestamp": "2021-01-15T05:41:14.302Z",
			"txn": "",
			"network": "mainnet"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0x41140Bf6498a36f2E44eFd49f21dAe3bbb7367c8",
			"source": "FeePoolEternalStorage",
			"link": "https://etherscan.io/address/0x41140Bf6498a36f2E44eFd49f21dAe3bbb7367c8",
			"timestamp": "2021-01-15T05:41:16.528Z",
			"txn": "",
			"network": "mainnet"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0xF950a48E9463a13b13D75F452200E711c1c426b6",
			"source": "FeePool",
			"link": "https://etherscan.io/address/0xF950a48E9463a13b13D75F452200E711c1c426b6",
			"timestamp": "2021-01-17T03:23:19.758Z",
			"txn": "",
			"network": "mainnet"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x6e0d26cffc3a63d763F1546f749bf62ebC7d72D8",
			"source": "FeePoolState",
			"link": "https://etherscan.io/address/0x6e0d26cffc3a63d763F1546f749bf62ebC7d72D8",
			"timestamp": "2021-01-17T03:23:21.273Z",
			"txn": "",
			"network": "mainnet"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0x5d9187630E99dBce4BcAB8733B76757f7F44aA2e",
			"source": "RewardsDistribution",
			"link": "https://etherscan.io/address/0x5d9187630E99dBce4BcAB8733B76757f7F44aA2e",
			"timestamp": "2021-01-15T05:41:25.252Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x8700dAec35aF8Ff88c16BdF0418774CB3D7599B4",
			"timestamp": "2021-01-15T05:41:26.674Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatePeriFinance": {
			"name": "TokenStatePeriFinance",
			"address": "0xB9c6CA25452E7f6D0D3340CE1e9B573421afc2eE",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xB9c6CA25452E7f6D0D3340CE1e9B573421afc2eE",
			"timestamp": "2021-01-15T05:41:28.112Z",
			"txn": "",
			"network": "mainnet"
		},
		"PeriFinance": {
			"name": "PeriFinance",
			"address": "0xD85eAFa37734E4ad237C3A3443D64DC94ae998E7",
			"source": "MintablePeriFinance",
			"link": "https://etherscan.io/address/0xD85eAFa37734E4ad237C3A3443D64DC94ae998E7",
			"timestamp": "2021-01-15T05:41:30.256Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyPeriFinance": {
			"name": "ProxyPeriFinance",
			"address": "0x218067172e9E0460A883458D44BD1f56ea609502",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0x218067172e9E0460A883458D44BD1f56ea609502",
			"timestamp": "2021-01-15T05:41:32.973Z",
			"txn": "",
			"network": "mainnet"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0x5A528e35165e19f3392c9631243dd04d1229D324",
			"source": "RealtimeDebtCache",
			"link": "https://etherscan.io/address/0x5A528e35165e19f3392c9631243dd04d1229D324",
			"timestamp": "2021-01-15T05:41:36.130Z",
			"txn": "",
			"network": "mainnet"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0xe318E4618E5684668992935d7231Cb837a44E670",
			"source": "Exchanger",
			"link": "https://etherscan.io/address/0xe318E4618E5684668992935d7231Cb837a44E670",
			"timestamp": "2021-01-15T05:41:38.867Z",
			"txn": "",
			"network": "mainnet"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0x7EF87c14f50CFFe2e73d2C87916C3128c56593A8",
			"source": "ExchangeState",
			"link": "https://etherscan.io/address/0x7EF87c14f50CFFe2e73d2C87916C3128c56593A8",
			"timestamp": "2021-01-15T05:41:40.250Z",
			"txn": "",
			"network": "mainnet"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x8377b25B8564f6Be579865639776c5082CB37163",
			"source": "IssuerWithoutLiquidations",
			"link": "https://etherscan.io/address/0x8377b25B8564f6Be579865639776c5082CB37163",
			"timestamp": "2021-01-15T05:41:51.372Z",
			"txn": "",
			"network": "mainnet"
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x2DcAD1A019fba8301b77810Ae14007cc88ED004B",
			"source": "TradingRewards",
			"link": "https://etherscan.io/address/0x2DcAD1A019fba8301b77810Ae14007cc88ED004B",
			"timestamp": "2021-01-15T05:41:53.303Z",
			"txn": "",
			"network": "mainnet"
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0xcdb7D0a946223255d39A6e29B54f08f3291cc118",
			"source": "EscrowChecker",
			"link": "https://etherscan.io/address/0xcdb7D0a946223255d39A6e29B54f08f3291cc118",
			"timestamp": "2021-01-15T05:41:56.647Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepUSD": {
			"name": "TokenStatepUSD",
			"address": "0x92bAc115d89cA17fd02Ed9357CEcA32842ACB4c2",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x92bAc115d89cA17fd02Ed9357CEcA32842ACB4c2",
			"timestamp": "2021-01-15T05:42:03.802Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypUSD": {
			"name": "ProxypUSD",
			"address": "0xbecc58c6D7Ca71b6FCC4cC8c9c5294A0eA7A0397",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0xbecc58c6D7Ca71b6FCC4cC8c9c5294A0eA7A0397",
			"timestamp": "2021-01-15T05:42:05.158Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyERC20pUSD": {
			"name": "ProxyERC20pUSD",
			"address": "0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x8c6f28f2F1A3C87F0f938b96d27520d9751ec8d9",
			"timestamp": "2021-01-15T05:42:06.522Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpUSD": {
			"name": "PynthpUSD",
			"address": "0xF2FF43DA7B6e5963059b7004df43b5c5870EEb18",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xF2FF43DA7B6e5963059b7004df43b5c5870EEb18",
			"timestamp": "2021-01-15T05:42:08.403Z",
			"txn": "",
			"network": "mainnet"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0xC8E91c926E04BE1cb94e51c5379d14774D51ae6C",
			"source": "EmptyEtherCollateral",
			"link": "https://etherscan.io/address/0xC8E91c926E04BE1cb94e51c5379d14774D51ae6C",
			"timestamp": "2021-01-15T05:42:13.462Z",
			"txn": "",
			"network": "mainnet"
		},
		"EtherCollateralpUSD": {
			"name": "EtherCollateralpUSD",
			"address": "0xC0c66470E766AE2026E6695966C56C90741811AA",
			"source": "EmptyEtherCollateral",
			"link": "https://etherscan.io/address/0xC0c66470E766AE2026E6695966C56C90741811AA",
			"timestamp": "2021-01-15T05:42:14.826Z",
			"txn": "",
			"network": "mainnet"
		},
		"PeriFinanceBridgeToBase": {
			"name": "PeriFinanceBridgeToBase",
			"address": "0x4D7186818daBFe88bD80421656BbD07Dffc979Cc",
			"source": "PeriFinanceBridgeToBase",
			"link": "https://etherscan.io/address/0x4D7186818daBFe88bD80421656BbD07Dffc979Cc",
			"timestamp": "2021-01-15T05:42:16.675Z",
			"txn": "",
			"network": "mainnet"
		},
		"CollateralManager": {
			"name": "CollateralManager",
			"address": "0x70B21B422Dade467659522892A857F0Ee31cebb4",
			"source": "EmptyCollateralManager",
			"link": "https://etherscan.io/address/0x70B21B422Dade467659522892A857F0Ee31cebb4",
			"timestamp": "2021-01-15T05:42:18.053Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthUtil": {
			"name": "PynthUtil",
			"address": "0x87b1481c82913301Fc6c884Ac266a7c430F92cFA",
			"source": "PynthUtil",
			"link": "https://etherscan.io/address/0x87b1481c82913301Fc6c884Ac266a7c430F92cFA",
			"timestamp": "2021-01-15T05:42:19.657Z",
			"txn": "",
			"network": "mainnet"
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0x54581A23F62D147AC76d454f0b3eF77F9D766058",
			"source": "DappMaintenance",
			"link": "https://etherscan.io/address/0x54581A23F62D147AC76d454f0b3eF77F9D766058",
			"timestamp": "2021-01-15T05:42:21.010Z",
			"txn": "",
			"network": "mainnet"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "6101d761007e600b82828239805160001a60731461001957fe5b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561006f57600082820152602001610058565b505050600052607381538281f3fe7300000000000000000000000000000000000000005a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561006a57600082820152602001610053565b505050146080604052600436106100c45760003560e01c8063313ce567146100d2578063864029e7146100f0578063907af6c01461010a5780639d8e217714610112578063d5e5e6e61461011a578063def4419d14610122575b6000806100cf61016c565b50505b6100da61012a565b60405160ff909116815260200160405180910390f35b6100f861012f565b60405190815260200160405180910390f35b6100f861013f565b6100f861014b565b6100f8610157565b6100da610167565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b81565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156101a4578086015182820160400152602001610189565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b50505056",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x864029e7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdef4419d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xd5e5e6e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x907af6c0"
				}
			],
			"source": {
				"keccak256": "0x8406c1c67896f334676cfedd96a31eb55c23f1e9d4153de30bfc5eddfa22c0b5",
				"urls": [
					"bzz-raw://76b301b161758599aedd2587a00c4a18cd5d24e96ab32f8f18dbbca1e12b8462",
					"dweb:/ipfs/QmQVauoKVbSHNWNshoZkWxMePWPZACGVoxA1v2GsggnZVB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0x8406c1c67896f334676cfedd96a31eb55c23f1e9d4153de30bfc5eddfa22c0b5",
						"urls": [
							"bzz-raw://76b301b161758599aedd2587a00c4a18cd5d24e96ab32f8f18dbbca1e12b8462",
							"dweb:/ipfs/QmQVauoKVbSHNWNshoZkWxMePWPZACGVoxA1v2GsggnZVB"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60e661007d600b82828239805160001a60731461001857fe5b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561006e57600082820152602001610057565b505050600052607381538281f3fe7300000000000000000000000000000000000000005a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156068576000828201526020016053565b505050146080604052600080607a607d565b50505b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101560b3578086015182820160400152602001609a565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b50505056",
			"abi": [],
			"source": {
				"keccak256": "0xc39ebf28d65885b91f0900eea387e002381d098c5ed65d4b3eb57b2413edec03",
				"urls": [
					"bzz-raw://7f4b7bcbc524c892fa636e5bfb73e8b3cec42c5c74839ed887976297ce234e3c",
					"dweb:/ipfs/QmWoXRPKhngyz5i2iXdBHZURg6zDQRX3PoS7ts8D1gjpnr"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Math.sol": "Math"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Math.sol": {
						"keccak256": "0xc39ebf28d65885b91f0900eea387e002381d098c5ed65d4b3eb57b2413edec03",
						"urls": [
							"bzz-raw://7f4b7bcbc524c892fa636e5bfb73e8b3cec42c5c74839ed887976297ce234e3c",
							"dweb:/ipfs/QmWoXRPKhngyz5i2iXdBHZURg6zDQRX3PoS7ts8D1gjpnr"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "60806040523480156200001c576000806200001962000145565b50505b506040516200124938038062001249833981810160405260208110156200004d576000806200004a62000145565b50505b8101908080519250829150506001600160a01b038116620000bf5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000bc62000145565b50505b806000600181620000cf620001b2565b816001600160a01b0302191690836001600160a01b0316021790620000f362000214565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505062000263565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200017f57808601518282016040015260200162000162565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200020f57600082820152602001620001f6565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620001f6565b610fd680620002736000396000f3fe608060405234801561001957600080610016610c18565b50505b50600436106100b25760003560e01c8063766f78151161007a578063766f78151461018757806379ba5097146102195780638da5cb5b146102215780639f42102f14610229578063ab0b8f771461033a578063dacb2d0114610437576100b2565b80631627540c146100c0578063187f7935146100f157806321f8a72114610133578063514560611461015957806353a47bb71461017f575b6000806100bd610c18565b50505b6100ef600480360360208110156100df576000806100dc610c18565b50505b50356001600160a01b03166104d0565b005b610117600480360360208110156101105760008061010d610c18565b50505b503561054a565b6040516001600160a01b03909116815260200160405180910390f35b610117600480360360208110156101525760008061014f610c18565b50505b5035610577565b6101176004803603602081101561017857600080610175610c18565b50505b50356105a7565b6101176106e8565b6100ef600480360360208110156101a6576000806101a3610c18565b50505b810190602081018135600160201b8111156101c9576000806101c6610c18565b50505b8201836020820111156101e4576000806101e1610c18565b50505b803590602001918460208302840111600160201b8311171561020e5760008061020b610c18565b50505b5090925090506106f4565b6100ef6107a4565b610117610922565b6103266004803603604081101561024857600080610245610c18565b50505b810190602081018135600160201b81111561026b57600080610268610c18565b50505b82018360208201111561028657600080610283610c18565b50505b803590602001918460208302840111600160201b831117156102b0576000806102ad610c18565b50505b919390929091602081019035600160201b8111156102d6576000806102d3610c18565b50505b8201836020820111156102f1576000806102ee610c18565b50505b803590602001918460208302840111600160201b8311171561031b57600080610318610c18565b50505b50909250905061092d565b604051901515815260200160405180910390f35b6100ef6004803603604081101561035957600080610356610c18565b50505b810190602081018135600160201b81111561037c57600080610379610c18565b50505b82018360208201111561039757600080610394610c18565b50505b803590602001918460208302840111600160201b831117156103c1576000806103be610c18565b50505b919390929091602081019035600160201b8111156103e7576000806103e4610c18565b50505b820183602082011115610402576000806103ff610c18565b50505b803590602001918460208302840111600160201b8311171561042c57600080610429610c18565b50505b5090925090506109cc565b6101176004803603604081101561045657600080610453610c18565b50505b81359190810190604081016020820135600160201b8111156104805760008061047d610c18565b50505b82018360208201111561049b57600080610498610c18565b50505b803590602001918460018302840111600160201b831117156104c5576000806104c2610c18565b50505b509092509050610b0a565b6104d8610b9b565b80600180806104e5610c83565b816001600160a01b0302191690836001600160a01b0316021790610507610cde565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600260205280600052604060002060009150610564610c83565b906101000a90046001600160a01b031681565b6000818152600260205260408120600090610590610c83565b906101000a90046001600160a01b03169050919050565b6524b9b9bab2b960d11b6000908152600260205280604081206000906105cb610c83565b6001600160a01b036101009290920a9004169050806106395760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015260640160405180910390610636610c18565b50505b806001600160a01b03166332608039846040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061067b610d2c565b1580156106905760008061068d610c18565b50505b505a61069a610d78565b50505050501580156106b9573d6000803e3d60006106b6610c18565b50505b505050506040513d60208110156106d8576000806106d5610c18565b50505b8101908080519695505050505050565b60006001610564610c83565b60005b8181101561079f5782828281811061070b57fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b815260040160006040518083038160008780610750610d2c565b15801561076557600080610762610c18565b50505b505a61076f610e65565b50505050505015801561078f573d6000803e3d600061078c610c18565b50505b5050600190920191506106f79050565b505050565b600060016107b0610c83565b906101000a90046001600160a01b03166001600160a01b03165a6107d2610f2b565b6001600160a01b0316146108205760405162461bcd60e51b8152600401808060200182810382526035815260200180610f72603591396040019150506040518091039061081d610c18565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061084c610c83565b906101000a90046001600160a01b03166001600090610869610c83565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016108a8610c83565b906101000a90046001600160a01b03166000806101000a816108c8610c83565b816001600160a01b0302191690836001600160a01b03160217906108ea610cde565b5050506000600160006101000a81610900610c83565b816001600160a01b0302191690836001600160a01b031602179061079f610cde565b600080610564610c83565b6000805b848110156109be5783838281811061094557fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061096e57fe5b90506020020135815260200190815260200160002060009061098e610c83565b906101000a90046001600160a01b03166001600160a01b0316146109b65760009150506109c4565b600101610931565b50600190505b949350505050565b6109d4610b9b565b828114610a305760405162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015260640160405180910390610a2d610c18565b50505b60005b83811015610b03576000858583818110610a4957fe5b9050602002013590506000848484818110610a6057fe5b905060200201356001600160a01b031690508060026000848152602001908152602001600020600181610a91610c83565b816001600160a01b0302191690836001600160a01b0316021790610ab3610cde565b5050507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9182826040519182526001600160a01b031660208201526040908101905180910390a15050600101610a33565b5050505050565b600083815260026020528060408120600090610b24610c83565b6001600160a01b036101009290920a9004169050838382610b905760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152601f01601f19169091019450604093505050505180910390610b8d610c18565b50505b509095945050505050565b600080610ba6610c83565b906101000a90046001600160a01b03166001600160a01b03165a610bc8610f2b565b6001600160a01b031614610c165760405162461bcd60e51b815260040180806020018281038252602f815260200180610fa7602f913960400191505060405180910390610c13610c18565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610c50578086015182820160400152602001610c35565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561079f57600082820152602001610cc7565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610cc7565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610cc7565b638540661f598160e01b8152610dab565b8080831115610d955750815b92915050565b8080831015610d95575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015610de3578088015182820152602001610dcb565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059610e388d3d610d9b565b8c01610e448187610d89565b5b82811015610e595760008152602001610e45565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015610ea9578089015182820152602001610e91565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059610efe8e3d610d9b565b8d01610f0a8187610d89565b5b82811015610f1f5760008152602001610f0b565b50929d50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610cc756fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "AddressImported",
					"type": "event",
					"signature": "0xefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa91"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "areAddressesImported",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f42102f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						}
					],
					"name": "getAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f8a721"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"name": "getPynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x51456061"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab0b8f77"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract MixinResolver[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "rebuildCaches",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x766f7815"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "repository",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x187f7935"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "reason",
							"type": "string"
						}
					],
					"name": "requireAndGetAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdacb2d01"
				}
			],
			"source": {
				"keccak256": "0xccde4273f5b8b687e3af99e7a3b58a2cf73611a3a8c76e5e283ea5277cb16d72",
				"urls": [
					"bzz-raw://66b49e0945a9d1becb4e02bfbbd16ebd1df13aa640bef7219b3d1450e70a4c3b",
					"dweb:/ipfs/QmRcxCGhAjDmzvj8GkFDCfGMHrT2jJL945zqYuVKo48W7B"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"AddressResolver.sol": "AddressResolver"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"AddressResolver.sol": {
						"keccak256": "0xccde4273f5b8b687e3af99e7a3b58a2cf73611a3a8c76e5e283ea5277cb16d72",
						"urls": [
							"bzz-raw://66b49e0945a9d1becb4e02bfbbd16ebd1df13aa640bef7219b3d1450e70a4c3b",
							"dweb:/ipfs/QmRcxCGhAjDmzvj8GkFDCfGMHrT2jJL945zqYuVKo48W7B"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001957600080610016610135565b50505b506040516109973803806109978339818101604052602081101561004557600080610042610135565b50505b8101908080519250829150506001600160a01b0381166100b45760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906100b1610135565b50505b8060006001816100c26101a0565b816001600160a01b0302191690836001600160a01b03160217906100e4610200565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505061024e565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561016d578086015182820160400152602001610152565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156101fb576000828201526020016101e4565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206101e4565b61073a8061025d6000396000f3fe60806040523480156100195760008061001661048e565b50505b506004361061006b5760003560e01c80631627540c146100ab57806353a47bb7146100dc578063776d1a011461010057806379ba50971461012f5780638da5cb5b14610137578063d4b839921461013f575b366000803760008036600060026100806104f9565b5a610089610554565b50505050503d6000803e806100a6573d60006100a361048e565b50505b3d6000f35b6100da600480360360208110156100ca576000806100c761048e565b50505b50356001600160a01b0316610147565b005b6100e46101c1565b6040516001600160a01b03909116815260200160405180910390f35b6100da6004803603602081101561011f5760008061011c61048e565b50505b50356001600160a01b03166101e0565b6100da610277565b6100e46103fa565b6100e4610405565b61014f610411565b806001808061015c6104f9565b816001600160a01b0302191690836001600160a01b031602179061017e610641565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600060016101cd6104f9565b906101000a90046001600160a01b031681565b6101e8610411565b8060026001816101f66104f9565b816001600160a01b0302191690836001600160a01b0316021790610218610641565b5050507f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e60026000906102496104f9565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a150565b600060016102836104f9565b906101000a90046001600160a01b03166001600160a01b03165a6102a561068f565b6001600160a01b0316146102f35760405162461bcd60e51b81526004018080602001828103825260358152602001806106d660359139604001915050604051809103906102f061048e565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061031f6104f9565b906101000a90046001600160a01b0316600160009061033c6104f9565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161037b6104f9565b906101000a90046001600160a01b03166000806101000a8161039b6104f9565b816001600160a01b0302191690836001600160a01b03160217906103bd610641565b5050506000600160006101000a816103d36104f9565b816001600160a01b0302191690836001600160a01b03160217906103f5610641565b505050565b6000806101cd6104f9565b600060026101cd6104f9565b60008061041c6104f9565b906101000a90046001600160a01b03166001600160a01b03165a61043e61068f565b6001600160a01b03161461048c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061070b602f91396040019150506040518091039061048961048e565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156104c65780860151828201604001526020016104ab565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156103f55760008282015260200161053d565b638540661f598160e01b8152610587565b80808311156105715750815b92915050565b8080831015610571575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156105bf5780880151828201526020016105a7565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596106148d3d610577565b8c016106208187610565565b5b828110156106355760008152602001610621565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602061053d565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061053d56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0x0f47492c2ef0af7c5585141508c53024190f06b5c526430caca1cc91fac188a5",
				"urls": [
					"bzz-raw://2a5b99fc53091d9b5188ac0be8bde3ff6f3d5f0159cee894be2c3f547169f186",
					"dweb:/ipfs/QmUHzChcTasUbfR2ESxmCB32zjWYkgrjPvbzComYPJaJ1C"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0x0f47492c2ef0af7c5585141508c53024190f06b5c526430caca1cc91fac188a5",
						"urls": [
							"bzz-raw://2a5b99fc53091d9b5188ac0be8bde3ff6f3d5f0159cee894be2c3f547169f186",
							"dweb:/ipfs/QmUHzChcTasUbfR2ESxmCB32zjWYkgrjPvbzComYPJaJ1C"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "60806040523480156200001c576000806200001962000099565b50505b506040516200374b3803806200374b833981810160405260208110156200004d576000806200004a62000099565b50505b810190808051925082915081905060006001816200006a62000106565b816001600160a01b0302191690836001600160a01b03160217906200008e62000168565b5050505050620001b7565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620000d3578086015182820160400152602001620000b6565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000163576000828201526020016200014a565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200014a565b61358480620001c76000396000f3fe608060405234801561001957600080610016613231565b50505b50600436106101cc5760003560e01c80638ca0adaf11610102578063c89eb562116100a0578063d994502d1161007a578063d994502d14610c05578063f7833c5d14610c45578063f9c39d2f14610c71578063fdfc4c1314610d75576101cc565b8063c89eb56214610aa9578063d658d2e914610bad578063d71a9b0114610bd3576101cc565b8063ab15985d116100dc578063ab15985d14610847578063b67fa7ed1461094b578063c13a2b0c146109e4578063c4f610ed14610a7d576101cc565b80638ca0adaf146107565780638f6b95a3146107ef5780639ee5955a1461081b576101cc565b806335ab27081161016f5780634dca0978116101495780634dca09781461062a5780635bda91e2146106655780636a59e495146106995780638408a5e5146106bd576101cc565b806335ab2708146104c65780633bd6ad89146104f25780633f28a6fc146105f6576101cc565b80631625e3ef116101ab5780631625e3ef146103fe57806318f662ed1461042a5780631d5b277f1461045657806323257c2b14610488576101cc565b80624b62d6146101da57806303cdc0171461020e578063142a391e14610312575b6000806101d7613231565b50505b61020c600480360360608110156101f9576000806101f6613231565b50505b5080359060208101359060400135610da1565b005b61020c6004803603606081101561022d5760008061022a613231565b50505b81359190810190604081016020820135600160201b81111561025757600080610254613231565b50505b8201836020820111156102725760008061026f613231565b50505b803590602001918460208302840111600160201b8311171561029c57600080610299613231565b50505b919390929091602081019035600160201b8111156102c2576000806102bf613231565b50505b8201836020820111156102dd576000806102da613231565b50505b803590602001918460208302840111600160201b8311171561030757600080610304613231565b50505b509092509050610ef3565b6103ab600480360360408110156103315760008061032e613231565b50505b81359190810190604081016020820135600160201b81111561035b57600080610358613231565b50505b82018360208201111561037657600080610373613231565b50505b803590602001918460208302840111600160201b831117156103a05760008061039d613231565b50505b5090925090506110c9565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156103ea5780820151838201526020016103d2565b505050509050019250505060405180910390f35b61020c6004803603604081101561041d5760008061041a613231565b50505b5080359060200135611184565b61020c6004803603604081101561044957600080610446613231565b50505b50803590602001356113b3565b61020c6004803603606081101561047557600080610472613231565b50505b50803590602081013590604001356115bb565b6104b4600480360360408110156104a7576000806104a4613231565b50505b5080359060200135611706565b60405190815260200160405180910390f35b61020c600480360360408110156104e5576000806104e2613231565b50505b508035906020013561174d565b61020c600480360360608110156105115760008061050e613231565b50505b81359190810190604081016020820135600160201b81111561053b57600080610538613231565b50505b82018360208201111561055657600080610553613231565b50505b803590602001918460208302840111600160201b831117156105805760008061057d613231565b50505b919390929091602081019035600160201b8111156105a6576000806105a3613231565b50505b8201836020820111156105c1576000806105be613231565b50505b803590602001918460208302840111600160201b831117156105eb576000806105e8613231565b50505b50909250905061192d565b61020c6004803603606081101561061557600080610612613231565b50505b50803590602081013590604001351515611b02565b61020c6004803603606081101561064957600080610646613231565b50505b50803590602081013590604001356001600160a01b0316611c4d565b61020c6004803603606081101561068457600080610681613231565b50505b50803590602081013590604001351515611d98565b6106a1611fec565b6040516001600160a01b03909116815260200160405180910390f35b6103ab600480360360408110156106dc576000806106d9613231565b50505b81359190810190604081016020820135600160201b81111561070657600080610703613231565b50505b8201836020820111156107215760008061071e613231565b50505b803590602001918460208302840111600160201b8311171561074b57600080610748613231565b50505b50909250905061200a565b6103ab6004803603604081101561077557600080610772613231565b50505b81359190810190604081016020820135600160201b81111561079f5760008061079c613231565b50505b8201836020820111156107ba576000806107b7613231565b50505b803590602001918460208302840111600160201b831117156107e4576000806107e1613231565b50505b5090925090506120ba565b61020c6004803603604081101561080e5760008061080b613231565b50505b508035906020013561218a565b6106a16004803603604081101561083a57600080610837613231565b50505b50803590602001356123c3565b61020c6004803603606081101561086657600080610863613231565b50505b81359190810190604081016020820135600160201b8111156108905760008061088d613231565b50505b8201836020820111156108ab576000806108a8613231565b50505b803590602001918460208302840111600160201b831117156108d5576000806108d2613231565b50505b919390929091602081019035600160201b8111156108fb576000806108f8613231565b50505b82018360208201111561091657600080610913613231565b50505b803590602001918460208302840111600160201b831117156109405760008061093d613231565b50505b50909250905061241c565b6103ab6004803603604081101561096a57600080610967613231565b50505b81359190810190604081016020820135600160201b81111561099457600080610991613231565b50505b8201836020820111156109af576000806109ac613231565b50505b803590602001918460208302840111600160201b831117156109d9576000806109d6613231565b50505b5090925090506125e8565b6103ab60048036036040811015610a0357600080610a00613231565b50505b81359190810190604081016020820135600160201b811115610a2d57600080610a2a613231565b50505b820183602082011115610a4857600080610a45613231565b50505b803590602001918460208302840111600160201b83111715610a7257600080610a6f613231565b50505b509092509050612698565b6104b460048036036040811015610a9c57600080610a99613231565b50505b508035906020013561275a565b61020c60048036036060811015610ac857600080610ac5613231565b50505b81359190810190604081016020820135600160201b811115610af257600080610aef613231565b50505b820183602082011115610b0d57600080610b0a613231565b50505b803590602001918460208302840111600160201b83111715610b3757600080610b34613231565b50505b919390929091602081019035600160201b811115610b5d57600080610b5a613231565b50505b820183602082011115610b7857600080610b75613231565b50505b803590602001918460208302840111600160201b83111715610ba257600080610b9f613231565b50505b509092509050612773565b6104b460048036036020811015610bcc57600080610bc9613231565b50505b503561293f565b61020c60048036036060811015610bf257600080610bef613231565b50505b508035906020810135906040013561295a565b610c3160048036036040811015610c2457600080610c21613231565b50505b5080359060200135612aa5565b604051901515815260200160405180910390f35b6104b460048036036040811015610c6457600080610c61613231565b50505b5080359060200135612af8565b61020c60048036036060811015610c9057600080610c8d613231565b50505b81359190810190604081016020820135600160201b811115610cba57600080610cb7613231565b50505b820183602082011115610cd557600080610cd2613231565b50505b803590602001918460208302840111600160201b83111715610cff57600080610cfc613231565b50505b919390929091602081019035600160201b811115610d2557600080610d22613231565b50505b820183602082011115610d4057600080610d3d613231565b50505b803590602001918460208302840111600160201b83111715610d6a57600080610d67613231565b50505b509092509050612b11565b61020c60048036036040811015610d9457600080610d91613231565b50505b5080359060200135612cdf565b8260008080610dae61329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e60289139604001925050506020604051808303818680610e186132fc565b158015610e2d57600080610e2a613231565b50505b505a610e37613348565b5050505050158015610e56573d6000803e3d6000610e53613231565b50505b505050506040513d6020811015610e7557600080610e72613231565b50505b81019080805193505050505a610e89613433565b6001600160a01b0316816001600160a01b031614610ee15760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390610ede613231565b50505b610eec858585612ebf565b5050505050565b8460008080610f0061329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e60289139604001925050506020604051808303818680610f6a6132fc565b158015610f7f57600080610f7c613231565b50505b505a610f89613348565b5050505050158015610fa8573d6000803e3d6000610fa5613231565b50505b505050506040513d6020811015610fc757600080610fc4613231565b50505b81019080805193505050505a610fdb613433565b6001600160a01b0316816001600160a01b0316146110335760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390611030613231565b50505b84831461107d5760405162461bcd60e51b8152602060048201526018602482015260008051602061356483398151915260448201526064016040518091039061107a613231565b50505b60005b858110156110bf576110b78888888481811061109857fe5b905060200201358787858181106110ab57fe5b90506020020135612f43565b600101611080565b5050505050505050565b606080826040519080825280602002602001820160405280156110f6578160200160208202803883390190505b50600086815260016020529091506003816040812061111361329c565b8152602001908152602001600020905060005b848110156111795781600087878481811061113d57fe5b90506020020135815260200190815260200160002061115a61329c565b83828151811061116657fe5b6020908102919091010152600101611126565b509095945050505050565b816000808061119161329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806111fb6132fc565b1580156112105760008061120d613231565b50505b505a61121a613348565b5050505050158015611239573d6000803e3d6000611236613231565b50505b505050506040513d602081101561125857600080611255613231565b50505b81019080805193505050505a61126c613433565b6001600160a01b0316816001600160a01b0316146112c45760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e9139604001915050604051809103906112c1613231565b50505b60008481526001602052600581604081206112dd61329c565b815260200190815260200160002060008581526020919091526040902060009061130561329c565b906101000a900460ff1690507f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c858583604051928352602083019190915215156040808301919091526060909101905180910390a1600085815260016020526005906040812061137361329c565b815260200190815260200160002060008581526020919091526040902060018161139b61329c565b9060ff021916906113aa613479565b50505050505050565b81600080806113c061329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e6028913960400192505050602060405180830381868061142a6132fc565b15801561143f5760008061143c613231565b50505b505a611449613348565b5050505050158015611468573d6000803e3d6000611465613231565b50505b505050506040513d602081101561148757600080611484613231565b50505b81019080805193505050505a61149b613433565b6001600160a01b0316816001600160a01b0316146114f35760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e9139604001915050604051809103906114f0613231565b50505b600084815260016020526002816040812061150c61329c565b815260200190815260200160002060008581526020919091526040902061153161329c565b90507f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d466285858360405180848152602001838152602001828152602001935050505060405180910390a1600085815260016020526002906040812061159361329c565b81526020019081526020016000206000858152602091909152604090206000906113aa613479565b82600080806115c861329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806116326132fc565b15801561164757600080611644613231565b50505b505a611651613348565b5050505050158015611670573d6000803e3d600061166d613231565b50505b505050506040513d602081101561168f5760008061168c613231565b50505b81019080805193505050505a6116a3613433565b6001600160a01b0316816001600160a01b0316146116fb5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e9139604001915050604051809103906116f8613231565b50505b610eec858585612f43565b600082815260016020526002816040812061171f61329c565b815260200190815260200160002060008381526020919091526040902061174461329c565b90505b92915050565b816000808061175a61329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806117c46132fc565b1580156117d9576000806117d6613231565b50505b505a6117e3613348565b5050505050158015611802573d6000803e3d60006117ff613231565b50505b505050506040513d60208110156118215760008061181e613231565b50505b81019080805193505050505a611835613433565b6001600160a01b0316816001600160a01b03161461188d5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e91396040019150506040518091039061188a613231565b50505b60008481526001602052600681604081206118a661329c565b81526020019081526020016000206000858152602091909152604090206118cb61329c565b90507f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd9385858360405180848152602001838152602001828152602001935050505060405180910390a1600085815260016020526006906040812061159361329c565b846000808061193a61329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806119a46132fc565b1580156119b9576000806119b6613231565b50505b505a6119c3613348565b50505050501580156119e2573d6000803e3d60006119df613231565b50505b505050506040513d6020811015611a01576000806119fe613231565b50505b81019080805193505050505a611a15613433565b6001600160a01b0316816001600160a01b031614611a6d5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390611a6a613231565b50505b848314611ab75760405162461bcd60e51b81526020600482015260186024820152600080516020613564833981519152604482015260640160405180910390611ab4613231565b50505b60005b858110156110bf57611afa88888884818110611ad257fe5b90506020020135878785818110611ae557fe5b905060200201356001600160a01b0316612fc7565b600101611aba565b8260008080611b0f61329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e60289139604001925050506020604051808303818680611b796132fc565b158015611b8e57600080611b8b613231565b50505b505a611b98613348565b5050505050158015611bb7573d6000803e3d6000611bb4613231565b50505b505050506040513d6020811015611bd657600080611bd3613231565b50505b81019080805193505050505a611bea613433565b6001600160a01b0316816001600160a01b031614611c425760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390611c3f613231565b50505b610eec858585613077565b8260008080611c5a61329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e60289139604001925050506020604051808303818680611cc46132fc565b158015611cd957600080611cd6613231565b50505b505a611ce3613348565b5050505050158015611d02573d6000803e3d6000611cff613231565b50505b505050506040513d6020811015611d2157600080611d1e613231565b50505b81019080805193505050505a611d35613433565b6001600160a01b0316816001600160a01b031614611d8d5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390611d8a613231565b50505b610eec858585612fc7565b8260008080611da561329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e60289139604001925050506020604051808303818680611e0f6132fc565b158015611e2457600080611e21613231565b50505b505a611e2e613348565b5050505050158015611e4d573d6000803e3d6000611e4a613231565b50505b505050506040513d6020811015611e6c57600080611e69613231565b50505b81019080805193505050505a611e80613433565b6001600160a01b0316816001600160a01b031614611ed85760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390611ed5613231565b50505b6000858152600160205260408120611eee61329c565b1415611f495760405162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015260640160405180910390611f46613231565b50505b6000858152600160205260409020611f5f61329c565b60008581526001602052604090208190611f77613479565b5050508215611f9c576000858152600160205260409020600090611f99613479565b50505b7fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c858585604051928352602083019190915215156040808301919091526060909101905180910390a15050505050565b600080611ff761329c565b906101000a90046001600160a01b031681565b60608082604051908082528060200260200182016040528015612037578160200160208202803883390190505b50600086815260016020529091506006816040812061205461329c565b8152602001908152602001600020905060005b848110156111795781600087878481811061207e57fe5b90506020020135815260200190815260200160002061209b61329c565b8382815181106120a757fe5b6020908102919091010152600101612067565b606080826040519080825280602002602001820160405280156120e7578160200160208202803883390190505b50600086815260016020529091506004816040812061210461329c565b8152602001908152602001600020905060005b848110156111795781600087878481811061212e57fe5b90506020020135815260200190815260200160002060009061214e61329c565b906101000a90046001600160a01b031683828151811061216a57fe5b6001600160a01b0390921660209283029190910190910152600101612117565b816000808061219761329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806122016132fc565b15801561221657600080612213613231565b50505b505a612220613348565b505050505015801561223f573d6000803e3d600061223c613231565b50505b505050506040513d602081101561225e5760008061225b613231565b50505b81019080805193505050505a612272613433565b6001600160a01b0316816001600160a01b0316146122ca5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e9139604001915050604051809103906122c7613231565b50505b60008481526001602052600481604081206122e361329c565b815260200190815260200160002060008581526020919091526040902060009061230b61329c565b906101000a90046001600160a01b031690507fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf6685858360405192835260208301919091526001600160a01b03166040808301919091526060909101905180910390a1600085815260016020526004906040812061238661329c565b81526020019081526020016000206000858152602091909152604090206001816123ae61329c565b906001600160a01b03021916906113aa613479565b60008281526001602052600481604081206123dc61329c565b815260200190815260200160002060008381526020919091526040902060009061240461329c565b906101000a90046001600160a01b0316905092915050565b846000808061242961329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806124936132fc565b1580156124a8576000806124a5613231565b50505b505a6124b2613348565b50505050501580156124d1573d6000803e3d60006124ce613231565b50505b505050506040513d60208110156124f0576000806124ed613231565b50505b81019080805193505050505a612504613433565b6001600160a01b0316816001600160a01b03161461255c5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390612559613231565b50505b8483146125a65760405162461bcd60e51b815260206004820152601860248201526000805160206135648339815191526044820152606401604051809103906125a3613231565b50505b60005b858110156110bf576125e0888888848181106125c157fe5b905060200201358787858181106125d457fe5b90506020020135613113565b6001016125a9565b60608082604051908082528060200260200182016040528015612615578160200160208202803883390190505b50600086815260016020529091506002816040812061263261329c565b8152602001908152602001600020905060005b848110156111795781600087878481811061265c57fe5b90506020020135815260200190815260200160002061267961329c565b83828151811061268557fe5b6020908102919091010152600101612645565b606080826040519080825280602002602001820160405280156126c5578160200160208202803883390190505b5060008681526001602052909150600581604081206126e261329c565b8152602001908152602001600020905060005b848110156111795781600087878481811061270c57fe5b90506020020135815260200190815260200160002060009061272c61329c565b906101000a900460ff1683828151811061274257fe5b911515602092830291909101909101526001016126f5565b600082815260016020526003816040812061171f61329c565b846000808061278061329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806127ea6132fc565b1580156127ff576000806127fc613231565b50505b505a612809613348565b5050505050158015612828573d6000803e3d6000612825613231565b50505b505050506040513d602081101561284757600080612844613231565b50505b81019080805193505050505a61285b613433565b6001600160a01b0316816001600160a01b0316146128b35760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e9139604001915050604051809103906128b0613231565b50505b8483146128fd5760405162461bcd60e51b815260206004820152601860248201526000805160206135648339815191526044820152606401604051809103906128fa613231565b50505b60005b858110156110bf576129378888888481811061291857fe5b9050602002013587878581811061292b57fe5b90506020020135612ebf565b600101612900565b6001602052806000526040600020905061295761329c565b81565b826000808061296761329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e602891396040019250505060206040518083038186806129d16132fc565b1580156129e6576000806129e3613231565b50505b505a6129f0613348565b5050505050158015612a0f573d6000803e3d6000612a0c613231565b50505b505050506040513d6020811015612a2e57600080612a2b613231565b50505b81019080805193505050505a612a42613433565b6001600160a01b0316816001600160a01b031614612a9a5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390612a97613231565b50505b610eec858585613113565b6000828152600160205260058160408120612abe61329c565b8152602001908152602001600020600083815260209190915260409020600090612ae661329c565b906101000a900460ff16905092915050565b600082815260016020526006816040812061171f61329c565b8460008080612b1e61329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e60289139604001925050506020604051808303818680612b886132fc565b158015612b9d57600080612b9a613231565b50505b505a612ba7613348565b5050505050158015612bc6573d6000803e3d6000612bc3613231565b50505b505050506040513d6020811015612be557600080612be2613231565b50505b81019080805193505050505a612bf9613433565b6001600160a01b0316816001600160a01b031614612c515760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390612c4e613231565b50505b848314612c9b5760405162461bcd60e51b81526020600482015260186024820152600080516020613564833981519152604482015260640160405180910390612c98613231565b50505b60005b858110156110bf57612cd788888884818110612cb657fe5b90506020020135878785818110612cc957fe5b905060200201351515613077565b600101612c9e565b8160008080612cec61329c565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01836040518263ffffffff1660e01b815260040180828152602001806020018281038252602881526020018061350e60289139604001925050506020604051808303818680612d566132fc565b158015612d6b57600080612d68613231565b50505b505a612d75613348565b5050505050158015612d94573d6000803e3d6000612d91613231565b50505b505050506040513d6020811015612db357600080612db0613231565b50505b81019080805193505050505a612dc7613433565b6001600160a01b0316816001600160a01b031614612e1f5760405162461bcd60e51b815260040180806020018281038252602e815260200180613536602e913960400191505060405180910390612e1c613231565b50505b6000848152600160205260038160408120612e3861329c565b8152602001908152602001600020600085815260209190915260409020612e5d61329c565b90507f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae85858360405180848152602001838152602001828152602001935050505060405180910390a1600085815260016020526003906040812061159361329c565b8060066000612ecd86613197565b81526020019081526020016000206000848152602091909152604090208190612ef4613479565b5050507f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a9528083838360405180848152602001838152602001828152602001935050505060405180910390a1505050565b8060026000612f5186613197565b81526020019081526020016000206000848152602091909152604090208190612f78613479565b5050507f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c983838360405180848152602001838152602001828152602001935050505060405180910390a1505050565b8060046000612fd586613197565b8152602001908152602001600020600084815260209190915260409020600181612ffd61329c565b816001600160a01b0302191690836001600160a01b031602179061301f613479565b5050507f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad63936583838360405192835260208301919091526001600160a01b03166040808301919091526060909101905180910390a1505050565b806005600061308586613197565b81526020019081526020016000206000848152602091909152604090206001816130ad61329c565b8160ff021916908315150217906130c2613479565b5050507f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b838383604051928352602083019190915215156040808301919091526060909101905180910390a1505050565b806003600061312186613197565b81526020019081526020016000206000848152602091909152604090208190613148613479565b5050507f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c83838360405180848152602001838152602001828152602001935050505060405180910390a1505050565b6000818152600160205280604081206131ae61329c565b905080611747575a6131be613433565b835a6131c86134c7565b60405160609390931b6bffffffffffffffffffffffff191660208401526034830191909152605482015260740160405160208183030381529060405280519060200120600084815260016020529091508190604090208190613228613479565b50505092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561326957808601518282016040015260200161324e565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156132f7576000828201526020016132e0565b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206132e0565b638540661f598160e01b8152613379565b8080831115611747575090919050565b8080831015611747575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156133b1578088015182820152602001613399565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596134068d3d613369565b8c016134128187613359565b5b828110156134275760008152602001613413565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206132e0565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206132e0565b635a98c361598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206132e056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "KeyMigrated",
					"type": "event",
					"signature": "0xa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueDeletedAddress",
					"type": "event",
					"signature": "0xec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueDeletedBool",
					"type": "event",
					"signature": "0x321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueDeletedBytes32",
					"type": "event",
					"signature": "0x1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd93"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueDeletedInt",
					"type": "event",
					"signature": "0x78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueDeletedUInt",
					"type": "event",
					"signature": "0x8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d4662"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueSetAddress",
					"type": "event",
					"signature": "0x524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueSetBool",
					"type": "event",
					"signature": "0x9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueSetBytes32",
					"type": "event",
					"signature": "0x961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a95280"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueSetInt",
					"type": "event",
					"signature": "0x0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueSetUInt",
					"type": "event",
					"signature": "0x60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8f6b95a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1625e3ef"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x35ab2708"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfdfc4c13"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x18f662ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ee5955a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getAddressValues",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ca0adaf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBoolValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd994502d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBoolValues",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "",
							"type": "bool[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc13a2b0c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7833c5d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBytes32Values",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8408a5e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc4f610ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getIntValues",
					"outputs": [
						{
							"internalType": "int256[]",
							"name": "",
							"type": "int256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x142a391e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23257c2b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getUIntValues",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb67fa7ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "hashes",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd658d2e9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "migrateContractKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5bda91e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a59e495"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4dca0978"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "values",
							"type": "address[]"
						}
					],
					"name": "setAddressValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3bd6ad89"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f28a6fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bool[]",
							"name": "values",
							"type": "bool[]"
						}
					],
					"name": "setBoolValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf9c39d2f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x004b62d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "values",
							"type": "bytes32[]"
						}
					],
					"name": "setBytes32Values",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc89eb562"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd71a9b01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "int256[]",
							"name": "values",
							"type": "int256[]"
						}
					],
					"name": "setIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab15985d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d5b277f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "values",
							"type": "uint256[]"
						}
					],
					"name": "setUIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x03cdc017"
				}
			],
			"source": {
				"keccak256": "0x6474f6904b55beaa3d9c95c45008a32bbf6cd100102250d36848e9e4b687fda2",
				"urls": [
					"bzz-raw://ab1c72120f95577969c54939587041db0c4d1007334fdca771ee49a857fc995e",
					"dweb:/ipfs/QmS98Fyf6WuaUpqKis4SEAR1Mj4JccDb4GExbPjKusA2Tk"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FlexibleStorage.sol": "FlexibleStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FlexibleStorage.sol": {
						"keccak256": "0x6474f6904b55beaa3d9c95c45008a32bbf6cd100102250d36848e9e4b687fda2",
						"urls": [
							"bzz-raw://ab1c72120f95577969c54939587041db0c4d1007334fdca771ee49a857fc995e",
							"dweb:/ipfs/QmS98Fyf6WuaUpqKis4SEAR1Mj4JccDb4GExbPjKusA2Tk"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "60806040523480156200001c57600080620000196200018a565b50505b506040516200399938038062003999833981810160405260408110156200004d576000806200004a6200018a565b50505b81019080805192919060200180519250829150819050836001600160a01b038116620000ca5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c76200018a565b50505b806000600181620000da620001f7565b816001600160a01b0302191690836001600160a01b0316021790620000fe62000259565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000159620001f7565b816001600160a01b0302191690836001600160a01b03160217906200017d62000259565b50505050505050620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c4578086015182820160400152602001620001a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000254576000828201526020016200023b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023b565b6136e180620002b86000396000f3fe60806040523480156100195760008061001661321e565b50505b50600436106102fa5760003560e01c806374185360116101a6578063af5355d8116100f2578063d62ae399116100ab578063e942204611610085578063e942204614610800578063f1076b2514610826578063f344da671461082e578063fb1b4c7e14610836576102fa565b8063d62ae39914610799578063dc8f4a1b146107c9578063e0e6393d146107f8576102fa565b8063af5355d8146107a1578063af8bc660146107a9578063b2ea70541461065d578063b410a034146107b1578063c193f0d8146107b9578063c58c9ae4146107c1576102fa565b8063899ffef41161015f578063967706e911610139578063967706e914610763578063a0cf745114610789578063a4ce5b7114610791578063add0989d14610799576102fa565b8063899ffef4146106da5780638da5cb5b14610735578063946ce8cd1461073d576102fa565b8063741853601461066557806379ba50971461066d57806379cb657a146106755780637bf823051461069b5780637ce2cc7f146106ca57806389257117146106d2576102fa565b80632806a743116102655780634c36b8371161021e5780635e0117d6116101f85780635e0117d6146105eb5780636190dd7a14610611578063635a387214610637578063657c6dc71461065d576102fa565b80634c36b837146105d357806353a47bb7146105db578063580a975c146105e3576102fa565b80632806a7431461043a57806328a1170d146104605780632af64bd3146105615780632cce0e541461057d578063372a395a146105a35780634641ab66146105ab576102fa565b80631627540c116102b75780631627540c146103c55780631775765f146103f45780631e6e2190146103fc57806322425fa41461042257806323f5589a1461042a578063242df9e114610432576102fa565b8063038e47fe1461030857806304c49f2c1461034357806304f3bcec1461036b578063054be0b71461038f578063085f95cd146103b55780630ee4951b146103bd575b60008061030561321e565b50505b610331600480360360208110156103275760008061032461321e565b50505b503560ff1661083e565b60405190815260200160405180910390f35b610369600480360360208110156103625760008061035f61321e565b50505b5035610851565b005b610373610a0e565b6040516001600160a01b03909116815260200160405180910390f35b610369600480360360208110156103ae576000806103ab61321e565b50505b5035610a2d565b610331610b76565b610331610b82565b610369600480360360208110156103e4576000806103e161321e565b50505b50356001600160a01b0316610b92565b610331610c0c565b6103696004803603602081101561041b5760008061041861321e565b50505b5035610c16565b610331610d1f565b610331610d29565b610331610d33565b610369600480360360208110156104595760008061045661321e565b50505b5035610d3d565b6103696004803603604081101561047f5760008061047c61321e565b50505b8101906020810181356401000000008111156104a3576000806104a061321e565b50505b8201836020820111156104be576000806104bb61321e565b50505b803590602001918460208302840111640100000000831117156104e9576000806104e661321e565b50505b9193909290916020810190356401000000008111156105105760008061050d61321e565b50505b82018360208201111561052b5760008061052861321e565b50505b803590602001918460208302840111640100000000831117156105565760008061055361321e565b50505b509092509050610e8b565b6105696110ed565b604051901515815260200160405180910390f35b6103696004803603602081101561059c5760008061059961321e565b50505b503561127c565b610331611496565b610369600480360360208110156105ca576000806105c761321e565b50505b503515156114a0565b6103736115a5565b6103736115af565b6103316115bb565b6103696004803603602081101561060a5760008061060761321e565b50505b50356115c2565b610369600480360360208110156106305760008061062d61321e565b50505b503561177e565b610369600480360360208110156106565760008061065361321e565b50505b503561187f565b61033161197c565b610369611988565b610369611bbb565b610369600480360360208110156106945760008061069161321e565b50505b5035611d3e565b610369600480360360208110156106ba576000806106b761321e565b50505b50356001600160a01b0316611e39565b610331611fb1565b610331611fb8565b6106e2611fc2565b60405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610721578082015183820152602001610709565b505050509050019250505060405180910390f35b610373612021565b6103696004803603602081101561075c5760008061075961321e565b50505b503561202c565b610331600480360360208110156107825760008061077f61321e565b50505b50356122b2565b6103316122bd565b6103316122c7565b6103316122d3565b6103316122da565b6103316122e4565b6103316122e9565b6105696122f3565b6103316122fd565b610369600480360360408110156107e8576000806107e561321e565b50505b5060ff8135169060200135612304565b61033161247f565b6103696004803603602081101561081f5760008061081c61321e565b50505b5035612489565b6103316125e5565b6103316125ec565b6103316125f3565b6000610849826125ff565b90505b919050565b6108596126d2565b620151808110156108b95760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e006044820152606401604051809103906108b661321e565b50505b624f1a008111156109195760405162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e0060448201526064016040518091039061091661321e565b50505b61092161274c565b6001600160a01b0316631d5b277f600080516020613666833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610995613289565b1580156109aa576000806109a761321e565b50505b505a6109b46132e4565b5050505050501580156109d4573d6000803e3d60006109d161321e565b50505b505050507f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd8160405190815260200160405180910390a150565b60006002610a1a6133cf565b906101000a90046001600160a01b031681565b610a356126d2565b670de0b6b3a7640000811115610a855760405162461bcd60e51b81526004018080602001828103825260338152602001806136866033913960400191505060405180910390610a8261321e565b50505b610a8d61274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526c69737375616e6365526174696f60981b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610afd613289565b158015610b1257600080610b0f61321e565b50505b505a610b1c6132e4565b505050505050158015610b3c573d6000803e3d6000610b3961321e565b50505b505050507f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854528160405190815260200160405180910390a150565b6703782dace9d9000081565b6000610b8c612769565b90505b90565b610b9a6126d2565b8060018080610ba76133cf565b816001600160a01b0302191690836001600160a01b0316021790610bc961341b565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000610b8c612845565b610c1e6126d2565b610c2661274c565b6001600160a01b0316631d5b277f6000805160206136668339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610ca6613289565b158015610cbb57600080610cb861321e565b50505b505a610cc56132e4565b505050505050158015610ce5573d6000803e3d6000610ce261321e565b50505b505050507f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e58160405190815260200160405180910390a150565b6000610b8c6128b7565b6000610b8c61292a565b6000610b8c61299e565b610d456126d2565b6703782dace9d90000811115610d955760405162461bcd60e51b81526004018080602001828103825260218152602001806135886021913960400191505060405180910390610d9261321e565b50505b610d9d61274c565b6001600160a01b0316631d5b277f600080516020613666833981519152716c69717569646174696f6e50656e616c747960701b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780610e12613289565b158015610e2757600080610e2461321e565b50505b505a610e316132e4565b505050505050158015610e51573d6000803e3d6000610e4e61321e565b50505b505050507fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e98160405190815260200160405180910390a150565b610e936126d2565b828114610eef5760405162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015260640160405180910390610eec61321e565b50505b60005b838110156110e65767016345785d8a0000838383818110610f0f57fe5b905060200201351115610f715760405162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015260640160405180910390610f6e61321e565b50505b610f7961274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526e65786368616e67654665655261746560881b888886818110610fb557fe5b90506020020135604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120868686818110610ff557fe5b905060200201356040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061103d613289565b1580156110525760008061104f61321e565b50505b505a61105c6132e4565b50505050505015801561107c573d6000803e3d600061107961321e565b50505b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e8585838181106110ad57fe5b905060200201358484848181106110c057fe5b9050602002013560405191825260208201526040908101905180910390a1600101610ef2565b5050505050565b600060606110f9611fc2565b905060005b815181101561127357600082828151811061111557fe5b602002602001015160008181526003602052909150604090206000906111396133cf565b6001600160a01b036101009290920a900416600060026111576133cf565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806111a8613289565b1580156111bd576000806111ba61321e565b50505b505a6111c7613469565b50505050501580156111e6573d6000803e3d60006111e361321e565b50505b505050506040513d60208110156112055760008061120261321e565b50505b8101908080516001600160a01b03169390931415925082915061125990505750600081815260036020526040812060009061123e6133cf565b906101000a90046001600160a01b03166001600160a01b0316145b1561126a5760009350505050610b8f565b506001016110fe565b50600191505090565b6112846126d2565b60328111156112d75760405162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b6044820152606401604051809103906112d461321e565b50505b60006113a0606461139473__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611320613289565b1580156113355760008061133261321e565b50505b505a61133f613530565b505050505015801561135e573d6000803e3d600061135b61321e565b50505b505050506040513d602081101561137d5760008061137a61321e565b50505b81019080805188935091505063ffffffff612a1016565b9063ffffffff612a7b16565b90506113aa61274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061141c613289565b1580156114315760008061142e61321e565b50505b505a61143b6132e4565b50505050505015801561145b573d6000803e3d600061145861321e565b50505b505050507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab128160405190815260200160405180910390a15050565b6000610b8c612aed565b6114a86126d2565b6114b061274c565b6001600160a01b0316633f28a6fc600080516020613666833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b846040516001600160e01b031960e086901b16815260048101939093526024830191909152151560448201526064016000604051808303816000878061152a613289565b15801561153f5760008061153c61321e565b50505b505a6115496132e4565b505050505050158015611569573d6000803e3d600061156661321e565b50505b505050507fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd81604051901515815260200160405180910390a150565b6000610b8c612b6c565b60006001610a1a6133cf565b62093a8081565b6115ca6126d2565b62278d0081111561162a5760405162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e20333020646179730000000000000060448201526064016040518091039061162761321e565b50505b6201518081101561168a5760405162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e20312064617900000000000060448201526064016040518091039061168761321e565b50505b61169261274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526f6c69717569646174696f6e44656c617960801b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611705613289565b15801561171a5760008061171761321e565b50505b505a6117246132e4565b505050505050158015611744573d6000803e3d600061174161321e565b50505b505050507f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53988160405190815260200160405180910390a150565b6117866126d2565b61178e61274c565b6001600160a01b0316631d5b277f6000805160206136668339815191527464656274536e617073686f745374616c6554696d6560581b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611806613289565b15801561181b5760008061181861321e565b50505b505a6118256132e4565b505050505050158015611845573d6000803e3d600061184261321e565b50505b505050507f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d78160405190815260200160405180910390a150565b6118876126d2565b61188f61274c565b6001600160a01b0316631d5b277f6000805160206136668339815191527077616974696e67506572696f645365637360781b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611903613289565b1580156119185760008061191561321e565b50505b505a6119226132e4565b505050505050158015611942573d6000803e3d600061193f61321e565b50505b505050507fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f88160405190815260200160405180910390a150565b670de0b6b3a764000081565b6060611992611fc2565b905060005b8151811015611bb75760008282815181106119ae57fe5b6020026020010151905060008060026119c56133cf565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611a7a578082015183820152602001611a62565b50505050905090810190601f168015611aa75780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818680611ac0613289565b158015611ad557600080611ad261321e565b50505b505a611adf613469565b5050505050158015611afe573d6000803e3d6000611afb61321e565b50505b505050506040513d6020811015611b1d57600080611b1a61321e565b50505b8101908080516000868152600360205290945084935060409250905020600181611b456133cf565b816001600160a01b0302191690836001600160a01b0316021790611b6761341b565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101611997565b5050565b60006001611bc76133cf565b906101000a90046001600160a01b03166001600160a01b03165a611be9613541565b6001600160a01b031614611c375760405162461bcd60e51b81526004018080602001828103825260358152602001806135a96035913960400191505060405180910390611c3461321e565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611c636133cf565b906101000a90046001600160a01b03166001600090611c806133cf565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611cbf6133cf565b906101000a90046001600160a01b03166000806101000a81611cdf6133cf565b816001600160a01b0302191690836001600160a01b0316021790611d0161341b565b5050506000600160006101000a81611d176133cf565b816001600160a01b0302191690836001600160a01b0316021790611d3961341b565b505050565b611d466126d2565b611d4e61274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611dc0613289565b158015611dd557600080611dd261321e565b50505b505a611ddf6132e4565b505050505050158015611dff573d6000803e3d6000611dfc61321e565b50505b505050507f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e668160405190815260200160405180910390a150565b611e416126d2565b6001600160a01b038116611ea45760405162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015260640160405180910390611ea161321e565b50505b611eac61274c565b6001600160a01b0316634dca09786000805160206136668339815191527561676772656761746f725761726e696e67466c61677360501b846040516001600160e01b031960e086901b168152600481019390935260248301919091526001600160a01b0316604482015260640160006040518083038160008780611f2e613289565b158015611f4357600080611f4061321e565b50505b505a611f4d6132e4565b505050505050158015611f6d573d6000803e3d6000611f6a61321e565b50505b505050507f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965816040516001600160a01b03909116815260200160405180910390a150565b622dc6c081565b6000610b8c612be4565b60606001604051908082528060200260200182016040528015611fef578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061201257fe5b60200260200101818152505090565b600080610a1a6133cf565b6120346126d2565b61210a6120f561204261292a565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680612081613289565b1580156120965760008061209361321e565b50505b505a6120a0613530565b50505050501580156120bf573d6000803e3d60006120bc61321e565b50505b505050506040513d60208110156120de576000806120db61321e565b50505b8101908080519392505063ffffffff612c57169050565b670de0b6b3a76400009063ffffffff612cb616565b8111156121515760405162461bcd60e51b81526004018080602001828103825260388152602001806135de603891396040019150506040518091039061214e61321e565b50505b6000612173671bc16d674ec80000612167612cd4565b9063ffffffff612d4316565b9050808210156121bd5760405162461bcd60e51b81526004018080602001828103825260288152602001806136b960289139604001915050604051809103906121ba61321e565b50505b6121c561274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526f6c69717569646174696f6e526174696f60801b856040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780612238613289565b15801561224d5760008061224a61321e565b50505b505a6122576132e4565b505050505050158015612277573d6000803e3d600061227461321e565b50505b505050507f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a8260405190815260200160405180910390a15050565b600061084982612d6d565b6000610b8c612e0c565b671bc16d674ec8000081565b6201518081565b6000610b8c612e7e565b603281565b6000610b8c612cd4565b6000610b8c612ef5565b627a120081565b61230c6126d2565b622dc6c081101580156123225750627a12008111155b61237b5760405162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d697400000060448201526064016040518091039061237861321e565b50505b61238361274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526123a985612f6c565b846040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401600060405180830381600087806123eb613289565b158015612400576000806123fd61321e565b50505b505a61240a6132e4565b50505050505015801561242a573d6000803e3d600061242761321e565b50505b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600381111561246157fe5b60ff1681526020018281526020019250505060405180910390a15050565b6000610b8c6130ab565b6124916126d2565b62093a808111156124f15760405162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b6044820152606401604051809103906124ee61321e565b50505b6124f961274c565b6001600160a01b0316631d5b277f6000805160206136668339815191526f6d696e696d756d5374616b6554696d6560801b846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061256c613289565b1580156125815760008061257e61321e565b50505b505a61258b6132e4565b5050505050501580156125ab573d6000803e3d60006125a861321e565b50505b505050507f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144778160405190815260200160405180910390a150565b62278d0081565b624f1a0081565b67016345785d8a000081565b600061260961274c565b6001600160a01b03166323257c2b60008051602061366683398151915261262f85612f6c565b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612666613289565b15801561267b5760008061267861321e565b50505b505a612685613469565b50505050501580156126a4573d6000803e3d60006126a161321e565b50505b505050506040513d60208110156126c3576000806126c061321e565b50505b81019080805195945050505050565b6000806126dd6133cf565b906101000a90046001600160a01b03166001600160a01b03165a6126ff613541565b6001600160a01b03161461274a5760405162461bcd60e51b815260040180806020018281038252602f815260200180613616602f913960400191505060405180910390611bb761321e565b565b6000610b8c6e466c657869626c6553746f7261676560881b61311c565b600061277361274c565b6001600160a01b03166323257c2b6000805160206136668339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b1580156127ef576000806127ec61321e565b50505b505a6127f9613469565b5050505050158015612818573d6000803e3d600061281561321e565b50505b505050506040513d60208110156128375760008061283461321e565b50505b810190808051935050505090565b600061284f61274c565b6001600160a01b03166323257c2b6000805160206136668339815191526f6c69717569646174696f6e526174696f60801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b60006128c161274c565b6001600160a01b03166323257c2b600080516020613666833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b600061293461274c565b6001600160a01b03166323257c2b600080516020613666833981519152716c69717569646174696f6e50656e616c747960701b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b60006129a861274c565b6001600160a01b03166323257c2b6000805160206136668339815191526f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b600082612a1f57506000612a75565b82820282848281612a2c57fe5b0414612a725760405162461bcd60e51b81526004018080602001828103825260218152602001806136456021913960400191505060405180910390612a6f61321e565b50505b90505b92915050565b6000808211612ad95760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390612ad661321e565b50505b6000828481612ae457fe5b04949350505050565b6000612af761274c565b6001600160a01b03166323257c2b6000805160206136668339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b6000612b7661274c565b6001600160a01b0316639ee5955a6000805160206136668339815191527561676772656761746f725761726e696e67466c61677360501b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b6000612bee61274c565b6001600160a01b03166323257c2b6000805160206136668339815191527077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b600082820183811015612a725760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390612a6f61321e565b6000612a728261139485670de0b6b3a764000063ffffffff612a1016565b6000612cde61274c565b6001600160a01b03166323257c2b6000805160206136668339815191526c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b6000670de0b6b3a7640000612d5e848463ffffffff612a1016565b81612d6557fe5b049392505050565b6000612d7761274c565b6001600160a01b03166323257c2b6000805160206136668339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612666613289565b6000612e1661274c565b6001600160a01b03166323257c2b6000805160206136668339815191526f6c69717569646174696f6e44656c617960801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b6000612e8861274c565b6001600160a01b03166323257c2b6000805160206136668339815191527464656274536e617073686f745374616c6554696d6560581b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b6000612eff61274c565b6001600160a01b031663d994502d600080516020613666833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b600080826003811115612f7b57fe5b1415612fa857507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061084c565b6001826003811115612fb657fe5b1415612fe357507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061084c565b6002826003811115612ff157fe5b141561301e57507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061084c565b600382600381111561302c57fe5b141561305957507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061084c565b60405162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b6044820152606401604051809103906130a461321e565b5050919050565b60006130b561274c565b6001600160a01b03166323257c2b6000805160206136668339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806127da613289565b6000818152600360205280604081206000906131366133cf565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906132175760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156131d35780820151838201526020016131bb565b50505050905090810190601f1680156132005780820380516001836020036101000a031916815260200191505b50925050506040518091039061321461321e565b50505b5092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561325657808601518282016040015260200161323b565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015611d39576000828201526020016132cd565b6385979f76598160e01b8152613315565b8080831115612a75575090919050565b8080831015612a75575090919050565b836004820152846024820152606060448201528760648201526084810160005b8981101561334d578089015182820152602001613335565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596133a28e3d613305565b8d016133ae81876132f5565b5b828110156133c357600081526020016133af565b50929d50505050505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206132cd565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206132cd565b638540661f598160e01b81525b836004820152846024820152606060448201528660648201526084810160005b888110156134ae578088015182820152602001613496565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596135038d3d613305565b8c0161350f81876132f5565b5b828110156135245760008152602001613510565b50929c50505050505050565b63ffe73914598160e01b8152613476565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206132cd56fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event",
					"signature": "0x0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLimit",
							"type": "uint256"
						}
					],
					"name": "CrossDomainMessageGasLimitChanged",
					"type": "event",
					"signature": "0xbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event",
					"signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event",
					"signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event",
					"signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event",
					"signature": "0x9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c5398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimumStakeTime",
							"type": "uint256"
						}
					],
					"name": "MinimumStakeTimeUpdated",
					"type": "event",
					"signature": "0x2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e814477"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "PriceDeviationThresholdUpdated",
					"type": "event",
					"signature": "0x6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event",
					"signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event",
					"signature": "0xb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event",
					"signature": "0xe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event",
					"signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58c9ae4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb1b4c7e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf344da67"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x657c6dc7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1076b25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x085f95cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2ea7054"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x580a975c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf8bc660"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7ce2cc7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd62ae399"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xadd0989d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4ce5b71"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						}
					],
					"name": "crossDomainMessageGasLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x038e47fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x967706e9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "_gasLimitType",
							"type": "uint8"
						},
						{
							"internalType": "uint256",
							"name": "_crossDomainMessageGasLimit",
							"type": "uint256"
						}
					],
					"name": "setCrossDomainMessageGasLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdc8f4a1b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6190dd7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x28a1170d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04c49f2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5e0117d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2806a743"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9422046"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_priceDeviationThresholdFactor",
							"type": "uint256"
						}
					],
					"name": "setPriceDeviationThresholdFactor",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1e6e2190"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79cb657a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2cce0e54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4641ab66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x635a3872"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0x8f9dd57d480d9ffe5ed1e2501055b47affe94d8dcf63ee7c3b889311d0962330",
				"urls": [
					"bzz-raw://aa2c0fc1193e57eafd7791c207f92425df3e5dae6c05697c8fb9de8431d07833",
					"dweb:/ipfs/QmeqJbHjj9s5evpy8pHkArqhv1i2Pd2NTBaA7xY2ZzAHGS"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettings.sol": "SystemSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemSettings.sol": {
						"keccak256": "0x8f9dd57d480d9ffe5ed1e2501055b47affe94d8dcf63ee7c3b889311d0962330",
						"urls": [
							"bzz-raw://aa2c0fc1193e57eafd7791c207f92425df3e5dae6c05697c8fb9de8431d07833",
							"dweb:/ipfs/QmeqJbHjj9s5evpy8pHkArqhv1i2Pd2NTBaA7xY2ZzAHGS"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "60806040523480156200001c576000806200001962000363565b50505b5060405162001de438038062001de4833981810160405260208110156200004d576000806200004a62000363565b50505b8101908080519250829150506001600160a01b038116620000bf5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000bc62000363565b50505b806000600181620000cf620003d0565b816001600160a01b0302191690836001600160a01b0316021790620000f362000432565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506200015f6553797374656d60d01b826001806001600160e01b03620001cc16565b620001826749737375616e636560c01b826001806001600160e01b03620001cc16565b620001a56745786368616e676560c01b826001806001600160e01b03620001cc16565b620001c5640a6f2dce8d60db1b826001806001600160e01b03620001cc16565b5062000481565b6553797374656d60d01b841480620001ee57506749737375616e636560c01b84145b806200020457506745786368616e676560c01b84145b80620002175750640a6f2dce8d60db1b84145b620002735760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c69656400000000000000006044820152606401604051809103906200027062000363565b50505b600084815260026020528290604090206001600160a01b038516600090815260209190915260409020600181620002a9620003d0565b8160ff02191690831515021790620002c062000432565b505050600084815260026020528190604090206001600160a01b03851660009081526020919091526040902061010081620002fa620003d0565b8160ff021916908315150217906200031162000432565b505050826001600160a01b0316847f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d184846040519115158252151560208201526040908101905180910390a350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200039d57808601518282016040015260200162000380565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200042d5760008282015260200162000414565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000414565b61195380620004916000396000f3fe608060405234801561001957600080610016611655565b50505b50600436106101e35760003560e01c806367a280b21161010d5780639f8a95ba116100ab578063f16162071161007a578063f161620714610612578063f405f65a1461061a578063f44d1e0b14610622578063f8b4b0841461062a576101e3565b80639f8a95ba1461046f578063abc0bb6e14610493578063b9a49869146104bf578063e470df58146105ec576101e3565b806379ba5097116100e757806379ba5097146104315780637c312541146104395780638da5cb5b1461044157806394c79f7414610449576101e3565b806367a280b2146103fb5780637118d431146104035780637243bc2c1461040b576101e3565b80632dd8afdb1161018557806348bf19711161015457806348bf19711461035e5780634abdb44d146103a357806353a47bb7146103ab5780636132eba4146103cf576101e3565b80632dd8afdb146102ee5780632e8d0b9e146102f6578063396e258e1461031257806342a28e2114610338576101e3565b80631588e817116101c15780631588e8171461021d5780631627540c1461024357806320f2bf00146102725780632366245e146102c3576101e3565b8063086dabd1146101f157806312bde514146101fb578063157c51d314610215575b6000806101ee611655565b50505b6101f9610632565b005b61020361063c565b60405190815260200160405180910390f35b6101f9610649565b6101f96004803603602081101561023c57600080610239611655565b50505b5035610712565b6101f9600480360360208110156102625760008061025f611655565b50505b50356001600160a01b03166107b8565b6102a7600480360360408110156102915760008061028e611655565b50505b50803590602001356001600160a01b0316610832565b6040519115158252151560208201526040908101905180910390f35b6102cb610882565b60405191151582526001600160f81b031660208201526040908101905180910390f35b6102cb6108bc565b6102fe6108c9565b604051901515815260200160405180910390f35b6101f9600480360360208110156103315760008061032e611655565b50505b5035610914565b6101f96004803603602081101561035757600080610354611655565b50505b50356109ba565b6101f96004803603608081101561037d5760008061037a611655565b50505b508035906001600160a01b03602082013516906040810135151590606001351515610a2a565b610203610a44565b6103b3610a53565b6040516001600160a01b03909116815260200160405180910390f35b6101f9600480360360408110156103ee576000806103eb611655565b50505b5080359060200135610a72565b6101f9610b0f565b6101f9610bb3565b6102cb6004803603602081101561042a57600080610427611655565b50505b5035610c13565b6101f9610c2e565b6101f9610dac565b6103b3610e0c565b6101f96004803603602081101561046857600080610465611655565b50505b5035610e17565b610477610eec565b6040516001600160f81b03909116815260200160405180910390f35b6101f9600480360360408110156104b2576000806104af611655565b50505b5080359060200135610ef1565b610553600480360360208110156104de576000806104db611655565b50505b810190602081018135640100000000811115610502576000806104ff611655565b50505b82018360208201111561051d5760008061051a611655565b50505b8035906020019184602083028401116401000000008311171561054857600080610545611655565b50505b509092509050610fb5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561059757808201518382015260200161057f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156105d65780820151838201526020016105be565b5050505090500194505050505060405180910390f35b6101f96004803603602081101561060b57600080610608611655565b50505b50356110e3565b6102036111ae565b6101f96111bd565b610203611261565b6102cb61126d565b61063a61127a565b565b6553797374656d60d01b81565b61065b6553797374656d60d01b611381565b6000600360018161066a6116c0565b8160ff0219169083151502179061067f61171b565b507fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f91506001905060036106b16116c0565b906101000a90046001600160f81b03166001600160f81b031660405190815260200160405180910390a160006003610100816106eb6116c0565b816001600160f81b0302191690836001600160f81b031602179061070d61171b565b505050565b6107266745786368616e676560c01b611410565b6001600581816107346116c0565b8160ff0219169083151502179061074961171b565b50829150600590506101008161075d6116c0565b816001600160f81b0302191690836001600160f81b031602179061077f61171b565b5050507f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b228160405190815260200160405180910390a150565b6107c0611454565b80600180806107cd6116c0565b816001600160a01b0302191690836001600160a01b03160217906107ef61171b565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60026020528160005260406000206020528060005260406000209150600090508161085b6116c0565b60ff6101009290920a900416906001816108736116c0565b906101000a900460ff16905082565b600460008161088f6116c0565b60ff6101009290920a900416906001816108a76116c0565b906101000a90046001600160f81b0316905082565b600360008161088f6116c0565b60008060036108d66116c0565b906101000a900460ff16801561090f575060018060036108f46116c0565b906101000a90046001600160f81b03166001600160f81b0316145b905090565b6109286749737375616e636560c01b611410565b6001600481816109366116c0565b8160ff0219169083151502179061094b61171b565b50829150600490506101008161095f6116c0565b816001600160f81b0302191690836001600160f81b031602179061098161171b565b5050507fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb88160405190815260200160405180910390a150565b6109c261127a565b60008181526006602052604090206000906109db6116c0565b906101000a900460ff1615610a275760405162461bcd60e51b815260040180806020018281038252602881526020018061192b602891396040019150506040518091039061070d611655565b50565b610a32611454565b610a3e848484846114cc565b50505050565b6749737375616e636560c01b81565b60006001610a5f6116c0565b906101000a90046001600160a01b031681565b610a7a61127a565b6000828152600660205260409020600090610a936116c0565b906101000a900460ff16158015610aca57506000818152600660205260409020600090610abe6116c0565b906101000a900460ff16155b610b0b5760405162461bcd60e51b81526004018080602001828103825260368152602001806117e56036913960400191505060405180910390610a3e611655565b5050565b610b236749737375616e636560c01b611381565b60006004600181610b326116c0565b8160ff02191690831515021790610b4761171b565b507f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba57168379150600190506004610b796116c0565b906101000a90046001600160f81b03166001600160f81b031660405190815260200160405180910390a160006004610100816106eb6116c0565b610bbb61127a565b60006005610bc76116c0565b906101000a900460ff161561063a5760405162461bcd60e51b815260040180806020018281038252602b815260200180611875602b913960400191505060405180910390610b0b611655565b6006602052806000526040600020905060008161088f6116c0565b60006001610c3a6116c0565b906101000a90046001600160a01b03166001600160a01b03165a610c5c611769565b6001600160a01b031614610caa5760405162461bcd60e51b81526004018080602001828103825260358152602001806117b06035913960400191505060405180910390610ca7611655565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610cd66116c0565b906101000a90046001600160a01b03166001600090610cf36116c0565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610d326116c0565b906101000a90046001600160a01b03166000806101000a81610d526116c0565b816001600160a01b0302191690836001600160a01b0316021790610d7461171b565b5050506000600160006101000a81610d8a6116c0565b816001600160a01b0302191690836001600160a01b031602179061070d61171b565b610db461127a565b60006004610dc06116c0565b906101000a900460ff161561063a5760405162461bcd60e51b815260040180806020018281038252602b81526020018061181b602b913960400191505060405180910390610b0b611655565b600080610a5f6116c0565b610e28640a6f2dce8d60db1b611381565b600081815260066020527f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d22090829060409020600190610e656116c0565b906101000a90046001600160f81b03166001600160f81b031660405191825260208201526040908101905180910390a16000818152600660205260409020600081600181610eb16116c0565b9060ff02191690610ec061171b565b5082905061010081610ed06116c0565b906001600160f81b0302191690610ee561171b565b5050505050565b600181565b610f02640a6f2dce8d60db1b611410565b6000828152600660205260019060409020600181610f1e6116c0565b8160ff02191690831515021790610f3361171b565b5050506000828152600660205281906040902061010081610f526116c0565b816001600160f81b0302191690836001600160f81b0316021790610f7461171b565b5050507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541828260405191825260208201526040908101905180910390a15050565b60608082604051908082528060200260200182016040528015610fe2578160200160208202803883390190505b5091508260405190808252806020026020018201604052801561100f578160200160208202803883390190505b50905060005b838110156110db576006600086868481811061102d57fe5b90506020020135815260200190815260200160002060009061104d6116c0565b906101000a900460ff1683828151811061106357fe5b911515602092830291909101909101526006600086868481811061108357fe5b9050602002013581526020019081526020016000206001906110a36116c0565b906101000a90046001600160f81b03166001600160f81b03168282815181106110c857fe5b6020908102919091010152600101611015565b509250929050565b6110f56553797374656d60d01b611410565b6001600381816111036116c0565b8160ff0219169083151502179061111861171b565b50829150600390506101008161112c6116c0565b816001600160f81b0302191690836001600160f81b031602179061114e61171b565b507f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f91506001905060036111806116c0565b906101000a90046001600160f81b03166040516001600160f81b03909116815260200160405180910390a150565b6745786368616e676560c01b81565b6111d16745786368616e676560c01b611381565b600060056001816111e06116c0565b8160ff021916908315150217906111f561171b565b507f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c21491506001905060056112276116c0565b906101000a90046001600160f81b03166001600160f81b031660405190815260200160405180910390a160006005610100816106eb6116c0565b640a6f2dce8d60db1b81565b600560008161088f6116c0565b600060036112866116c0565b60ff6101009290920a9004161560018060036112a06116c0565b906101000a90046001600160f81b03166001600160f81b0316146112da5760405160608101604052602c8082526118c160208301396112f2565b60405160608101604052603e8082526118ed60208301395b90610a275760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611340578082015183820152602001611328565b50505050905090810190601f16801561136d5780820380516001836020036101000a031916815260200191505b50925050506040518091039061070d611655565b600081815260026020526040902060005a61139a611769565b6001600160a01b03166001600160a01b031681526020019081526020016000206001906113c56116c0565b906101000a900460ff16610a275760405162461bcd60e51b81526004018080602001828103825260218152602001806118a0602191396040019150506040518091039061070d611655565b600081815260026020526040902060005a611429611769565b6001600160a01b03166001600160a01b031681526020019081526020016000206000906113c56116c0565b60008061145f6116c0565b906101000a90046001600160a01b03166001600160a01b03165a611481611769565b6001600160a01b03161461063a5760405162461bcd60e51b815260040180806020018281038252602f815260200180611846602f913960400191505060405180910390610b0b611655565b6553797374656d60d01b8414806114ed57506749737375616e636560c01b84145b8061150257506745786368616e676560c01b84145b806115145750640a6f2dce8d60db1b84145b61156d5760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c696564000000000000000060448201526064016040518091039061156a611655565b50505b600084815260026020528290604090206001600160a01b0385166000908152602091909152604090206001816115a16116c0565b8160ff021916908315150217906115b661171b565b505050600084815260026020528190604090206001600160a01b038516600090815260209190915260409020610100816115ee6116c0565b8160ff0219169083151502179061160361171b565b505050826001600160a01b0316847f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d184846040519115158252151560208201526040908101905180910390a350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561168d578086015182820160400152602001611672565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561070d57600082820152602001611704565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611704565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061170456fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e65206f72206d6f72652073796e746873206172652073757370656e6465642e204f7065726174696f6e2070726f6869626974656449737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "AccessControlUpdated",
					"type": "event",
					"signature": "0x95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event",
					"signature": "0x07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event",
					"signature": "0x078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event",
					"signature": "0x0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event",
					"signature": "0xee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthResumed",
					"type": "event",
					"signature": "0x691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthSuspended",
					"type": "event",
					"signature": "0x9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event",
					"signature": "0xb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event",
					"signature": "0x86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1616207"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4abdb44d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf44d1e0b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x12bde514"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f8a95ba"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accessControl",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20f2bf00"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8b4b084"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb9a49869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e8d0b9e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2366245e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x42a28e21"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6132eba4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086dabd1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf405f65a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67a280b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94c79f74"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x157c51d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1588e817"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x396e258e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xabc0bb6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7243bc2c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2dd8afdb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "updateAccessControl",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x48bf1971"
				}
			],
			"source": {
				"keccak256": "0x94b17494be222b5df0cef22c420721687050a97d47778839d6070fe070a9d284",
				"urls": [
					"bzz-raw://6220fa9bf2854a78b4df814b28a7a6551618e37d70086b44f789f9259e9ef455",
					"dweb:/ipfs/QmNpi4vLSf1nMnWDuYKHHzN1rJUna7hYTMxQTibtxRyqTp"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemStatus.sol": "SystemStatus"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemStatus.sol": {
						"keccak256": "0x94b17494be222b5df0cef22c420721687050a97d47778839d6070fe070a9d284",
						"urls": [
							"bzz-raw://6220fa9bf2854a78b4df814b28a7a6551618e37d70086b44f789f9259e9ef455",
							"dweb:/ipfs/QmNpi4vLSf1nMnWDuYKHHzN1rJUna7hYTMxQTibtxRyqTp"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRatesWithoutInvPricing": {
			"bytecode": "60806040523480156200001c576000806200001962000eca565b50505b506040516200532538038062005325833981810160405260a08110156200004d576000806200004a62000eca565b50505b810190808051929190602001805192919060200180519291906020018051604051939291908464010000000082111562000091576000806200008e62000eca565b50505b908301906020820185811115620000b257600080620000af62000eca565b50505b8251866020820283011164010000000082111715620000db57600080620000d862000eca565b50505b825250602001908051906020019060200280838360005b838110156200010c578082015183820152602001620000f2565b505050509050016040526020018051604051939291908464010000000082111562000141576000806200013e62000eca565b50505b90830190602082018581111562000162576000806200015f62000eca565b50505b82518660208202830111640100000000821117156200018b576000806200018862000eca565b50505b825250602001908051906020019060200280838360005b83811015620001bc578082015183820152602001620001a2565b50505050905001604052505050848484848482808660006001600160a01b0316816001600160a01b03161415620002445760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906200024162000eca565b50505b8060006001816200025462000f37565b816001600160a01b0302191690836001600160a01b03160217906200027862000f99565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150806002600181620002d362000f37565b816001600160a01b0302191690836001600160a01b0316021790620002f762000f99565b50505050508051825114620003495760405162461bcd60e51b815260040180806020018281038252602f81526020018062005233602f9139604001915050604051809103906200034662000eca565b50505b8360056001816200035962000f37565b816001600160a01b0302191690836001600160a01b03160217906200037d62000f99565b50505062000459631cd554d160e21b73__$2ca18b3b591abbc5a8d70b18a5e3d220c7$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680620003cd62000fe8565b158015620003e557600080620003e262000eca565b50505b505a620003f162001035565b505050505015801562000413573d6000803e3d60006200041062000eca565b50505b505050506040513d602081101562000435576000806200043262000eca565b50505b810190808051925050505a6200044a6200112b565b6001600160e01b036200048a16565b6200047982825a6200046a6200112b565b6001600160e01b036200058816565b5050505050505050505050620011c8565b6000838152600b60205260409020600081620004a562000f37565b91600183019150620004b662000f99565b505050604051604080820181526001600160d81b038416825264ffffffffff831660208084019190915260008681526004909152206000858152600b602052604081206200050362000f37565b81526020019081526020016000208151816001816200052162000f37565b816001600160d81b0302191690836001600160d81b03160217906200054562000f99565b505050602082015181600160d81b816200055e62000f37565b8164ffffffffff021916908364ffffffffff160217906200057e62000f99565b5050505050505050565b60008251845114620005d75760405162461bcd60e51b8152600401808060200182810382526038815260200180620052b46038913960400191505060405180910390620005d462000eca565b50505b6102585a620005e56200112b565b018210620006445760405162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f2074686520667574757265006044820152606401604051809103906200064162000eca565b50505b60005b8451811015620007725760008582815181106200066057fe5b602002602001015190508482815181106200067757fe5b6020026020010151620006c75760405162461bcd60e51b8152600401808060200182810382526039815260200180620052ec6039913960400191505060405180910390620006c462000eca565b50505b80631cd554d160e21b14156200071a5760405162461bcd60e51b81526004018080602001828103825260318152602001806200526260319139604001915050604051809103906200071762000eca565b50505b6200072e816001600160e01b036200083d16565b8410156200073d575062000769565b62000767818684815181106200074f57fe5b6020026020010151866001600160e01b036200048a16565b505b60010162000647565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015620007dc578082015183820152602001620007c2565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200081d57808201518382015260200162000803565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000853826001600160e01b036200086616565b6020015164ffffffffff1690505b919050565b6200087062001172565b60008281526006602052604081206000906200088b62000f37565b6001600160a01b036101009290920a9004169050801562000a67576060604051602401604051601f19818303018152604091909152633fabe5a360e21b6020820180516001600160e01b031690911790529050600060606001600160a01b038416836040518082805190602001908083835b602083106200091e5780518252601f199092019160209182019101620008fd565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855a6200095862001189565b50505050509150503d80600081146200098e576040513d603f01601f191681016040523d815291503d6000602084013e62000993565b606091505b5091509150811562000a5e576000808060208401845160a0811015620009c357600080620009c062000eca565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051509598509396509094506040935050505051604080820190528062000a368b62000a1d81876001600160e01b0362000b5316565b6001600160501b0388166001600160e01b0362000c5416565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000861565b50505062000b4d565b6000838152600b6020526040812062000a7f62000f37565b905062000a8b62001172565b600085815260046020526040902060008381526020919091526040902060405160408082019052908160008262000ac162000f37565b6001600160d81b036101009290920a9004168152602001601b8262000ae562000f37565b64ffffffffff6101009290920a9004169052509050604051604080820190528062000b258784516001600160d81b0316866001600160e01b0362000c5416565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000861565b50919050565b60008082121562000bb55760405162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f72746564000000000060448201526064016040518091039062000bb262000eca565b50505b600083815260076020526040812060009062000bd062000f37565b906101000a900460ff1660ff16111562000c4b576000838152600760205262000c2360126040832060009062000c0562000f37565b906101000a900460ff1660ff1662000e0160201b62003a2c1760201c565b600a0a905062000c42818462000e6960201b62003a911790919060201c565b91505062000c4e565b50805b92915050565b600062000c606200119b565b600085815260096020526040902060405160a0810160405290818162000c8562000f37565b81526020016001820162000c9862000f37565b81526020016002820162000cab62000f37565b815260200160006003830162000cc062000f37565b60ff6101009290920a9004161515815260200160016003830162000ce362000f37565b60ff6101009290920a900416151590525090508051158062000d03575083155b1562000d13578391505062000836565b6000858152600c6020528492506040812062000d2e62000f37565b905080841015801562000d42575081606001515b1562000d55578160200151925062000df8565b80841015801562000d67575081608001515b1562000d7a578160400151925062000df8565b600062000d986002845162000e6960201b62003a911790919060201c565b905085811162000dac576000935062000dc9565b62000dc6868262000e0160201b62003a2c1790919060201c565b93505b8260200151841062000de2578260200151935062000df6565b8260400151841162000df657826040015193505b505b50509392505050565b60008282111562000e635760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039062000e6062000eca565b50505b50900390565b60008262000e7a5750600062000c4e565b8282028284828162000e8857fe5b0414620008365760405162461bcd60e51b815260040180806020018281038252602181526020018062005293602191396040019150506040518091039062000df85b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101562000f0457808601518282016040015260200162000ee7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000f945760008282015260200162000f7b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000f7b565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000f7b565b63ffe73914598160e01b815262001069565b808083111562000c4e575090919050565b808083101562000c4e575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015620010a357808801518282015260200162001089565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059620010fa8d3d62001058565b8c0162001108818762001047565b5b828110156200111f576000815260200162001109565b50929c50505050505050565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000f7b565b604051604080820190526000808252602082015290565b638540661f598160e01b815262001069565b60405160a08101604090815260008083526020830181905290820181905260608201819052608082015290565b61405b80620011d86000396000f3fe608060405234801561001957600080610016613b62565b50505b506004361061029d5760003560e01c8063654a60ac11610170578063935f4abd116100d7578063c2c8a67611610090578063c2c8a67614610b81578063c8e5bbd514610c13578063c8e6f39514610d01578063ce8480ea14610d27578063de02795e14610d4d578063fdadbc7e14610d735761029d565b8063935f4abd146109b4578063ac82f608146109da578063af3aea86146106ef578063b199c76414610a00578063b295ad3414610a48578063bfa005ce14610a845761029d565b80637adbf973116101295780637adbf973146108f15780637dc0d1d0146109205780637f6e9d15146109285780638295016a1461094e578063899ffef4146109a45780638da5cb5b146109ac5761029d565b8063654a60ac1461080a5780637103353e1461083c578063728dec291461086257806374185360146108bb57806379ba5097146108c35780637a018a1e146108cb5761029d565b80632af64bd3116102145780633f0e084f116101cd5780633f0e084f1461073b5780634308a94f1461077057806345938849146107ae5780634c36b837146107d45780634f72def6146107dc57806353a47bb7146108025761029d565b80632af64bd3146105d65780632bed9e0c146105de5780632d7371e1146106045780632ea913d4146106c95780633375fcd1146106ef57806338aa1b99146107155761029d565b80630ee4951b116102665780630ee4951b146104c0578063109e46a2146104da5780631627540c146105125780632528f0fe14610543578063266da16b146105695780632678df96146105a75761029d565b80629919c0146102ab57806304f3bcec146102e557806305a046e5146103095780630a7d36d1146103ee5780630c71cd2314610480575b6000806102a8613b62565b50505b6102d1600480360360208110156102ca576000806102c7613b62565b50505b5035610d9f565b604051901515815260200160405180910390f35b6102ed610dba565b6040516001600160a01b03909116815260200160405180910390f35b61039b6004803603602081101561032857600080610325613b62565b50505b810190602081018135600160201b81111561034b57600080610348613b62565b50505b82018360208201111561036657600080610363613b62565b50505b803590602001918460208302840111600160201b831117156103905760008061038d613b62565b50505b509092509050610dd9565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156103da5780820151838201526020016103c2565b505050509050019250505060405180910390f35b6102d16004803603602081101561040d5760008061040a613b62565b50505b810190602081018135600160201b8111156104305760008061042d613b62565b50505b82018360208201111561044b57600080610448613b62565b50505b803590602001918460208302840111600160201b8311171561047557600080610472613b62565b50505b509092509050610e58565b6104a66004803603602081101561049f5760008061049c613b62565b50505b5035610f0b565b604051918252151560208201526040908101905180910390f35b6104c8610f93565b60405190815260200160405180910390f35b6104c8600480360360808110156104f9576000806104f6613b62565b50505b5080359060208101359060408101359060600135610fa3565b610541600480360360208110156105315760008061052e613b62565b50505b50356001600160a01b0316610fe6565b005b6102d1600480360360208110156105625760008061055f613b62565b50505b5035611060565b6104c8600480360360a081101561058857600080610585613b62565b50505b5080359060208101359060408101359060608101359060800135611080565b61039b600480360360208110156105c6576000806105c3613b62565b50505b50356001600160a01b03166110ed565b6102d16111df565b610541600480360360208110156105fd576000806105fa613b62565b50505b503561136e565b6106306004803603604081101561062357600080610620613b62565b50505b50803590602001356114b5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561067457808201518382015260200161065c565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106b357808201518382015260200161069b565b5050505090500194505050505060405180910390f35b6104c8600480360360208110156106e8576000806106e5613b62565b50505b5035611588565b6102d16004803603602081101561070e5760008061070b613b62565b50505b50356115b3565b6102d16004803603602081101561073457600080610731613b62565b50505b50356115b9565b6105416004803603604081101561075a57600080610757613b62565b50505b50803590602001356001600160a01b03166115c7565b6107966004803603602081101561078f5760008061078c613b62565b50505b50356118e9565b60405191825260208201526040908101905180910390f35b610541600480360360208110156107cd576000806107ca613b62565b50505b5035611922565b6102ed611a5e565b6104c8600480360360208110156107fb576000806107f8613b62565b50505b5035611a68565b6102ed611a74565b6104c86004803603606081101561082957600080610826613b62565b50505b5080359060208101359060400135611a80565b6102ed6004803603602081101561085b57600080610858613b62565b50505b5035611a98565b610888600480360360208110156108815760008061087e613b62565b50505b5035611ab2565b604051948552602085019390935260408085019290925215156060840152901515608083015260a0909101905180910390f35b610541611b1d565b610541611d50565b6104c8600480360360208110156108ea576000806108e7613b62565b50505b5035611ece565b610541600480360360208110156109105760008061090d613b62565b50505b50356001600160a01b0316611ed9565b6102ed611f70565b6104c86004803603602081101561094757600080610944613b62565b50505b5035611f7c565b6109806004803603606081101561096d5760008061096a613b62565b50505b5080359060208101359060400135611f94565b60405180848152602001838152602001828152602001935050505060405180910390f35b61039b611fb4565b6102ed612028565b6104c8600480360360208110156109d3576000806109d0613b62565b50505b5035612033565b6104c8600480360360208110156109f9576000806109f6613b62565b50505b503561204b565b610541600480360360c0811015610a1f57600080610a1c613b62565b50505b50803590602081013590604081013590606081013590608081013515159060a001351515612066565b610a6e60048036036020811015610a6757600080610a64613b62565b50505b503561207e565b60405160ff909116815260200160405180910390f35b6102d160048036036060811015610aa357600080610aa0613b62565b50505b810190602081018135600160201b811115610ac657600080610ac3613b62565b50505b820183602082011115610ae157600080610ade613b62565b50505b803590602001918460208302840111600160201b83111715610b0b57600080610b08613b62565b50505b919390929091602081019035600160201b811115610b3157600080610b2e613b62565b50505b820183602082011115610b4c57600080610b49613b62565b50505b803590602001918460208302840111600160201b83111715610b7657600080610b73613b62565b50505b9193509150356120a5565b61039b60048036036020811015610ba057600080610b9d613b62565b50505b810190602081018135600160201b811115610bc357600080610bc0613b62565b50505b820183602082011115610bde57600080610bdb613b62565b50505b803590602001918460208302840111600160201b83111715610c0857600080610c05613b62565b50505b50909250905061212c565b610ca560048036036020811015610c3257600080610c2f613b62565b50505b810190602081018135600160201b811115610c5557600080610c52613b62565b50505b820183602082011115610c7057600080610c6d613b62565b50505b803590602001918460208302840111600160201b83111715610c9a57600080610c97613b62565b50505b5090925090506121a1565b604051811515602082015260408082528190810184818151815260200191508051906020019060200280838360005b83811015610cec578082015183820152602001610cd4565b50505050905001935050505060405180910390f35b61054160048036036020811015610d2057600080610d1d613b62565b50505b50356122e2565b6104c860048036036020811015610d4657600080610d43613b62565b50505b50356122f5565b61054160048036036020811015610d6c57600080610d69613b62565b50505b50356122ea565b61079660048036036040811015610d9257600080610d8f613b62565b50505b5080359060200135612300565b6000610db282610dad612318565b6123f7565b90505b919050565b60006002610dc6613bcd565b906101000a90046001600160a01b031681565b60608082604051908082528060200260200182016040528015610e06578160200160208202803883390190505b50905060005b83811015610e4e57610e2f858583818110610e2357fe5b90506020020135612429565b828281518110610e3b57fe5b6020908102919091010152600101610e0c565b5090505b92915050565b600080610e63612318565b90506060610ea385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061244592505050565b905060005b84811015610eff57818181518110610ebc57fe5b602002602001015180610ee65750610ee6868683818110610ed957fe5b90506020020135846123f7565b15610ef75760019350505050610e52565b600101610ea8565b50600095945050505050565b600080610f16613c28565b610f1f846126dd565b905083631cd554d160e21b1415610f485780516001600160d81b0316925060009150610f8e9050565b8051610f66610f55612318565b836020015164ffffffffff1661298c565b80610f7d5750610f7d85610f786129af565b612a2a565b6001600160d81b0390911693509150505b915091565b6000610f9d612318565b90505b90565b600083815b610fb58783600101612b4b565b915050801580610fc6575083850181115b15610fd357509050610fde565b600190910190610fa8565b949350505050565b610fee612da7565b8060018080610ffb613bcd565b816001600160a01b0302191690836001600160a01b031602179061101d613c3f565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600061106e82610dad612318565b80610db25750610db282610f786129af565b6000838614156110915750836110e4565b600061109d8785612b4b565b50905060006110ac8685612b4b565b509050806110bf576000925050506110e4565b6110df816110d3898563ffffffff612e2116565b9063ffffffff612e3616565b925050505b95945050505050565b606060006008806110fc613bcd565b9050604051908082528060200260200182016040528015611127578160200160208202803883390190505b50915060005b600880611138613bcd565b90508110156111d85760006008828161114f613bcd565b811061115757fe5b90600052602060002001611169613bcd565b600081815260066020529091506001600160a01b0386169060409020600090611190613bcd565b906101000a90046001600160a01b03166001600160a01b031614156111cf57808484806001019550815181106111c257fe5b6020026020010181815250505b5060010161112d565b5050919050565b600060606111eb611fb4565b905060005b815181101561136557600082828151811061120757fe5b6020026020010151600081815260036020529091506040902060009061122b613bcd565b6001600160a01b036101009290920a90041660006002611249613bcd565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061129a613c8d565b1580156112af576000806112ac613b62565b50505b505a6112b9613cd9565b50505050501580156112d8573d6000803e3d60006112d5613b62565b50505b505050506040513d60208110156112f7576000806112f4613b62565b50505b8101908080516001600160a01b03169390931415925082915061134b905057506000818152600360205260408120600090611330613bcd565b906101000a90046001600160a01b03166001600160a01b0316145b1561135c5760009350505050610fa0565b506001016111f0565b50600191505090565b611376612da7565b600081815260066020526040812060009061138f613bcd565b6001600160a01b036101009290920a9004169050806113fd5760405162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b6579000000006044820152606401604051809103906113fa613b62565b50505b6000828152600660205260409020600181611416613bcd565b906001600160a01b030219169061142b613c3f565b50506000828152600760205260409020600181611446613bcd565b9060ff02191690611455613c3f565b50506000611464836008612e4b565b905080156114b0577fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f77783836040519182526001600160a01b031660208201526040908101905180910390a15b505050565b606080826040519080825280602002602001820160405280156114e2578160200160208202803883390190505b5091508260405190808252806020026020018201604052801561150f578160200160208202803883390190505b509050600061151d85612f4b565b905060005b8481101561157e576115348683612b4b565b85838151811061154057fe5b6020026020010185848151811061155357fe5b6020908102919091010191909152528161156f57506115819050565b60001990910190600101611522565b50505b9250929050565b600a8181611594613bcd565b811061159c57fe5b9060005260206000200190506115b0613bcd565b81565b50600090565b6000610db282610f786129af565b6115cf612da7565b8060006001600160a01b03821663668a0f026040518163ffffffff1660e01b81526004016020604051808303818680611606613c8d565b15801561161b57600080611618613b62565b50505b505a611625613cd9565b5050505050158015611644573d6000803e3d6000611641613b62565b50505b505050506040513d602081101561166357600080611660613b62565b50505b810190808051939093101592506116cc9150505760405162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c696400000000006044820152606401604051809103906116c9613b62565b50505b6000816001600160a01b031663313ce5676040518163ffffffff1660e01b81526004016020604051808303818680611702613c8d565b15801561171757600080611714613b62565b50505b505a611721613cd9565b5050505050158015611740573d6000803e3d600061173d613b62565b50505b505050506040513d602081101561175f5760008061175c613b62565b50505b81019080805193505050601260ff8316111590506117b75760405162461bcd60e51b8152600401808060200182810382526032815260200180613ff060329139604001915050604051809103906117b4613b62565b50505b60008481526006602052604081206000906117d0613bcd565b906101000a90046001600160a01b03166001600160a01b0316141561182c57836008806001816117fe613bcd565b018082611809613c3f565b5050600092835291600019830191506020902091929101611828613c3f565b5050505b60008481526006602052829060409020600181611847613bcd565b816001600160a01b0302191690836001600160a01b0316021790611869613c3f565b50505060008481526007602052819060409020600181611887613bcd565b8160ff021916908360ff1602179061189d613c3f565b5050507f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc6384836040519182526001600160a01b031660208201526040908101905180910390a150505050565b6000806118f4613c28565b6118fd846126dd565b9050805181602001516001600160d81b03909116935064ffffffffff16915050915091565b61192a613040565b60006119358261204b565b1161197e5760405162461bcd60e51b815260206004820152600c60248201526b52617465206973207a65726f60a01b60448201526064016040518091039061197b613b62565b50505b60008181526004602052604090206000828152600b602052604081206119a2613bcd565b81526020019081526020016000206000816001816119be613bcd565b906001600160d81b03021916906119d3613c3f565b50829050600160d81b816119e5613bcd565b9064ffffffffff021916906119f8613c3f565b5050506000828152600b6020526040915020600081611a15613bcd565b9160001983019150611a25613c3f565b5050507fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae18160405190815260200160405180910390a150565b6000610f9d6129af565b60088181611594613bcd565b60006001610dc6613bcd565b6000611a8d8484846130b9565b509095945050505050565b600660205280600052604060002060009150610dc6613bcd565b6009602052806000526040600020905080611acb613bcd565b9080600101611ad8613bcd565b9080600201611ae5613bcd565b90600060038201611af4613bcd565b906101000a900460ff169080600301600190611b0e613bcd565b906101000a900460ff16905085565b6060611b27611fb4565b905060005b8151811015611d4c576000828281518110611b4357fe5b602002602001015190506000806002611b5a613bcd565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611c0f578082015183820152602001611bf7565b50505050905090810190601f168015611c3c5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818680611c55613c8d565b158015611c6a57600080611c67613b62565b50505b505a611c74613cd9565b5050505050158015611c93573d6000803e3d6000611c90613b62565b50505b505050506040513d6020811015611cb257600080611caf613b62565b50505b8101908080516000868152600360205290945084935060409250905020600181611cda613bcd565b816001600160a01b0302191690836001600160a01b0316021790611cfc613c3f565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101611b2c565b5050565b60006001611d5c613bcd565b906101000a90046001600160a01b03166001600160a01b03165a611d7e613dc4565b6001600160a01b031614611dcc5760405162461bcd60e51b8152600401808060200182810382526035815260200180613edb6035913960400191505060405180910390611dc9613b62565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611df8613bcd565b906101000a90046001600160a01b03166001600090611e15613bcd565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611e54613bcd565b906101000a90046001600160a01b03166000806101000a81611e74613bcd565b816001600160a01b0302191690836001600160a01b0316021790611e96613c3f565b5050506000600160006101000a81611eac613bcd565b816001600160a01b0302191690836001600160a01b03160217906114b0613c3f565b6000610db282612f4b565b611ee1612da7565b806005600181611eef613bcd565b816001600160a01b0302191690836001600160a01b0316021790611f11613c3f565b5050507f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b81809403946005600090611f42613bcd565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a150565b60006005610dc6613bcd565b600c60205280600052604060002090506115b0613bcd565b6000806000611fa48686866130b9565b9250925092505b93509350939050565b606080611fbf61310b565b905060606001604051908082528060200260200182016040528015611fee578160200160208202803883390190505b5090506822bc31b430b733b2b960b91b8160008151811061200b57fe5b602002602001018181525050612021828261316a565b9250505090565b600080610dc6613bcd565b600b60205280600052604060002090506115b0613bcd565b6000612056826126dd565b516001600160d81b031692915050565b61206e612da7565b612076613226565b505050505050565b600760205280600052604060002060009150612098613bcd565b906101000a900460ff1681565b60006120af613040565b6121228686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791508190506020808202016040519081016040528093929190818152602001838360200280828437600092019190915250879250613278915050565b9695505050505050565b60608082604051908082528060200260200182016040528015612159578160200160208202803883390190505b50905060005b83811015610e4e5761218285858381811061217657fe5b9050602002013561204b565b82828151811061218e57fe5b602090810291909101015260010161215f565b60606000826040519080825280602002602001820160405280156121cf578160200160208202803883390190505b50915060006121dc612318565b9050606061221c86868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061244592505050565b905060005b858110156122d857612231613c28565b61224c88888481811061224057fe5b905060200201356126dd565b905080516001600160d81b031686838151811061226557fe5b60200260200101818152505084158015612298575087878381811061228657fe5b90506020020135631cd554d160e21b14155b156122cf578282815181106122a957fe5b6020026020010151806122cc57506122cc84826020015164ffffffffff1661298c565b94505b50600101612221565b5050509250929050565b6122ea612da7565b6122f2613226565b50565b6000610db282612429565b60008061230d8484612b4b565b915091509250929050565b60006123226134fa565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381868061238c613c8d565b1580156123a15760008061239e613b62565b50505b505a6123ab613cd9565b50505050501580156123ca573d6000803e3d60006123c7613b62565b50505b505050506040513d60208110156123e9576000806123e6613b62565b50505b810190808051935050505090565b600082631cd554d160e21b141561241057506000610e52565b6124228261241d85612429565b61298c565b9392505050565b6000612434826126dd565b6020015164ffffffffff1692915050565b606060006124516129af565b90506001600160a01b038116156126a8576060835160405190808252806020026020018201604052801561248f578160200160208202803883390190505b50905060005b845181101561250b57600660008683815181106124ae57fe5b602002602001015181526020019081526020016000206000906124cf613bcd565b906101000a90046001600160a01b03168282815181106124eb57fe5b6001600160a01b0390921660209283029190910190910152600101612495565b50816001600160a01b0316637d723cac826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561256b578082015183820152602001612553565b50505050905001925050506000604051808303818680612589613c8d565b15801561259e5760008061259b613b62565b50505b505a6125a8613cd9565b50505050501580156125c7573d6000803e3d60006125c4613b62565b50505b505050506040513d6000823e601f3d908101601f1916820160405260208110156125f9576000806125f6613b62565b50505b8101908080516040519392919084600160201b8211156126215760008061261e613b62565b50505b90830190602082018581111561263f5760008061263c613b62565b50505b82518660208202830111600160201b8211171561266457600080612661613b62565b50505b825250602001908051906020019060200280838360005b8381101561269357808201518382015260200161267b565b505050509050016040525050509250506126d7565b82516040519080825280602002602001820160405280156126d3578160200160208202803883390190505b5091505b50919050565b6126e5613c28565b60008281526006602052604081206000906126fe613bcd565b6001600160a01b036101009290920a900416905080156128ba576060604051602401604051601f19818303018152604091909152633fabe5a360e21b6020820180516001600160e01b031690911790529050600060606001600160a01b038416836040518082805190602001908083835b6020831061278e5780518252601f19909201916020918201910161276f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855a6127c6613cd9565b50505050509150503d80600081146127fa576040513d603f01601f191681016040523d815291503d6000602084013e6127ff565b606091505b509150915081156128b2576000808060208401845160a081101561282b57600080612828613b62565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051509598509396509094506040935050505051806040016040528061288b8b6128798d87613517565b8769ffffffffffffffffffff166135ef565b6001600160d81b031681526020018264ffffffffff16815250975050505050505050610db5565b5050506126d7565b6000838152600b602052604081206128d0613bcd565b90506128da613c28565b600085815260046020526040902060008381526020919091526040902060405160408082019052908160008261290e613bcd565b6001600160d81b036101009290920a9004168152602001601b82612930613bcd565b64ffffffffff6101009290920a900416905250905060405160408082019052806129658784516001600160d81b0316866135ef565b6001600160d81b03168152602001826020015164ffffffffff168152509350505050610db5565b60005a612997613e0a565b6129a7838563ffffffff61376d16565b109392505050565b60006129b96134fa565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7561676772656761746f725761726e696e67466c61677360501b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381868061238c613c8d565b600082631cd554d160e21b1415612a4357506000610e52565b6000838152600660205260408120600090612a5c613bcd565b6001600160a01b036101009290920a9004169050801580612a8457506001600160a01b038316155b15612a93576000915050610e52565b826001600160a01b031663357e47fe826040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612add613c8d565b158015612af257600080612aef613b62565b50505b505a612afc613cd9565b5050505050158015612b1b573d6000803e3d6000612b18613b62565b50505b505050506040513d6020811015612b3a57600080612b37613b62565b50505b810190808051979650505050505050565b60008281526006602052808060408120600090612b66613bcd565b6001600160a01b036101009290920a90041690508015612cfe576060846040516024810191909152604401604051601f19818303018152604091909152639a6fc8f560e01b6020820180516001600160e01b031690911790529050600060606001600160a01b038416836040518082805190602001908083835b60208310612bff5780518252601f199092019160209182019101612be0565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855a612c37613cd9565b50505050509150503d8060008114612c6b576040513d603f01601f191681016040523d815291503d6000602084013e612c70565b606091505b50915091508115612cf65760008060208301835160a0811015612c9b57600080612c98613b62565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051906020019092919050505050935050925050612ce78a612ce18c85613517565b8b6135ef565b97509550611581945050505050565b505050612d9f565b612d06613c28565b6000868152600460205260409020600086815260209190915260409020604051604080820190529081600082612d3a613bcd565b6001600160d81b036101009290920a9004168152602001601b82612d5c613bcd565b64ffffffffff6101009290920a9004169052509050612d868682516001600160d81b0316876135ef565b816020015190945064ffffffffff169250611581915050565b509250929050565b600080612db2613bcd565b906101000a90046001600160a01b03166001600160a01b03165a612dd4613dc4565b6001600160a01b031614612e1f5760405162461bcd60e51b815260040180806020018281038252602f815260200180613f68602f913960400191505060405180910390611d4c613b62565b565b60006124228383670de0b6b3a76400006137cc565b60006124228383670de0b6b3a7640000613809565b6000805b8280612e59613bcd565b9050811015612f415783838281612e6e613bcd565b8110612e7657fe5b90600052602060002001612e88613bcd565b1415612f3957828181612e99613bcd565b8110612ea157fe5b90600052602060002001600090612eb6613c3f565b50508260018480612ec5613bcd565b90500381612ed1613bcd565b8110612ed957fe5b90600052602060002001612eeb613bcd565b838281612ef6613bcd565b8110612efe57fe5b906000526020600020018190612f12613c3f565b5050508280612f1f613bcd565b90612f2e906000198301613e50565b506001915050610e52565b600101612e4f565b5060009392505050565b600081815260066020528060408120600090612f65613bcd565b6001600160a01b036101009290920a9004169050801561302257806001600160a01b031663668a0f026040518163ffffffff1660e01b81526004016020604051808303818680612fb3613c8d565b158015612fc857600080612fc5613b62565b50505b505a612fd2613cd9565b5050505050158015612ff1573d6000803e3d6000612fee613b62565b50505b505050506040513d60208110156130105760008061300d613b62565b50505b8101908080519450610db59350505050565b6000838152600b60205260409020613038613bcd565b915050610db5565b6000600561304c613bcd565b906101000a90046001600160a01b03166001600160a01b03165a61306e613dc4565b6001600160a01b031614612e1f5760405162461bcd60e51b8152600401808060200182810382526027815260200180613f416027913960400191505060405180910390611d4c613b62565b60008060006130c78661204b565b9150838614156130db575083915080611fab565b6130e48461204b565b90508015611fab57613100816110d3878563ffffffff612e2116565b925093509350939050565b60606001604051908082528060200260200182016040528015613138578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061315b57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561319a578160200160208202803883390190505b50905060005b83518110156131dc578381815181106131b557fe5b60200260200101518282815181106131c957fe5b60209081029190910101526001016131a0565b5060005b825181101561321f578281815181106131f557fe5b602002602001015182828651018151811061320c57fe5b60209081029190910101526001016131e0565b5092915050565b60405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000604482015260640160405180910390611d4c613b62565b600082518451146132c35760405162461bcd60e51b8152600401808060200182810382526038815260200180613fb860389139604001915050604051809103906132c0613b62565b50505b6102585a6132cf613e0a565b01821061332b5760405162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015260640160405180910390613328613b62565b50505b60005b845181101561343457600085828151811061334557fe5b6020026020010151905084828151811061335b57fe5b60200260200101516133a75760405162461bcd60e51b815260040180806020018281038252603981526020018061402260399139604001915050604051809103906133a4613b62565b50505b80631cd554d160e21b14156133f65760405162461bcd60e51b8152600401808060200182810382526031815260200180613f1060319139604001915050604051809103906133f3613b62565b50505b6133ff81612429565b84101561340c575061342c565b61342a8186848151811061341c57fe5b60200260200101518661383b565b505b60010161332e565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561349c578082015183820152602001613484565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156134db5780820151838201526020016134c3565b5050505090500194505050505060405180910390a15060019392505050565b6000610f9d6e466c657869626c6553746f7261676560881b61392b565b6000808212156135765760405162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015260640160405180910390613573613b62565b50505b600083815260076020526040812060009061358f613bcd565b906101000a900460ff1660ff1611156126d757600083815260076020526135d26012604083206000906135c0613bcd565b906101000a900460ff1660ff16613a2c565b600a0a90506135e7838263ffffffff613a9116565b915050610e52565b60006135f9613e84565b600085815260096020526040902060405160a0810160405290818161361c613bcd565b81526020016001820161362d613bcd565b81526020016002820161363e613bcd565b8152602001600060038301613651613bcd565b60ff6101009290920a90041615158152602001600160038301613672613bcd565b60ff6101009290920a9004161515905250905080511580613691575083155b1561369f5783915050612422565b6000858152600c602052849250604081206136b8613bcd565b90508084101580156136cb575081606001515b156136dc5781602001519250613764565b8084101580156136ed575081608001515b156136fe5781604001519250613764565b6000613713600284519063ffffffff613a9116565b90508581116137255760009350613738565b613735818763ffffffff613a2c16565b93505b8260200151841061374f5782602001519350613762565b8260400151841161376257826040015193505b505b50509392505050565b6000828201838110156124225760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390613764613b62565b600080600a83046137e3868663ffffffff613a9116565b816137ea57fe5b0490506005600a825b06106137fd57600a015b600a9004949350505050565b60008061382f8461382387600a870263ffffffff613a9116565b9063ffffffff613af016565b90506005600a826137f3565b6000838152600b60205260409020600081613854613bcd565b91600183019150613863613c3f565b505050604051604080820181526001600160d81b038416825264ffffffffff831660208084019190915260008681526004909152206000858152600b602052604081206138ae613bcd565b81526020019081526020016000208151816001816138ca613bcd565b816001600160d81b0302191690836001600160d81b03160217906138ec613c3f565b505050602082015181600160d81b81613903613bcd565b8164ffffffffff021916908364ffffffffff16021790613921613c3f565b5050505050505050565b600081815260036020528060408120600090613945613bcd565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b602082015260318101919091526051016040516020818303038152906040529061321f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156139e25780820151838201526020016139ca565b50505050905090810190601f168015613a0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390613a23613b62565b50505092915050565b600082821115613a8b5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613a88613b62565b50505b50900390565b600082613aa057506000610e52565b82820282848281613aad57fe5b04146124225760405162461bcd60e51b8152600401808060200182810382526021815260200180613f976021913960400191505060405180910390613764613b62565b6000808211613b4e5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390613b4b613b62565b50505b6000828481613b5957fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015613b9a578086015182820160400152602001613b7f565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156114b057600082820152602001613c11565b604051604080820190526000808252602082015290565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020613c11565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613c11565b638540661f598160e01b8152613d0a565b8080831115610e52575090919050565b8080831015610e52575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015613d42578088015182820152602001613d2a565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059613d978d3d613cfa565b8c01613da38187613cea565b5b82811015613db85760008152602001613da4565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613c11565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613c11565b81613e59613bcd565b8183613e63613c3f565b5050818111156114b057818360005260206000206114b09281019101613eb1565b60405160a08101604090815260008083526020830181905290820181905260608201819052608082015290565b610fa091905b80821115613ed65760008082613ecb613c3f565b505050600101613eb7565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e41676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e43757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e52617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32[]",
							"name": "_currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_newRates",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorAdded",
					"type": "event",
					"signature": "0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorRemoved",
					"type": "event",
					"signature": "0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						}
					],
					"name": "InversePriceConfigured",
					"type": "event",
					"signature": "0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "initiator",
							"type": "address"
						}
					],
					"name": "InversePriceFrozen",
					"type": "event",
					"signature": "0xf72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOracle",
							"type": "address"
						}
					],
					"name": "OracleUpdated",
					"type": "event",
					"signature": "0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "RateDeleted",
					"type": "event",
					"signature": "0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						}
					],
					"name": "RatesUpdated",
					"type": "event",
					"signature": "0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "aggregatorAddress",
							"type": "address"
						}
					],
					"name": "addAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f0e084f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "aggregatorKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f72def6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorV2V3Interface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7103353e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a7d36d1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "canFreezeRate",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3375fcd1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "currenciesUsingAggregator",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencies",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2678df96"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyKeyDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb295ad34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currentRoundForRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x935f4abd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "deleteRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x45938849"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x654a60ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "sourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8295016a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "effectiveValueAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x266da16b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "freezeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xde02795e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getCurrentRoundId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a018a1e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "startingRoundId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingTimestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timediff",
							"type": "uint256"
						}
					],
					"name": "getLastRoundIdBeforeElapsedSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x109e46a2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "inversePricing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "frozenAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "frozenAtLowerLimit",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x728dec29"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "invertedKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ea913d4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastRateUpdateTimes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce8480ea"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "lastRateUpdateTimesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05a046e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oracle",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dc0d1d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c71cd23"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						}
					],
					"name": "rateAndTimestampAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfdadbc7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndUpdatedTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4308a94f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateForCurrency",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac82f608"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38aa1b99"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "rateIsFrozen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf3aea86"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2528f0fe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x009919c0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesAndInvalidForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8e5bbd5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "numRounds",
							"type": "uint256"
						}
					],
					"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2d7371e1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc2c8a676"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2bed9e0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "removeInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8e6f395"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "roundFrozen",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f6e9d15"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"name": "setInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb199c764"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						}
					],
					"name": "setOracle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7adbf973"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "timeSent",
							"type": "uint256"
						}
					],
					"name": "updateRates",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbfa005ce"
				}
			],
			"source": {
				"keccak256": "0x6a83fc61a31f9dc2b424249e5cc7dfe2cc15907f8f8e6ed2bb17095028918cde",
				"urls": [
					"bzz-raw://7b38aa53989842f4b674f2e0d8c48a0f8cbd691532f3d3338b049f37f18df653",
					"dweb:/ipfs/Qma92V4inW8NRKZAh3TuSzxyE8QEGhoVkjhws9ms1cT1R6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRatesWithoutInvPricing.sol": "ExchangeRatesWithoutInvPricing"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRatesWithoutInvPricing.sol": {
						"keccak256": "0x6a83fc61a31f9dc2b424249e5cc7dfe2cc15907f8f8e6ed2bb17095028918cde",
						"urls": [
							"bzz-raw://7b38aa53989842f4b674f2e0d8c48a0f8cbd691532f3d3338b049f37f18df653",
							"dweb:/ipfs/Qma92V4inW8NRKZAh3TuSzxyE8QEGhoVkjhws9ms1cT1R6"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrow": {
			"bytecode": "60806040523480156200001c5760008062000019620001c9565b50505b5060405162001d4838038062001d48833981810160405260608110156200004d576000806200004a620001c9565b50505b810190808051929190602001805192919060200180519250849150506001600160a01b038116620000cf5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000cc620001c9565b50505b806000600181620000df62000236565b816001600160a01b0302191690836001600160a01b03160217906200010362000298565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1508160026001816200015e62000236565b816001600160a01b0302191690836001600160a01b03160217906200018262000298565b50505080600360006101000a816200019962000236565b816001600160a01b0302191690836001600160a01b0316021790620001bd62000298565b505050505050620002e7565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101562000203578086015182820160400152602001620001e6565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000293576000828201526020016200027a565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200027a565b611a5180620002f76000396000f3fe6080604052348015610019576000806100166114bd565b50505b506004361061017c5760003560e01c806370a08231116100e75780639b217f90116100a0578063d0cc82e31161007a578063d0cc82e3146104ef578063da7bd3e9146104f7578063ee1d036c1461052c578063fec9f9da146105615761017c565b80639b217f901461047d578063ae2e933b146104b2578063b5ddb9c7146104ba5761017c565b806370a08231146103ff57806371e780f31461042e578063759b52251461043657806379ba50971461043e5780638da5cb5b1461044657806397f465271461044e5761017c565b8063326a3cfb11610139578063326a3cfb146102f0578063449d0eb11461031f578063458efde31461036957806345e5441f1461037157806353a47bb7146103ac5780636b3905c4146103d05761017c565b80631627540c1461018a57806319db2228146101bb57806319e740c0146101ea578063204b676a1461022b578063227d517a1461025a5780632f5bb66114610289575b6000806101876114bd565b50505b6101b9600480360360208110156101a9576000806101a66114bd565b50505b50356001600160a01b0316610590565b005b6101b9600480360360208110156101da576000806101d76114bd565b50505b50356001600160a01b031661060a565b61021960048036036020811015610209576000806102066114bd565b50505b50356001600160a01b0316610685565b60405190815260200160405180910390f35b6102196004803603602081101561024a576000806102476114bd565b50505b50356001600160a01b03166106c7565b61021960048036036020811015610279576000806102766114bd565b50505b50356001600160a01b03166106ef565b6102b8600480360360208110156102a8576000806102a56114bd565b50505b50356001600160a01b031661070a565b6040518082604080838360005b838110156102dd5780820151838201526020016102c5565b5050505090500191505060405180910390f35b6102196004803603602081101561030f5760008061030c6114bd565b50505b50356001600160a01b0316610758565b61034e6004803603602081101561033e5760008061033b6114bd565b50505b50356001600160a01b0316610770565b604051808261410080838360008151838201526020016102c5565b6101b96107f5565b610219600480360360608110156103905760008061038d6114bd565b50505b506001600160a01b038135169060208101359060400135610b44565b6103b4610b8c565b6040516001600160a01b03909116815260200160405180910390f35b610219600480360360208110156103ef576000806103ec6114bd565b50505b50356001600160a01b0316610bab565b6102196004803603602081101561041e5760008061041b6114bd565b50505b50356001600160a01b0316610bc4565b610219610bea565b6103b4610bf4565b6101b9610c00565b6103b4610d83565b6102196004803603602081101561046d5760008061046a6114bd565b50505b50356001600160a01b0316610d8e565b6102196004803603604081101561049c576000806104996114bd565b50505b506001600160a01b038135169060200135610da0565b6103b4610dbb565b6101b9600480360360408110156104d9576000806104d66114bd565b50505b506001600160a01b038135169060200135610dc7565b610219610e51565b6102b860048036036040811015610516576000806105136114bd565b50505b506001600160a01b038135169060200135610e57565b6102196004803603604081101561054b576000806105486114bd565b50505b506001600160a01b038135169060200135610ed7565b6101b9600480360360208110156105805760008061057d6114bd565b50505b50356001600160a01b0316610eea565b610598610f65565b80600180806105a5611528565b816001600160a01b0302191690836001600160a01b03160217906105c7611583565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b610612610f65565b806003600181610620611528565b816001600160a01b0302191690836001600160a01b0316021790610642611583565b5050507f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295816040516001600160a01b03909116815260200160405180910390a150565b600080610691836106c7565b905060005b818110156106be576106a88482610da0565b156106b65791506106c29050565b600101610696565b5090505b919050565b6001600160a01b0381166000908152600460205260408120806106e8611528565b9392505050565b60066020528060005260406000209050610707611528565b81565b6107126115d1565b600061071d83610685565b9050610728836106c7565b81141561074e5760405180604001604052806000815260200160008152509150506106c2565b6106e88382610e57565b60056020528060005260406000209050610707611528565b6107786115ec565b6107806115ec565b600061078b846106c7565b905060005b818110156107ec576107a06115d1565b6107aa8683610e57565b90508051848360020261020881106107be57fe5b60200201528060016020020151848360020260010161020881106107de57fe5b602002015250600101610790565b50909392505050565b60006108085a61080361160a565b6106c7565b90506000805b828110156108ec57600061082a5a61082461160a565b83610da0565b90505a610835611650565b81111561084257506108ec565b60006108565a61085061160a565b84610ed7565b905080156108e257604051604080820190526000808252602082018190526004905a61088061160a565b6001600160a01b03166001600160a01b0316815260200190815260200160002084816108aa611528565b81106108b257fe5b90600052602060002090600202019060026108ce929190611696565b506108df848263ffffffff610fdf16565b93505b505060010161080e565b508015610b405761090d816007610901611528565b9063ffffffff61104716565b806007610918611583565b50505061095481600560005a61092c61160a565b6001600160a01b03166001600160a01b03168152602001908152602001600020610901611528565b600560005a61096161160a565b6001600160a01b03166001600160a01b03168152602001908152602001600020819061098b611583565b5050506109d381600660005a61099f61160a565b6001600160a01b03166001600160a01b031681526020019081526020016000206109c7611528565b9063ffffffff610fdf16565b600660005a6109e061160a565b6001600160a01b03166001600160a01b031681526020019081526020016000208190610a0a611583565b5050506002600090610a1a611528565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb5a610a4161160a565b836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610a836116e0565b158015610a9857600080610a956114bd565b50505b505a610aa261172c565b505050505050158015610ac2573d6000803e3d6000610abf6114bd565b50505b505050506040513d6020811015610ae157600080610ade6114bd565b50505b810190808051505050505a610af461160a565b6001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc65a610b27611650565b8360405191825260208201526040908101905180910390a25b5050565b60046020528260005260406000208281610b5c611528565b8110610b6457fe5b90600052602060002090600202018160028110610b7d57fe5b01925061070791506115289050565b60006001610b98611528565b906101000a90046001600160a01b031681565b6000610bb68261070a565b60005b602002015192915050565b6001600160a01b0381166000908152600560205260408120610be4611528565b92915050565b6007610707611528565b60006002610b98611528565b60006001610c0c611528565b906101000a90046001600160a01b03166001600160a01b03165a610c2e61160a565b6001600160a01b031614610c7c5760405162461bcd60e51b815260040180806020018281038252603581526020018061193d6035913960400191505060405180910390610c796114bd565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610ca8611528565b906101000a90046001600160a01b03166001600090610cc5611528565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610d04611528565b906101000a90046001600160a01b03166000806101000a81610d24611528565b816001600160a01b0302191690836001600160a01b0316021790610d46611583565b5050506000600160006101000a81610d5c611528565b816001600160a01b0302191690836001600160a01b0316021790610d7e611583565b505050565b600080610b98611528565b6000610d998261070a565b6001610bb9565b6000610dac8383610e57565b60005b60200201519392505050565b60006003610b98611528565b6000806003610dd4611528565b906101000a90046001600160a01b03166001600160a01b03165a610df661160a565b6001600160a01b031614905080610e475760405162461bcd60e51b8152600401808060200182810382526032815260200180611a1f6032913960400191505060405180910390610e446114bd565b50505b610d7e83836110ac565b61010481565b610e5f6115d1565b6001600160a01b03831660009081526004602052604090208281610e81611528565b8110610e8957fe5b90600052602060002060029182020190604080519081016040529190828260026020028201915b81610eb9611528565b81526020019060010190808311610eb0575050505050905092915050565b6000610ee38383610e57565b6001610daf565b610ef2610f65565b806002600181610f00611528565b816001600160a01b0302191690836001600160a01b0316021790610f22611583565b5050507f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d816040516001600160a01b03909116815260200160405180910390a150565b600080610f70611528565b906101000a90046001600160a01b03166001600160a01b03165a610f9261160a565b6001600160a01b031614610fdd5760405162461bcd60e51b815260040180806020018281038252602f8152602001806119f0602f913960400191505060405180910390610b406114bd565b565b6000828201838110156106e85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016040518091039061103e6114bd565b50509392505050565b6000828211156110a65760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401604051809103906110a36114bd565b50505b50900390565b806111065760405162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f0000000000000000006044820152606401604051809103906111036114bd565b50505b6111148160076109c7611528565b80600761111f611583565b505050600260009061112f611528565b906101000a90046001600160a01b03166001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156111a35760008282015260200161118c565b5050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806111e06116e0565b1580156111f5576000806111f26114bd565b50505b505a6111ff611817565b505050505015801561121e573d6000803e3d600061121b6114bd565b50505b505050506040513d602081101561123d5760008061123a6114bd565b50505b8101908080519250600791506112539050611528565b11156112995760405162461bcd60e51b81526004018080602001828103825260478152602001806119a960479139606001915050604051809103906112966114bd565b50505b6001600160a01b0382166000908152600460205260408120806112ba611528565b91505061010481111561131c5760405162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e67000000006044820152606401604051809103906113196114bd565b50505b60005a611327611650565b6301dfe20001905081611360576001600160a01b038416600090815260056020528390604090208190611358611583565b5050506113ff565b8061136e8560018503610da0565b106113b35760405162461bcd60e51b815260040180806020018281038252603781526020018061197260379139604001915050604051809103906113b06114bd565b50505b6001600160a01b038416600090815260056020526113d9908490604090206109c7611528565b6001600160a01b038516600090815260056020526040902081906113fb611583565b5050505b6001600160a01b03841660009081526004602052604090206040518060400160405280838152602001858152509080600181611439611528565b018082611444611583565b50506000928352916000198301915060209020919261146992600292830201916118dd565b5050836001600160a01b03167fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c5a61149f611650565b8560405191825260208201526040908101905180910390a250505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156114f55780860151828201604001526020016114da565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610d7e5760008282015260200161156c565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602061156c565b60405160408082018152600290829080388339509192915050565b60405161410080820160405261020890829080388339509192915050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061156c565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061156c565b82600281019282156116d0579160200282015b828111156116d057825160ff16826116bf611583565b5050916020019190600101906116a9565b506116dc929150611914565b5090565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061156c565b6385979f76598160e01b815261175d565b8080831115610be4575090919050565b8080831015610be4575090919050565b836004820152846024820152606060448201528760648201526084810160005b8981101561179557808901518282015260200161177d565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596117ea8e3d61174d565b8d016117f6818761173d565b5b8281101561180b57600081526020016117f7565b50929d50505050505050565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101561185b578088015182820152602001611843565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596118b08d3d61174d565b8c016118bc818761173d565b5b828110156118d157600081526020016118bd565b50929c50505050505050565b82600281019282156116d0579160200282015b828111156116d057825182611903611583565b5050916020019190600101906118f0565b61193991905b808211156116dc576000808261192e611583565b50505060010161191a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFeePool",
							"type": "address"
						}
					],
					"name": "FeePoolUpdated",
					"type": "event",
					"signature": "0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[520]",
							"name": "",
							"type": "uint256[520]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "contract IFeePool",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfec9f9da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759b5225"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0x0a23762f25143cc09e9e45c41872fbaaf6c35ff873a3cc969674c6d5be3c1d60",
				"urls": [
					"bzz-raw://46fed4d9925e8b9ac86add563a3ee674e5af90df05e5eabe9108d60a15f3f00b",
					"dweb:/ipfs/QmR8sbyXVz6KqD4Fd1bFf76Pkrp7TML6QXSaCgQmom99eL"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrow.sol": "RewardEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrow.sol": {
						"keccak256": "0x0a23762f25143cc09e9e45c41872fbaaf6c35ff873a3cc969674c6d5be3c1d60",
						"urls": [
							"bzz-raw://46fed4d9925e8b9ac86add563a3ee674e5af90df05e5eabe9108d60a15f3f00b",
							"dweb:/ipfs/QmR8sbyXVz6KqD4Fd1bFf76Pkrp7TML6QXSaCgQmom99eL"
						]
					}
				},
				"version": 1
			}
		},
		"ImportableRewardEscrowV2": {
			"bytecode": "60806040526303bfc400600c62000015620001a6565b50506224ea00600d62000027620001a6565b505062093a80600e62000039620001a6565b50503480156200005357600080620000506200020a565b50505b506040516200421438038062004214833981016040819052620000769162000322565b8181806249d400836001600160a01b038116620000bb5760405162461bcd60e51b8152600401620000a790620003e9565b60405180910390620000b86200020a565b50505b806000600181620000cb62000277565b816001600160a01b0302191690836001600160a01b0316021790620000ef620001a6565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008260405162000126929190620003c3565b60405180910390a150805a6200013b620002c4565b0180600262000149620001a6565b5050505080600360006101000a816200016162000277565b816001600160a01b0302191690836001600160a01b031602179062000185620001a6565b5050505060016007819062000199620001a6565b505050505050506200044c565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60005b60408110156200020557600082820152602001620001ec565b505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200024457808601518282016040015260200162000227565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020620001ec565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020620001ec565b6000815190506200031c816200042a565b92915050565b6000806040838503121562000341576000806200033e6200020a565b50505b60006200034f85856200030b565b925050602062000362858286016200030b565b9150509250929050565b620003778162000416565b82525050565b620003778162000404565b600062000397601983620003fb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620003d382856200036c565b620003e260208301846200037d565b9392505050565b602080825281016200031c8162000388565b90815260200190565b60006001600160a01b0382166200031c565b60006200031c8260006200031c8262000404565b620004358162000404565b81146200044957600080620002056200020a565b50565b613db8806200045c6000396000f3fe6080604052348015610019576000806100166128ae565b50505b506004361061025c5760003560e01c80636dc05bd31161014f57806380d46f58116100cc578063ae58254911610090578063ae582549146104d3578063b95375bd146104e6578063cd7b43dd146104f9578063e6b2cf6c1461050c578063eac6248914610514578063f0b882ba146105345761025c565b806380d46f581461047a578063899ffef41461049b5780638da5cb5b146104b0578063910a326d146104b8578063a0416ed3146104c05761025c565b8063773ab39f11610113578063773ab39f146104195780637839b92f146104395780637993e6991461044c57806379ba50971461045f5780637cc1d756146104675761025c565b80636dc05bd3146103d057806370a08231146103e357806371e780f3146103f657806373307e40146103fe57806374185360146104115761025c565b806330104c5f116101dd57806345626bd6116101a157806345626bd61461037757806346ba2d901461039857806353a47bb7146103a05780635eb8cf25146103b55780636154c343146103bd5761025c565b806330104c5f14610323578063326a3cfb1461033657806334c7fec91461034957806337088ffc1461035c5780634525aabc146103645761025c565b8063178c565511610224578063178c5655146102da5780631bb47b44146102e2578063204b676a146102f5578063227d517a146103085780632af64bd31461031b5761025c565b8063018c6c551461026a57806304f3bcec1461027f578063056629861461029d5780630fcdefb7146102b25780631627540c146102c7575b6000806102676128ae565b50505b61027d610278366004613105565b610547565b005b610287610598565b6040516102949190613afd565b60405180910390f35b6102a56105b7565b6040516102949190613ab3565b6102ba6105ec565b6040516102949190613ac1565b61027d6102d5366004612ddb565b6105f9565b61027d610662565b61027d6102f0366004612f4c565b6106d1565b6102ba610303366004612ddb565b610733565b6102ba610316366004612ddb565b61075b565b6102a5610773565b6102ba610331366004612e90565b6108f4565b6102ba610344366004612ddb565b610977565b61027d610357366004613064565b61098f565b6102ba610a99565b61027d610372366004613105565b610aa3565b61038a610385366004612e90565b610ae9565b604051610294929190613ca8565b6102ba610b34565b6103a8610b3e565b604051610294919061399d565b6102ba610b4a565b61038a6103cb366004612e90565b610b54565b6102ba6103de366004612e29565b610be1565b6102ba6103f1366004612ddb565b610cab565b6102ba610ccb565b6103a861040c366004612ddb565b610cd5565b61027d610cef565b61042c610427366004612f4c565b610e86565b6040516102949190613a91565b61027d610447366004612ddb565b611074565b61027d61045a366004613105565b61107f565b61027d611100565b61027d610475366004612ddb565b61125b565b61048d610488366004612e29565b611465565b604051610294929190613c3c565b6104a3611479565b6040516102949190613a80565b6103a86114f9565b6102ba611504565b61027d6104ce366004612f4c565b61150e565b6102ba6104e1366004612e90565b611670565b61027d6104f4366004612fa2565b6116a6565b61027d610507366004612ed3565b6116b6565b6102ba6118ee565b610527610522366004612f4c565b6118f8565b6040516102949190613aa2565b61027d610542366004612e29565b611a22565b61054f611f10565b8080600d61055b612919565b5050507fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e8160405161058d9190613ac1565b60405180910390a150565b600060036105a4612976565b906101000a90046001600160a01b031681565b60005a6105c26129c2565b6105e5600e6105cf612976565b600f6105d9612976565b9063ffffffff611f7416565b1190505b90565b600f6105f6612976565b81565b610601611f10565b806001808061060e612976565b816001600160a01b0302191690836001600160a01b0316021790610630612919565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce228160405161058d919061399d565b61066a611f10565b5a6106736129c2565b80600f61067e612919565b5050507fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445600f6106ac612976565b6106b9600e6105cf612976565b6040516106c7929190613c5c565b60405180910390a1565b6106d9611fb1565b6001600160a01b03165a6106eb612a08565b6001600160a01b0316146107235760405162461bcd60e51b815260040161071190613c0c565b604051809103906107206128ae565b50505b61072e838383611fcb565b505050565b6001600160a01b038116600090815260066020526040812080610754612976565b9392505050565b600960205280600052604060002090506105f6612976565b6000606061077f611479565b905060005b81518110156108eb57600082828151811061079b57fe5b602002602001015160008181526004602052909150604090206000906107bf612976565b6001600160a01b036101009290920a900416600060036107dd612976565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b81526004016108189190613ac1565b602060405180830381868061082b612a4e565b1580156108405760008061083d6128ae565b50505b505a61084a612a9a565b5050505050158015610869573d6000803e3d60006108666128ae565b50505b50505050604051601f3d908101601f1916820160405261088c9190810190612e02565b6001600160a01b03161415806108d1575060008181526004602052604081206000906108b6612976565b906101000a90046001600160a01b03166001600160a01b0316145b156108e257600093505050506105e9565b50600101610784565b50600191505090565b60006108fe612b85565b6001600160a01b038416600090815260056020526040902060008481526020919091526040902060405160408082019052908160008261093c612976565b6001600160401b036101009290920a90041681526020016001820161095f612976565b905250905061096d8161234f565b9150505b92915050565b600860205280600052604060002090506105f6612976565b6000805b82811015610a80576000600560005a6109aa612a08565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008686858181106109d857fe5b9050602002013581526020019081526020016000209050806001016109fb612976565b15610a77576000610a4882604051604080820190529081600082610a1d612976565b6001600160401b036101009290920a900416815260200160018201610a40612976565b90525061234f565b90508015610a635760008060018401610a5f612919565b5050505b610a73848263ffffffff611f7416565b9350505b50600101610993565b50801561072e5761072e5a610a93612a08565b82612389565b600d6105f6612976565b610aab611f10565b8080600c610ab7612919565b5050507f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a48160405161058d9190613ac1565b600560205281600052604060002060205280600052604060002091506000905081610b12612976565b906101000a90046001600160401b03169080600101610b2f612976565b905082565b60026105f6612976565b600060016105a4612976565b600c6105f6612976565b6001600160a01b038216600090815260056020528060408120600084815260209190915260409020600090610b87612976565b906101000a90046001600160401b0316915060056000856001600160a01b03166001600160a01b03168152602001908152602001600020600084815260209190915260409020600101610bd8612976565b90509250929050565b6000805b82811015610ca357610bf5612b85565b6001600160a01b03861660009081526005602052604090206000868685818110610c1b57fe5b905060200201358152602001908152602001600020604051604080820190529081600082610c47612976565b6001600160401b036101009290920a900416815260200160018201610c6a612976565b9052509050602081015115610c9a576000610c848261234f565b9050610c96848263ffffffff611f7416565b9350505b50600101610be5565b509392505050565b6001600160a01b0381166000908152600860205260408120610971612976565b600b6105f6612976565b600a602052806000526040600020600091506105a4612976565b6060610cf9611479565b905060005b8151811015610e82576000828281518110610d1557fe5b602002602001015190506000806003610d2c612976565b906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d5c9190613992565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d88929190613add565b6020604051808303818680610d9b612a4e565b158015610db057600080610dad6128ae565b50505b505a610dba612a9a565b5050505050158015610dd9573d6000803e3d6000610dd66128ae565b50505b50505050604051601f3d908101601f19168201604052610dfc9190810190612e02565b60008381526004602052909150819060409020600181610e1a612976565b816001600160a01b0302191690836001600160a01b0316021790610e3c612919565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa688282604051610e70929190613acf565b60405180910390a15050600101610cfe565b5050565b6060828201838111610ed6576000604051908082528060200260200182016040528015610ecd57816020015b610eba612b9c565b815260200190600190039081610eb25790505b50915050610754565b6001600160a01b038516600090815260066020526040902080610ef7612976565b9050811115610f25576001600160a01b038516600090815260066020526040902080610f21612976565b9150505b838103606081604051908082528060200260200182016040528015610f6457816020015b610f51612b9c565b815260200190600190039081610f495790505b50905060005b82811015611069576001600160a01b038816600090815260066020526040812088830181610f96612976565b8110610f9e57fe5b90600052602060002001610fb0612976565b9050610fba612b85565b6001600160a01b038a166000908152600560205260409020600083815260209190915260409020604051604080820190529081600082610ff8612976565b6001600160401b036101009290920a90041681526020016001820161101b612976565b9052509050604051606081016040528082516001600160401b031681526020018260200151815260200183905284848151811061105457fe5b60209081029190910101525050600101610f6a565b509695505050505050565b61107c6124da565b50565b611087611f10565b600d611091612976565b8111156110c25760405162461bcd60e51b81526004016110b090613bfc565b604051809103906110bf6128ae565b50505b8080600e6110ce612919565b5050507f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e68160405161058d9190613ac1565b6000600161110c612976565b906101000a90046001600160a01b03166001600160a01b03165a61112e612a08565b6001600160a01b0316146111665760405162461bcd60e51b815260040161115490613b1c565b604051809103906111636128ae565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611192612976565b906101000a90046001600160a01b031660016000906111af612976565b906101000a90046001600160a01b03166040516111cd929190613a3c565b60405180910390a1600060016111e1612976565b906101000a90046001600160a01b03166000806101000a81611201612976565b816001600160a01b0302191690836001600160a01b0316021790611223612919565b5050506000600160006101000a81611239612976565b816001600160a01b0302191690836001600160a01b031602179061072e612919565b5a611264612a08565b6001600160a01b0316816001600160a01b031614156112a75760405162461bcd60e51b815260040161129590613bcc565b604051809103906112a46128ae565b50505b6112af6105b7565b6112dd5760405162461bcd60e51b81526004016112cb90613bac565b604051809103906112da6128ae565b50505b6112e56124f2565b6001600160a01b031663d37c4d8b5a6112fc612a08565b6040518263ffffffff1660e01b815260040161131891906139db565b602060405180830381868061132b612a4e565b1580156113405760008061133d6128ae565b50505b505a61134a612a9a565b5050505050158015611369573d6000803e3d60006113666128ae565b50505b50505050604051601f3d908101601f1916820160405261138c919081019061312c565b156113bb5760405162461bcd60e51b81526004016113a990613c2c565b604051809103906113b86128ae565b50505b80600a60005a6113c9612a08565b6001600160a01b03166001600160a01b031681526020019081526020016000206001816113f4612976565b816001600160a01b0302191690836001600160a01b0316021790611416612919565b5050505a611422612a08565b6001600160a01b03167fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba48528260405161145a919061399d565b60405180910390a250565b600060606114716124da565b935093915050565b606080611484612506565b9050606060016040519080825280602002602001820160405280156114b3578160200160208202803883390190505b5090507453796e746865746978427269646765546f4261736560581b816000815181106114dc57fe5b6020026020010181815250506114f282826125a6565b9250505090565b6000806105a4612976565b600e6105f6612976565b6001600160a01b0383166115465760405162461bcd60e51b815260040161153490613b4c565b604051809103906115436128ae565b50505b61154e612662565b6001600160a01b03166323b872dd5a611565612a08565b5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156115bb576000828201526020016115a4565b505050856040518463ffffffff1660e01b81526004016115dd939291906139ab565b602060405180830381600087806115f2612a4e565b158015611607576000806116046128ae565b50505b505a611611612bbb565b505050505050158015611631573d6000803e3d600061162e6128ae565b50505b50505050604051601f3d908101601f1916820160405261165491908101906130b7565b6107235760405162461bcd60e51b815260040161071190613bbc565b60066020528160005260406000208181611688612976565b811061169057fe5b9060005260206000200191506105f69050612976565b6116ae6124da565b505050505050565b6116be612679565b6001600160a01b03165a6116d0612a08565b6001600160a01b0316146117085760405162461bcd60e51b81526004016116f690613b5c565b604051809103906117056128ae565b50505b61171683600b6105d9612976565b80600b611721612919565b50505061172c612662565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561179057600082820152602001611779565b5050506040518263ffffffff1660e01b81526004016117af919061399d565b60206040518083038186806117c2612a4e565b1580156117d7576000806117d46128ae565b50505b505a6117e1612a9a565b5050505050158015611800573d6000803e3d60006117fd6128ae565b50505b50505050604051601f3d908101601f19168201604052611823919081019061312c565b600b61182d612976565b111561185d5760405162461bcd60e51b815260040161184b90613c1c565b6040518091039061185a6128ae565b50505b6001600160a01b03841660009081526008602052611883908490604090206105d9612976565b6001600160a01b038516600090815260086020526040902081906118a5612919565b5060009150505b818110156118e7576118df858484848181106118c457fe5b9050604002018036036118da91908101906130de565b61269c565b6001016118ac565b5050505050565b60076105f6612976565b6001600160a01b03831660009081526006602052606090838301906040902080611920612976565b905081111561194e576001600160a01b03851660009081526006602052604090208061194a612976565b9150505b838111611988576000604051908082528060200260200182016040528015610ecd5781602001602082028038833901905050915050610754565b8381036060816040519080825280602002602001820160405280156119b7578160200160208202803883390190505b50905060005b82811015611069576001600160a01b0388166000908152600660205260409020878201816119e9612976565b81106119f157fe5b90600052602060002001611a03612976565b828281518110611a0f57fe5b60209081029190910101526001016119bd565b611a2a6105b7565b611a585760405162461bcd60e51b8152600401611a4690613bac565b60405180910390611a556128ae565b50505b611a606124f2565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611a8b9190613a57565b6020604051808303818680611a9e612a4e565b158015611ab357600080611ab06128ae565b50505b505a611abd612a9a565b5050505050158015611adc573d6000803e3d6000611ad96128ae565b50505b50505050604051601f3d908101601f19168201604052611aff919081019061312c565b15611b2e5760405162461bcd60e51b8152600401611b1c90613c2c565b60405180910390611b2b6128ae565b50505b5a611b37612a08565b6001600160a01b038481166000908152600a60205291169060409020600090611b5e612976565b906101000a90046001600160a01b03166001600160a01b031614611ba65760405162461bcd60e51b8152600401611b9490613bec565b60405180910390611ba36128ae565b50505b6000805b82811015611de657611bba612b85565b6001600160a01b03861660009081526005602052604090206000868685818110611be057fe5b905060200201358152602001908152602001600020604051604080820190529081600082611c0c612976565b6001600160401b036101009290920a900416815260200160018201611c2f612976565b9052509050602081015115611ddd5780600560005a611c4c612a08565b6001600160a01b03166001600160a01b031681526020019081526020016000206000878786818110611c7a57fe5b905060200201358152602001908152602001600020815181600181611c9d612976565b816001600160401b0302191690836001600160401b0316021790611cbf612919565b505050602082015181600101611cd3612919565b5050905050611ced8160200151849063ffffffff611f7416565b9250600660005a611cfc612a08565b6001600160a01b03166001600160a01b03168152602001908152602001600020858584818110611d2857fe5b905060200201359080600181611d3c612976565b018082611d47612919565b5050600092835291600019830191506020902091929101611d66612919565b5050506001600160a01b03861660009081526005602052604090206000868685818110611d8f57fe5b905060200201358152602001908152602001600020600081600181611db2612976565b906001600160401b0302191690611dc7612919565b505060018201600090611dd8612919565b505050505b50600101611baa565b506001600160a01b03841660009081526008602052611e1990829060409020611e0d612976565b9063ffffffff61278916565b6001600160a01b03851660009081526008602052604090208190611e3b612919565b505050611e7781600860005a611e4f612a08565b6001600160a01b03166001600160a01b031681526020019081526020016000206105d9612976565b600860005a611e84612a08565b6001600160a01b03166001600160a01b031681526020019081526020016000208190611eae612919565b505050836001600160a01b03167f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c5a611ee5612a08565b8386865a611ef16129c2565b604051611f029594939291906139f5565b60405180910390a250505050565b600080611f1b612976565b906101000a90046001600160a01b03166001600160a01b03165a611f3d612a08565b6001600160a01b031614611f725760405162461bcd60e51b8152600401611f6390613bdc565b60405180910390610e826128ae565b565b6000828201838110156107545760405162461bcd60e51b8152600401611f9990613b2c565b60405180910390611fa86128ae565b50509392505050565b6000611fc666119959541bdbdb60ca1b6127c3565b905090565b81611ffa5760405162461bcd60e51b8152600401611fe890613b8c565b60405180910390611ff76128ae565b50505b6000811180156120135750600c61200f612976565b8111155b6120415760405162461bcd60e51b815260040161202f90613b3c565b6040518091039061203e6128ae565b50505b61204f82600b6105d9612976565b80600b61205a612919565b505050612065612662565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156120c9576000828201526020016120b2565b5050506040518263ffffffff1660e01b81526004016120e8919061399d565b60206040518083038186806120fb612a4e565b1580156121105760008061210d6128ae565b50505b505a61211a612a9a565b5050505050158015612139573d6000803e3d60006121366128ae565b50505b50505050604051601f3d908101601f1916820160405261215c919081019061312c565b600b612166612976565b11156121965760405162461bcd60e51b815260040161218490613b9c565b604051809103906121936128ae565b50505b6000815a6121a26129c2565b6001600160a01b03861660009081526008602052910191506121cc908490604090206105d9612976565b6001600160a01b038516600090815260086020526040902081906121ee612919565b505050600060076121fd612976565b9050604051604080820181526001600160401b038416825260208083018790526001600160a01b038816600090815260059091522060008381526020919091526040902081518160018161224f612976565b816001600160401b0302191690836001600160401b0316021790612271612919565b505050602082015181600101612285612919565b5050506001600160a01b0386166000908152600660205260409150208190806001816122af612976565b0180826122ba612919565b50506000928352916000198301915060209020919291016122d9612919565b5050506122eb600160076105d9612976565b8060076122f6612919565b505050846001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc05a61232d6129c2565b8686856040516123409493929190613c6a565b60405180910390a25050505050565b6000808260200151156109715782516001600160401b03165a6123706129c2565b101561237d576000610754565b82602001519392505050565b612393828261284a565b6001600160a01b038216600090815260096020526123b9908290604090206105d9612976565b6001600160a01b038316600090815260096020526040902081906123db612919565b5050506123e6612662565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b8152600401612413929190613a65565b60206040518083038160008780612428612a4e565b15801561243d5760008061243a6128ae565b50505b505a612447612bbb565b505050505050158015612467573d6000803e3d60006124646128ae565b50505b50505050604051601f3d908101601f1916820160405261248a91908101906130b7565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc65a6124bf6129c2565b836040516124ce929190613c5c565b60405180910390a25050565b60405162461bcd60e51b8152600401611f6390613b7c565b6000611fc66524b9b9bab2b960d11b6127c3565b60606003604051908082528060200260200182016040528015612533578160200160208202803883390190505b509050680a6f2dce8d0cae8d2f60bb1b8160008151811061255057fe5b60200260200101818152505066119959541bdbdb60ca1b8160018151811061257457fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061259757fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156125d6578160200160208202803883390190505b50905060005b8351811015612618578381815181106125f157fe5b602002602001015182828151811061260557fe5b60209081029190910101526001016125dc565b5060005b825181101561265b5782818151811061263157fe5b602002602001015182828651018151811061264857fe5b602090810291909101015260010161261c565b5092915050565b6000611fc6680a6f2dce8d0cae8d2f60bb1b6127c3565b6000611fc67453796e746865746978427269646765546f4261736560581b6127c3565b600060076126a8612976565b6001600160a01b038416600090815260056020529091508290604090206000838152602091909152604090208151816001816126e2612976565b816001600160401b0302191690836001600160401b0316021790612704612919565b505050602082015181600101612718612919565b5050506001600160a01b038416600090815260066020526040915020819080600181612742612976565b01808261274d612919565b505060009283529160001983019150602090209192910161276c612919565b50505061277e600160076105d9612976565b8060076116ae612919565b6000828211156127bd5760405162461bcd60e51b81526004016127ab90613b6c565b604051809103906127ba6128ae565b50505b50900390565b6000818152600460205280604081206000906127dd612976565b6001600160a01b036101009290920a9004169050801515836040516020016128059190613972565b6040516020818303038152906040529061265b5760405162461bcd60e51b81526004016128329190613b0b565b604051809103906128416128ae565b50505092915050565b61285881600b611e0d612976565b80600b612863612919565b5050506001600160a01b0382166000908152600860205261288c90829060409020611e0d612976565b6001600160a01b038316600090815260086020526040902081906118e7612919565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156128e65780860151828201604001526020016128cb565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60005b604081101561072e5760008282015260200161295f565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061295f565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061295f565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061295f565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061295f565b638540661f598160e01b8152612acb565b8080831115610971575090919050565b8080831015610971575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015612b03578088015182820152602001612aeb565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059612b588d3d612abb565b8c01612b648187612aab565b5b82811015612b795760008152602001612b65565b50929c50505050505050565b604051604080820190526000808252602082015290565b6040516060810160409081526000808352602083018190529082015290565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015612bff578089015182820152602001612be7565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059612c548e3d612abb565b8d01612c608187612aab565b5b82811015612c755760008152602001612c61565b50929d50505050505050565b803561097181613d83565b60008151905061097181613d83565b60008083601f840112612cb657600080612cb36128ae565b50505b5081356001600160401b03811115612cd657600080612cd36128ae565b50505b602083019150836020820283011115612cf757600080612cf46128ae565b50505b9250929050565b60008083601f840112612d1957600080612d166128ae565b50505b5081356001600160401b03811115612d3957600080612d366128ae565b50505b602083019150836040820283011115612cf757600080612cf46128ae565b60008151905061097181613d9d565b600060408284031215612d8157600080612d7e6128ae565b50505b612d8b6040613cb6565b90506000612d998484612dd0565b8252506020612daa84848301612db6565b60208301525092915050565b803561097181613da6565b60008151905061097181613da6565b803561097181613daf565b600060208284031215612df657600080612df36128ae565b50505b600061096d8484612c81565b600060208284031215612e1d57600080612e1a6128ae565b50505b600061096d8484612c8c565b600080600060408486031215612e4757600080612e446128ae565b50505b6000612e538686612c81565b93505060208401356001600160401b03811115612e7857600080612e756128ae565b50505b612e8486828701612c9b565b92509250509250925092565b60008060408385031215612eac57600080612ea96128ae565b50505b6000612eb88585612c81565b9250506020612ec985828601612db6565b9150509250929050565b60008060008060608587031215612ef257600080612eef6128ae565b50505b6000612efe8787612c81565b9450506020612f0f87828801612db6565b93505060408501356001600160401b03811115612f3457600080612f316128ae565b50505b612f4087828801612cfe565b95989497509550505050565b600080600060608486031215612f6a57600080612f676128ae565b50505b6000612f768686612c81565b9350506020612f8786828701612db6565b9250506040612f9886828701612db6565b9150509250925092565b60008060008060008060608789031215612fc457600080612fc16128ae565b50505b86356001600160401b03811115612fe357600080612fe06128ae565b50505b612fef89828a01612c9b565b965096505060208701356001600160401b03811115613016576000806130136128ae565b50505b61302289828a01612c9b565b945094505060408701356001600160401b03811115613049576000806130466128ae565b50505b61305589828a01612c9b565b92509250509295509295509295565b600080602083850312156130805760008061307d6128ae565b50505b82356001600160401b0381111561309f5760008061309c6128ae565b50505b6130ab85828601612c9b565b92509250509250929050565b6000602082840312156130d2576000806130cf6128ae565b50505b600061096d8484612d57565b6000604082840312156130f9576000806130f66128ae565b50505b600061096d8484612d66565b6000602082840312156131205760008061311d6128ae565b50505b600061096d8484612db6565b600060208284031215613147576000806131446128ae565b50505b600061096d8484612dc1565b600061315f8383613335565b505060200190565b6000613173838361390a565b505060600190565b60006131878383613946565b505060400190565b61319881613d2f565b82525050565b61319881613d07565b60006131b282613cef565b6131bc8185613cf9565b93506131c783613ce9565b8060005b838110156131f55781516131df8882613153565b97506131ea83613ce9565b9250506001016131cb565b509495945050505050565b600061320b82613cef565b6132158185613cf9565b935061322083613ce9565b8060005b838110156131f55781516132388882613167565b975061324383613ce9565b925050600101613224565b600061325982613cef565b6132638185613cf9565b935061326e83613ce9565b8060005b838110156131f5578151613286888261317b565b975061329183613ce9565b925050600101613272565b60006132a88385613cf9565b93506001600160fb1b038311156132c7576000806132c46128ae565b50505b6020830292506132d8838584613d41565b50500190565b60006132e982613cef565b6132f38185613cf9565b93506132fe83613ce9565b8060005b838110156131f55781516133168882613153565b975061332183613ce9565b925050600101613302565b61319881613d12565b613198816105e9565b61319861334a826105e9565b6105e9565b61319881613d36565b600061336382613cef565b61336d8185613cf9565b935061337d818560208601613d4d565b61338681613d79565b9093019392505050565b600061339d603583613cf9565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006133f4601b83613cf9565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061342d603383613cf9565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000613482602483613cf9565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b60006134c8603583613cf9565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e746865746978815274109c9a5919d9551bd0985cd94818dbdb9d1c9858dd605a1b602082015260400192915050565b600061351f601e83613cf9565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613558601b83613cf9565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000613591601183613d02565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006135be601783613cf9565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b60006135f7604783613cf9565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b6000613666601983613cf9565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b600061369f601583613cf9565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b60006136d0602483613cf9565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b6000613716602f83613cf9565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000613773602183613cf9565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006137b6601c83613cf9565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b60006137ef601983613d02565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613828602883613cf9565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b6000613872604483613cf9565b7f496e73756666696369656e742062616c616e636520696e2074686520636f6e7481527f7261637420746f2070726f7669646520666f7220657363726f7765642062616c602082015263616e636560e01b604082015260600192915050565b60006138de601f83613cf9565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b60608201815161391a8482613969565b50602082015161392d6020850182613335565b5060408201516139406040850182613335565b50505050565b6040820181516139568482613969565b5060208201516139406020850182613335565b61319881613d23565b600061397d82613584565b9150613989828461333e565b50602001919050565b600061397d826137e2565b60208101610971828461319e565b606081016139b9828661318f565b6139c6602083018561319e565b6139d36040830184613335565b949350505050565b604081016139e9828461318f565b6109716020830161375a565b60808101613a03828861318f565b613a106020830187613335565b8181036040830152613a2381858761329c565b9050613a326060830184613335565b9695505050505050565b60408101613a4a828561319e565b610754602083018461319e565b604081016139e9828461319e565b60408101613a73828561319e565b6107546020830184613335565b6020808252810161075481846131a7565b602080825281016107548184613200565b6020808252810161075481846132de565b60208101610971828461332c565b602081016109718284613335565b60408101613a4a8285613335565b60408101613aeb8285613335565b81810360208301526139d38184613358565b60208101610971828461334f565b602080825281016107548184613358565b6020808252810161097181613390565b60208082528101610971816133e7565b6020808252810161097181613420565b6020808252810161097181613475565b60208082528101610971816134bb565b6020808252810161097181613512565b602080825281016109718161354b565b60208082528101610971816135b1565b60208082528101610971816135ea565b6020808252810161097181613659565b6020808252810161097181613692565b60208082528101610971816136c3565b6020808252810161097181613709565b6020808252810161097181613766565b60208082528101610971816137a9565b602080825281016109718161381b565b6020808252810161097181613865565b60208082528101610971816138d1565b60408101613c4a8285613335565b81810360208301526139d3818461324e565b60408101613a738285613335565b60808101613c788287613335565b613c856020830186613335565b613c926040830185613335565b613c9f6060830184613335565b95945050505050565b60408101613a738285613969565b600060405190508181018181106001600160401b0382111715613ce157600080613cde6128ae565b50505b604052919050565b60200190565b6000815192915050565b90815260200190565b919050565b600061097182613d17565b151590565b6001600160a01b031690565b6001600160401b031690565b6000610971825b600061097182613d07565b82818337506000910152565b60005b83811015613d68578082015183820152602001613d50565b838111156139405750506000910152565b601f01601f191690565b613d8c81613d07565b811461107c5760008061072e6128ae565b613d8c81613d12565b613d8c816105e9565b613d8c81613d2356",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmountMerged",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountMerged",
					"type": "event",
					"signature": "0x48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "AccountMergingDurationUpdated",
					"type": "event",
					"signature": "0x723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "AccountMergingStarted",
					"type": "event",
					"signature": "0xceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxAccountMergingDurationUpdated",
					"type": "event",
					"signature": "0xe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxEscrowDurationUpdated",
					"type": "event",
					"signature": "0x6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "NominateAccountToMerge",
					"type": "event",
					"signature": "0xcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0x2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x910a326d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingIsOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05662986"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingStartTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0fcdefb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae582549"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "burnForMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80d46f58"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "deposit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "createEscrowEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa0416ed3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getAccountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeac62489"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntry",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6154c343"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntryClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x30104c5f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6dc05bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getVestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "entryID",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntryWithID[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x773ab39f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "importVestingEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd7b43dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxAccountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37088ffc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "max_duration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5eb8cf25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "mergeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0b882ba"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "migrateAccountEscrowBalances",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb95375bd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "migrateVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7839b92f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe6b2cf6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "nominateAccountToMerge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7cc1d756"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "nominatedReceiver",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x73307e40"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setAccountMergingDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7993e699"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxAccountMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x018c6c55"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4525aabc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "startMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x178c5655"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x34c7fec9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45626bd6"
				}
			],
			"source": {
				"keccak256": "0xc7fd10475f0dc7c21a2edb94bda7c05a2e349599070ee9fd232372027784521e",
				"urls": [
					"bzz-raw://0e5b6f45014bf34778c45765a7590b6c89c4242ce6cc5abd66210380b8a11e96",
					"dweb:/ipfs/QmVnS9tf4KT8zw53Xq6poDbiyUzVxHyn4rGo99rWaNfNBv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ImportableRewardEscrowV2.sol": "ImportableRewardEscrowV2"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ImportableRewardEscrowV2.sol": {
						"keccak256": "0xc7fd10475f0dc7c21a2edb94bda7c05a2e349599070ee9fd232372027784521e",
						"urls": [
							"bzz-raw://0e5b6f45014bf34778c45765a7590b6c89c4242ce6cc5abd66210380b8a11e96",
							"dweb:/ipfs/QmVnS9tf4KT8zw53Xq6poDbiyUzVxHyn4rGo99rWaNfNBv"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceEscrow": {
			"bytecode": "60806040523480156200001c5760008062000019620001ac565b50505b5060405162001e6738038062001e67833981810160405260408110156200004d576000806200004a620001ac565b50505b810190808051929190602001805192506249d40091508390506001600160a01b038116620000cc5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c9620001ac565b50505b806000600181620000dc62000219565b816001600160a01b0302191690836001600160a01b0316021790620001006200027b565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150805a62000157620002ca565b01806002620001656200027b565b5050505080600360006101000a816200017d62000219565b816001600160a01b0302191690836001600160a01b0316021790620001a16200027b565b505050505062000311565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001e6578086015182820160400152602001620001c9565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000276576000828201526020016200025d565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200025d565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206200025d565b611b4680620003216000396000f3fe608060405234801561001957600080610016611568565b50505b50600436106101975760003560e01c806370a08231116100e75780639b217f90116100a0578063d0cc82e31161007a578063d0cc82e3146105b8578063da7bd3e9146105c0578063ee1d036c146105f5578063fec9f9da1461062a57610197565b80639b217f901461046a578063a15d59ce1461049f578063bb2a7d0c146104a757610197565b806370a08231146103ec578063759b52251461041b57806379ba5097146104235780638ad587771461042b5780638da5cb5b1461043357806397f465271461043b57610197565b80632f5bb6611161015457806346ba2d901161012e57806346ba2d901461038957806353a47bb71461039157806363667eb7146103b55780636b3905c4146103bd57610197565b80632f5bb661146102df578063458efde31461034657806345e5441f1461034e57610197565b8063135c0701146101a55780631627540c146101d657806319e740c0146102055780631bb47b4414610246578063204b676a14610281578063227d517a146102b0575b6000806101a2611568565b50505b6101d4600480360360208110156101c4576000806101c1611568565b50505b50356001600160a01b0316610659565b005b6101d4600480360360208110156101f5576000806101f2611568565b50505b50356001600160a01b031661074c565b6102346004803603602081101561022457600080610221611568565b50505b50356001600160a01b03166107c6565b60405190815260200160405180910390f35b6101d46004803603606081101561026557600080610262611568565b50505b506001600160a01b038135169060208101359060400135610808565b610234600480360360208110156102a05760008061029d611568565b50505b50356001600160a01b0316610c91565b610234600480360360208110156102cf576000806102cc611568565b50505b50356001600160a01b0316610cb9565b61030e600480360360208110156102fe576000806102fb611568565b50505b50356001600160a01b0316610cd4565b6040518082604080838360005b8381101561033357808201518382015260200161031b565b5050505090500191505060405180910390f35b6101d4610d22565b6102346004803603606081101561036d5760008061036a611568565b50505b506001600160a01b038135169060208101359060400135610fe6565b61023461102e565b610399611038565b6040516001600160a01b03909116815260200160405180910390f35b610234611057565b610234600480360360208110156103dc576000806103d9611568565b50505b50356001600160a01b031661105c565b6102346004803603602081101561040b57600080610408611568565b50505b50356001600160a01b0316611075565b61039961109b565b6101d46110a7565b610234611225565b61039961122a565b6102346004803603602081101561045a57600080610457611568565b50505b50356001600160a01b0316611235565b6102346004803603604081101561048957600080610486611568565b50505b506001600160a01b038135169060200135611247565b610234611262565b6101d4600480360360608110156104c6576000806104c3611568565b50505b6001600160a01b0382351691908101906040810160208201356401000000008111156104fa576000806104f7611568565b50505b82018360208201111561051557600080610512611568565b50505b803590602001918460208302840111640100000000831117156105405760008061053d611568565b50505b91939092909160208101903564010000000081111561056757600080610564611568565b50505b8201836020820111156105825760008061057f611568565b50505b803590602001918460208302840111640100000000831117156105ad576000806105aa611568565b50505b50909250905061126c565b61023461130e565b61030e600480360360408110156105df576000806105dc611568565b50505b506001600160a01b038135169060200135611313565b6102346004803603604081101561061457600080610611611568565b50505b506001600160a01b038135169060200135611393565b6101d46004803603602081101561064957600080610646611568565b50505b50356001600160a01b03166113a6565b610661611421565b600261066b6115d3565b5a61067461162e565b106106b95760405162461bcd60e51b8152600401808060200182810382526029815260200180611b1d60299139604001915050604051809103906106b6611568565b50505b6001600160a01b03811660009081526004602052604090206106dc906000611674565b6001600160a01b0381166000908152600560205261071690604090206107006115d3565b600661070a6115d3565b9063ffffffff61149b16565b8060066107216116a6565b5050506001600160a01b03811660009081526005602052604090206000906107476116a6565b505050565b610754611421565b80600180806107616115d3565b816001600160a01b0302191690836001600160a01b03160217906107836116a6565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000806107d283610c91565b905060005b818110156107ff576107e98482611247565b156107f75791506108039050565b6001016107d7565b5090505b919050565b610810611421565b600261081a6115d3565b5a61082361162e565b106108685760405162461bcd60e51b8152600401808060200182810382526029815260200180611b1d6029913960400191505060405180910390610865611568565b50505b815a61087261162e565b106108cc5760405162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e20746865206675747572650000000000006044820152606401604051809103906108c9611568565b50505b806109265760405162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015260640160405180910390610923611568565b50505b6109408160066109346115d3565b9063ffffffff61150016565b80600661094b6116a6565b505050600360009061095b6115d3565b906101000a90046001600160a01b03166001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156109cf576000828201526020016109b8565b5050506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610a0c6116f4565b158015610a2157600080610a1e611568565b50505b505a610a2b611740565b5050505050158015610a4a573d6000803e3d6000610a47611568565b50505b505050506040513d6020811015610a6957600080610a66611568565b50505b810190808051925060069150610a7f90506115d3565b1115610ac55760405162461bcd60e51b8152600401808060200182810382526047815260200180611aa76047913960600191505060405180910390610ac2611568565b50505b6001600160a01b038316600090815260046020526040812080610ae66115d3565b9150506014811115610b475760405162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015260640160405180910390610b44611568565b50505b80610b78576001600160a01b038416600090815260056020528290604090208190610b706116a6565b505050610c1f565b82610b8e856001610b8888610c91565b03611247565b10610bd35760405162461bcd60e51b8152600401808060200182810382526037815260200180611a706037913960400191505060405180910390610bd0611568565b50505b6001600160a01b03841660009081526005602052610bf9908390604090206109346115d3565b6001600160a01b03851660009081526005602052604090208190610c1b6116a6565b5050505b6001600160a01b03841660009081526004602052604090206040518060400160405280858152602001848152509080600181610c596115d3565b018082610c646116a6565b505060009283529160001983019150602090209192610c89926002928302019161182b565b505050505050565b6001600160a01b038116600090815260046020526040812080610cb26115d3565b9392505050565b60056020528060005260406000209050610cd16115d3565b81565b610cdc611872565b6000610ce7836107c6565b9050610cf283610c91565b811415610d18576040518060400160405280600081526020016000815250915050610803565b610cb28382611313565b6000610d355a610d3061188d565b610c91565b90506000805b82811015610e19576000610d575a610d5161188d565b83611247565b90505a610d6261162e565b811115610d6f5750610e19565b6000610d835a610d7d61188d565b84611393565b90508015610e0f57604051604080820190526000808252602082018190526004905a610dad61188d565b6001600160a01b03166001600160a01b031681526020019081526020016000208481610dd76115d3565b8110610ddf57fe5b9060005260206000209060020201906002610dfb9291906118d3565b50610e0c848263ffffffff61150016565b93505b5050600101610d3b565b508015610fe257610e2e81600661070a6115d3565b806006610e396116a6565b505050610e7581600560005a610e4d61188d565b6001600160a01b03166001600160a01b0316815260200190815260200160002061070a6115d3565b600560005a610e8261188d565b6001600160a01b03166001600160a01b031681526020019081526020016000208190610eac6116a6565b5050506003600090610ebc6115d3565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb5a610ee361188d565b836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610f256116f4565b158015610f3a57600080610f37611568565b50505b505a610f4461190d565b505050505050158015610f64573d6000803e3d6000610f61611568565b50505b505050506040513d6020811015610f8357600080610f80611568565b50505b810190808051505050505a610f9661188d565b6001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc65a610fc961162e565b8360405191825260208201526040908101905180910390a25b5050565b60046020528260005260406000208281610ffe6115d3565b811061100657fe5b9060005260206000209060020201816002811061101f57fe5b019250610cd191506115d39050565b6002610cd16115d3565b600060016110446115d3565b906101000a90046001600160a01b031681565b600081565b600061106782610cd4565b60005b602002015192915050565b6001600160a01b03811660009081526005602052604081206110956115d3565b92915050565b600060036110446115d3565b600060016110b36115d3565b906101000a90046001600160a01b03166001600160a01b03165a6110d561188d565b6001600160a01b0316146111235760405162461bcd60e51b8152600401808060200182810382526035815260200180611a3b6035913960400191505060405180910390611120611568565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061114f6115d3565b906101000a90046001600160a01b0316600160009061116c6115d3565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016111ab6115d3565b906101000a90046001600160a01b03166000806101000a816111cb6115d3565b816001600160a01b0302191690836001600160a01b03160217906111ed6116a6565b5050506000600160006101000a816112036115d3565b816001600160a01b0302191690836001600160a01b03160217906107476116a6565b600181565b6000806110446115d3565b600061124082610cd4565b600161106a565b60006112538383611313565b60005b60200201519392505050565b6006610cd16115d3565b611274611421565b600261127e6115d3565b5a61128761162e565b106112cc5760405162461bcd60e51b8152600401808060200182810382526029815260200180611b1d60299139604001915050604051809103906112c9611568565b50505b60005b83811015610c8957611306868686848181106112e757fe5b905060200201358585858181106112fa57fe5b90506020020135610808565b6001016112cf565b601481565b61131b611872565b6001600160a01b0383166000908152600460205260409020828161133d6115d3565b811061134557fe5b90600052602060002060029182020190604080519081016040529190828260026020028201915b816113756115d3565b8152602001906001019080831161136c575050505050905092915050565b600061139f8383611313565b6001611256565b6113ae611421565b8060036001816113bc6115d3565b816001600160a01b0302191690836001600160a01b03160217906113de6116a6565b5050507f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d816040516001600160a01b03909116815260200160405180910390a150565b60008061142c6115d3565b906101000a90046001600160a01b03166001600160a01b03165a61144e61188d565b6001600160a01b0316146114995760405162461bcd60e51b815260040180806020018281038252602f815260200180611aee602f913960400191505060405180910390610fe2611568565b565b6000828211156114fa5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401604051809103906114f7611568565b50505b50900390565b600082820183811015610cb25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016040518091039061155f611568565b50509392505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156115a0578086015182820160400152602001611585565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561074757600082820152602001611617565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611617565b508061167e6115d3565b6000826116896116a6565b50506002029060005260206000206116a3918101906119d3565b50565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611617565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611617565b638540661f598160e01b8152611771565b8080831115611095575090919050565b8080831015611095575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156117a9578088015182820152602001611791565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596117fe8d3d611761565b8c0161180a8187611751565b5b8281101561181f576000815260200161180b565b50929c50505050505050565b8260028101928215611862579160200282015b82811115611862578251826118516116a6565b50509160200191906001019061183e565b5061186e9291506119f9565b5090565b60405160408082018152600290829080388339509192915050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611617565b8260028101928215611862579160200282015b8281111561186257825160ff16826118fc6116a6565b5050916020019190600101906118e6565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015611951578089015182820152602001611939565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596119a68e3d611761565b8d016119b28187611751565b5b828110156119c757600081526020016119b3565b50929d50505050505050565b6119f691905b8082111561186e5760006119ed8282611a1e565b506002016119d9565b90565b6119f691905b8082111561186e5760008082611a136116a6565b5050506001016119ff565b50600081611a2a6116a6565b5050600101600090610fe26116a656fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "QUANTITY_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ad58777"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TIME_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x63667eb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "quantities",
							"type": "uint256[]"
						}
					],
					"name": "addVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb2a7d0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfec9f9da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759b5225"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa15d59ce"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0xb41b55b1a9b5e3e2da1451655d85d72eaaa932bd1a7cd0865807cf834707c5df",
				"urls": [
					"bzz-raw://c456ad82f30c1f72882a4c8bbf85a35aa680d72b7cab61a44ef842708fe014a3",
					"dweb:/ipfs/Qme2qmyt88fh1abHBUChdDvMyj5vPAUwgH8ofCRgomtiVa"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceEscrow.sol": "PeriFinanceEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceEscrow.sol": {
						"keccak256": "0xb41b55b1a9b5e3e2da1451655d85d72eaaa932bd1a7cd0865807cf834707c5df",
						"urls": [
							"bzz-raw://c456ad82f30c1f72882a4c8bbf85a35aa680d72b7cab61a44ef842708fe014a3",
							"dweb:/ipfs/Qme2qmyt88fh1abHBUChdDvMyj5vPAUwgH8ofCRgomtiVa"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceState": {
			"bytecode": "60806040523480156200001c576000806200001962000260565b50505b506040516200116938038062001169833981810160405260408110156200004d576000806200004a62000260565b50505b8101908080519291906020018051925062093a809150829050836001600160a01b038116620000cd5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000ca62000260565b50505b806000600181620000dd620002cd565b816001600160a01b0302191690836001600160a01b0316021790620001016200032f565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200015a620002cd565b906101000a90046001600160a01b03166001600160a01b03161415620001c55760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620001c262000260565b50505b806002600181620001d5620002cd565b816001600160a01b0302191690836001600160a01b0316021790620001f96200032f565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150805a620002466200037e565b01806003620002546200032f565b505050505050620003c5565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200029a5780860151828201604001526020016200027d565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200032a5760008282015260200162000311565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000311565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000311565b610d9480620003d56000396000f3fe608060405234801561001957600080610016610ba1565b50505b506004361061011f5760003560e01c80638b3f8088116100ab578063aefc4ccb1161007a578063aefc4ccb146102bb578063b16c09f0146102c3578063b992812e146102f2578063ba08f29914610335578063cd92eba91461033d5761011f565b80638b3f80881461022f5780638da5cb5b146102765780639371bede1461027e578063a764eb45146102865761011f565b806346317712116100f257806346317712146101c457806346ba2d90146101cc57806352f445ca146101d457806353a47bb71461020357806379ba5097146102275761011f565b806308d95cd51461012d5780631627540c146101655780631bfba595146101965780633d31e97b1461019e575b60008061012a610ba1565b50505b6101536004803603602081101561014c57600080610149610ba1565b50505b5035610345565b60405190815260200160405180910390f35b6101946004803603602081101561018457600080610181610ba1565b50505b50356001600160a01b0316610370565b005b6101946103ea565b610194600480360360208110156101bd576000806101ba610ba1565b50505b5035610491565b61015361054c565b610153610588565b610194600480360360208110156101f3576000806101f0610ba1565b50505b50356001600160a01b0316610592565b61020b61060d565b6040516001600160a01b03909116815260200160405180910390f35b61019461062c565b61025e6004803603602081101561024e5760008061024b610ba1565b50505b50356001600160a01b03166107aa565b60405191825260208201526040908101905180910390f35b61020b6107d5565b6101536107e0565b610194600480360360408110156102a5576000806102a2610ba1565b50505b506001600160a01b0381351690602001356107ea565b61020b6108c7565b610194600480360360208110156102e2576000806102df610ba1565b50505b50356001600160a01b03166108d3565b610321600480360360208110156103115760008061030e610ba1565b50505b50356001600160a01b0316610984565b604051901515815260200160405180910390f35b6101946109ac565b610153610a43565b60068181610351610c0c565b811061035957fe5b90600052602060002001905061036d610c0c565b81565b610378610a56565b8060018080610385610c0c565b816001600160a01b0302191690836001600160a01b03160217906103a7610c67565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600060026103f6610c0c565b906101000a90046001600160a01b03166001600160a01b03165a610418610cb5565b6001600160a01b0316146104665760405162461bcd60e51b8152600401808060200182810382526034815260200180610d606034913960400191505060405180910390610463610ba1565b50505b61048160016005610475610c0c565b9063ffffffff610ad316565b80600561048c610c67565b505050565b6000600261049d610c0c565b906101000a90046001600160a01b03166001600160a01b03165a6104bf610cb5565b6001600160a01b03161461050d5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d60603491396040019150506040518091039061050a610ba1565b50505b8060068060018161051c610c0c565b018082610527610c67565b5050600092835291600019830191506020902091929101610546610c67565b50505050565b60006006600160068061055d610c0c565b90500381610569610c0c565b811061057157fe5b90600052602060002001610583610c0c565b905090565b600361036d610c0c565b61059a610a56565b8060026001816105a8610c0c565b816001600160a01b0302191690836001600160a01b03160217906105ca610c67565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610619610c0c565b906101000a90046001600160a01b031681565b60006001610638610c0c565b906101000a90046001600160a01b03166001600160a01b03165a61065a610cb5565b6001600160a01b0316146106a85760405162461bcd60e51b8152600401808060200182810382526035815260200180610cfc60359139604001915050604051809103906106a5610ba1565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806106d4610c0c565b906101000a90046001600160a01b031660016000906106f1610c0c565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610730610c0c565b906101000a90046001600160a01b03166000806101000a81610750610c0c565b816001600160a01b0302191690836001600160a01b0316021790610772610c67565b5050506000600160006101000a81610788610c0c565b816001600160a01b0302191690836001600160a01b031602179061048c610c67565b60046020528060005260406000209050806107c3610c0c565b90806001016107d0610c0c565b905082565b600080610619610c0c565b600561036d610c0c565b600060026107f6610c0c565b906101000a90046001600160a01b03166001600160a01b03165a610818610cb5565b6001600160a01b0316146108665760405162461bcd60e51b8152600401808060200182810382526034815260200180610d606034913960400191505060405180910390610863610ba1565b50505b6001600160a01b03821660009081526004602052819060409020819061088a610c67565b505050600680610898610c0c565b6001600160a01b038416600090815260046020529091506040902060010181906108c0610c67565b5050505050565b60006002610619610c0c565b600060026108df610c0c565b906101000a90046001600160a01b03166001600160a01b03165a610901610cb5565b6001600160a01b03161461094f5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d60603491396040019150506040518091039061094c610ba1565b50505b6001600160a01b038116600090815260046020526040902060008082610973610c67565b5050600182016000906108c0610c67565b6001600160a01b0381166000908152600460205280604081206109a5610c0c565b1192915050565b600060026109b8610c0c565b906101000a90046001600160a01b03166001600160a01b03165a6109da610cb5565b6001600160a01b031614610a285760405162461bcd60e51b8152600401808060200182810382526034815260200180610d606034913960400191505060405180910390610a25610ba1565b50505b61048160016005610a37610c0c565b9063ffffffff610b3c16565b6000600680610a50610c0c565b91505090565b600080610a61610c0c565b906101000a90046001600160a01b03166001600160a01b03165a610a83610cb5565b6001600160a01b031614610ad15760405162461bcd60e51b815260040180806020018281038252602f815260200180610d31602f913960400191505060405180910390610ace610ba1565b50505b565b600082820183811015610b355760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390610b32610ba1565b50505b9392505050565b600082821115610b9b5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390610b98610ba1565b50505b50900390565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610bd9578086015182820160400152602001610bbe565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561048c57600082820152602001610c50565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610c50565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610c5056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			],
			"source": {
				"keccak256": "0xe55944d38fb7a248fe0e1e4b40991de57fcc88895f12c6505a42bb48523cee69",
				"urls": [
					"bzz-raw://cc0ac9716e8963afc62bbd621abf8e21de997664bfb1c701daf221a06da790a2",
					"dweb:/ipfs/QmeUk1TCR26fqSHqNo8nCmETdxMEZ9p7MUtQCdW2urBtEG"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceState.sol": "PeriFinanceState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceState.sol": {
						"keccak256": "0xe55944d38fb7a248fe0e1e4b40991de57fcc88895f12c6505a42bb48523cee69",
						"urls": [
							"bzz-raw://cc0ac9716e8963afc62bbd621abf8e21de997664bfb1c701daf221a06da790a2",
							"dweb:/ipfs/QmeUk1TCR26fqSHqNo8nCmETdxMEZ9p7MUtQCdW2urBtEG"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001957600080610016610135565b50505b50604051610cff380380610cff8339818101604052602081101561004557600080610042610135565b50505b8101908080519250829150506001600160a01b0381166100b45760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906100b1610135565b50505b8060006001816100c26101a0565b816001600160a01b0302191690836001600160a01b03160217906100e4610200565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1505061024e565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561016d578086015182820160400152602001610152565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156101fb576000828201526020016101e4565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206101e4565b610aa28061025d6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba50971461022a5780638da5cb5b14610248578063907dff9714610266578063d4b839921461032857610070565b80631627540c1461016457806353a47bb7146101ab578063776d1a01146101e5575b6000600261007c6107aa565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a6100a3610805565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087806100df61084b565b1580156100f4576000806100f1610897565b50505b505a6100fe610902565b50505050505015801561011e573d6000803e3d600061011b610897565b50505b505050506040513660008237600080368334600261013a6107aa565b5a610143610902565b5050505050503d6000833e80610160573d8261015d610897565b50505b3d82f35b34801561017957600080610176610897565b50505b506101a96004803603602081101561019957600080610196610897565b50505b50356001600160a01b0316610346565b005b3480156101c0576000806101bd610897565b50505b506101c96103c0565b6040516001600160a01b03909116815260200160405180910390f35b3480156101fa576000806101f7610897565b50505b506101a96004803603602081101561021a57600080610217610897565b50505b50356001600160a01b03166103df565b34801561023f5760008061023c610897565b50505b506101a961045a565b34801561025d5760008061025a610897565b50505b506101c96105dd565b34801561027b57600080610278610897565b50505b506101a9600480360360c081101561029b57600080610298610897565b50505b8101906020810181356401000000008111156102bf576000806102bc610897565b50505b8201836020820111156102da576000806102d7610897565b50505b8035906020019184600183028401116401000000008311171561030557600080610302610897565b50505b9193509150803590602081013590604081013590606081013590608001356105e8565b34801561033d5760008061033a610897565b50505b506101c9610721565b61034e61072d565b806001808061035b6107aa565b816001600160a01b0302191690836001600160a01b031602179061037d6109ef565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600060016103cc6107aa565b906101000a90046001600160a01b031681565b6103e761072d565b8060026001816103f56107aa565b816001600160a01b0302191690836001600160a01b03160217906104176109ef565b5050507f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e816040516001600160a01b03909116815260200160405180910390a150565b600060016104666107aa565b906101000a90046001600160a01b03166001600160a01b03165a610488610805565b6001600160a01b0316146104d65760405162461bcd60e51b8152600401808060200182810382526035815260200180610a3e60359139604001915050604051809103906104d3610897565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806105026107aa565b906101000a90046001600160a01b0316600160009061051f6107aa565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161055e6107aa565b906101000a90046001600160a01b03166000806101000a8161057e6107aa565b816001600160a01b0302191690836001600160a01b03160217906105a06109ef565b5050506000600160006101000a816105b66107aa565b816001600160a01b0302191690836001600160a01b03160217906105d86109ef565b505050565b6000806103cc6107aa565b600060026105f46107aa565b906101000a90046001600160a01b03166001600160a01b03165a610616610805565b6001600160a01b0316146106705760405162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b60448201526064016040518091039061066d610897565b50505b8560608882806020601f82018190048102016040519081016040528181529291906020840183838082843760009201919091525092935089925050811590506106d857600181146106e357600281146106ef57600381146106fc576004811461070a57610715565b8260208301a0610715565b868360208401a1610715565b85878460208501a2610715565b8486888560208601a3610715565b838587898660208701a45b50505050505050505050565b600060026103cc6107aa565b6000806107386107aa565b906101000a90046001600160a01b03166001600160a01b03165a61075a610805565b6001600160a01b0316146107a85760405162461bcd60e51b815260040180806020018281038252602f815260200180610a73602f9139604001915050604051809103906107a5610897565b50505b565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156105d8576000828201526020016107ee565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206107ee565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206107ee565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156108cf5780860151828201604001526020016108b4565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6385979f76598160e01b8152610935565b808083111561091f5750815b92915050565b808083101561091f575090919050565b836004820152846024820152606060448201528760648201526084810160005b8981101561096d578089015182820152602001610955565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596109c28e3d610925565b8d016109ce8187610913565b5b828110156109e357600081526020016109cf565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206107ee56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0x1e84bdcd34ca237a148738ea651c354fc7a63049db067eee4af5b74261ac052b",
				"urls": [
					"bzz-raw://753e124b4e8ec525ca4759435860f8e61cf6409a78722a479bfd68429c6639c3",
					"dweb:/ipfs/QmPAt8dxXVFz3X9QeTULTUVUrKJuw9v9BvDdjBAyBpLQfz"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0x1e84bdcd34ca237a148738ea651c354fc7a63049db067eee4af5b74261ac052b",
						"urls": [
							"bzz-raw://753e124b4e8ec525ca4759435860f8e61cf6409a78722a479bfd68429c6639c3",
							"dweb:/ipfs/QmPAt8dxXVFz3X9QeTULTUVUrKJuw9v9BvDdjBAyBpLQfz"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "60806040523480156200001c57600080620000196200023e565b50505b5060405162001c1938038062001c19833981810160405260408110156200004d576000806200004a6200023e565b50505b810190808051929190602001805192508291508390506001600160a01b038116620000c95760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c66200023e565b50505b806000600181620000d9620002ab565b816001600160a01b0302191690836001600160a01b0316021790620000fd6200030d565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000808062000156620002ab565b906101000a90046001600160a01b03166001600160a01b03161415620001c15760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620001be6200023e565b50505b806002600181620001d1620002ab565b816001600160a01b0302191690836001600160a01b0316021790620001f56200030d565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a15050506200035c565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620002785780860151828201604001526020016200025b565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200030857600082820152602001620002ef565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620002ef565b6118ad806200036c6000396000f3fe608060405234801561001957600080610016611517565b50505b50600436106101b25760003560e01c806353a47bb711610102578063a209a29c116100a0578063ba69fcaa1161007a578063ba69fcaa146105a8578063bdc963d8146105ce578063c9a52d2c146105f4578063f58660661461068f576101b2565b8063a209a29c1461054e578063a77aa49e14610574578063aefc4ccb146105a0576101b2565b80638267a9ee116100dc5780638267a9ee146104d45780638da5cb5b146104fa5780639007127b1461050257806393fe424814610528576101b2565b806353a47bb71461048f5780635a2bf25a1461049757806379ba5097146104cc576101b2565b806325cf512d1161016f5780633eba9ed2116101495780633eba9ed21461035357806344bfa56e146103815780634c77e5ba1461041e57806352f445ca14610460576101b2565b806325cf512d146102d55780633562fd20146103015780633cc1635c1461032d576101b2565b8063025ec81a146101c0578063043106c0146101f85780630c55d92514610220578063124f2418146102465780631627540c1461026c57806317e7dd221461029b575b6000806101bd611517565b50505b6101e6600480360360208110156101df576000806101dc611517565b50505b503561072a565b60405190815260200160405180910390f35b61021e6004803603602081101561021757600080610214611517565b50505b5035610746565b005b61021e6004803603602081101561023f5760008061023c611517565b50505b50356107f5565b61021e6004803603602081101561026557600080610262611517565b50505b503561088d565b61021e6004803603602081101561028b57600080610288611517565b50505b50356001600160a01b0316610922565b6102c1600480360360208110156102ba576000806102b7611517565b50505b503561099c565b604051901515815260200160405180910390f35b61021e600480360360408110156102f4576000806102f1611517565b50505b50803590602001356109c6565b61021e600480360360408110156103205760008061031d611517565b50505b5080359060200135610a63565b61021e6004803603602081101561034c57600080610349611517565b50505b5035610af9565b61021e600480360360408110156103725760008061036f611517565b50505b50803590602001351515610b9d565b6103a7600480360360208110156103a05760008061039d611517565b50505b5035610c49565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156103e35780820151838201526020016103cb565b50505050905090810190601f1680156104105780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104446004803603602081101561043d5760008061043a611517565b50505b5035610d15565b6040516001600160a01b03909116815260200160405180910390f35b61021e6004803603602081101561047f5760008061047c611517565b50505b50356001600160a01b0316610d45565b610444610dc0565b61021e600480360360408110156104b6576000806104b3611517565b50505b50803590602001356001600160a01b0316610ddf565b61021e610e98565b61021e600480360360208110156104f3576000806104f0611517565b50505b5035611016565b6104446110ab565b6101e6600480360360208110156105215760008061051e611517565b50505b50356110b6565b61021e6004803603602081101561054757600080610544611517565b50505b50356110cc565b6103a76004803603602081101561056d5760008061056a611517565b50505b5035611161565b61021e6004803603604081101561059357600080610590611517565b50505b5080359060200135611215565b6104446112ab565b61021e600480360360208110156105c7576000806105c4611517565b50505b50356112b7565b6101e6600480360360208110156105ed576000806105ea611517565b50505b503561134c565b61021e6004803603604081101561061357600080610610611517565b50505b8135919081019060408101602082013564010000000081111561063e5760008061063b611517565b50505b82018360208201111561065957600080610656611517565b50505b8035906020019184600183028401116401000000008311171561068457600080610681611517565b50505b509092509050611362565b61021e600480360360408110156106ae576000806106ab611517565b50505b813591908101906040810160208201356401000000008111156106d9576000806106d6611517565b50505b8201836020820111156106f4576000806106f1611517565b50505b8035906020019184600183028401116401000000008311171561071f5760008061071c611517565b50505b509092509050611401565b6000818152600760205260408120610740611582565b92915050565b60006002610752611582565b906101000a90046001600160a01b03166001600160a01b03165a6107746115dd565b6001600160a01b0316146107c25760405162461bcd60e51b815260040180806020018281038252603481526020018061187960349139604001915050604051809103906107bf611517565b50505b60008181526005602052604090206001816107db611582565b906001600160a01b03021916906107f0611623565b505050565b60006002610801611582565b906101000a90046001600160a01b03166001600160a01b03165a6108236115dd565b6001600160a01b0316146108715760405162461bcd60e51b8152600401808060200182810382526034815260200180611879603491396040019150506040518091039061086e611517565b50505b600081815260066020526040902061088a906000611671565b50565b60006002610899611582565b906101000a90046001600160a01b03166001600160a01b03165a6108bb6115dd565b6001600160a01b0316146109095760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390610906611517565b50505b60008181526007602052604090206000906107f0611623565b61092a61149a565b8060018080610937611582565b816001600160a01b0302191690836001600160a01b0316021790610959611623565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60008181526008602052604081206000906109b5611582565b906101000a900460ff169050919050565b600060026109d2611582565b906101000a90046001600160a01b03166001600160a01b03165a6109f46115dd565b6001600160a01b031614610a425760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390610a3f611517565b50505b600082815260076020528190604090208190610a5c611623565b5050505050565b60006002610a6f611582565b906101000a90046001600160a01b03166001600160a01b03165a610a916115dd565b6001600160a01b031614610adf5760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390610adc611517565b50505b600082815260036020528190604090208190610a5c611623565b60006002610b05611582565b906101000a90046001600160a01b03166001600160a01b03165a610b276115dd565b6001600160a01b031614610b755760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390610b72611517565b50505b6000818152600860205260409020600181610b8e611582565b9060ff021916906107f0611623565b60006002610ba9611582565b906101000a90046001600160a01b03166001600160a01b03165a610bcb6115dd565b6001600160a01b031614610c195760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390610c16611517565b50505b60008281526008602052819060409020600181610c34611582565b8160ff02191690831515021790610a5c611623565b600081815260066020526060906040902080610c63611582565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610c9d611582565b60018160011615610100020316600290048015610d095780601f10610cd7576101008083610cc9611582565b040283529160200191610d09565b820191906000526020600020905b81610cee611582565b81529060010190602001808311610ce557829003601f168201915b50505050509050919050565b6000818152600560205260408120600090610d2e611582565b906101000a90046001600160a01b03169050919050565b610d4d61149a565b806002600181610d5b611582565b816001600160a01b0302191690836001600160a01b0316021790610d7d611623565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610dcc611582565b906101000a90046001600160a01b031681565b60006002610deb611582565b906101000a90046001600160a01b03166001600160a01b03165a610e0d6115dd565b6001600160a01b031614610e5b5760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390610e58611517565b50505b60008281526005602052819060409020600181610e76611582565b816001600160a01b0302191690836001600160a01b0316021790610a5c611623565b60006001610ea4611582565b906101000a90046001600160a01b03166001600160a01b03165a610ec66115dd565b6001600160a01b031614610f145760405162461bcd60e51b81526004018080602001828103825260358152602001806118156035913960400191505060405180910390610f11611517565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610f40611582565b906101000a90046001600160a01b03166001600090610f5d611582565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610f9c611582565b906101000a90046001600160a01b03166000806101000a81610fbc611582565b816001600160a01b0302191690836001600160a01b0316021790610fde611623565b5050506000600160006101000a81610ff4611582565b816001600160a01b0302191690836001600160a01b03160217906107f0611623565b60006002611022611582565b906101000a90046001600160a01b03166001600160a01b03165a6110446115dd565b6001600160a01b0316146110925760405162461bcd60e51b8152600401808060200182810382526034815260200180611879603491396040019150506040518091039061108f611517565b50505b60008181526009602052604090206000906107f0611623565b600080610dcc611582565b6000818152600960205260408120610740611582565b600060026110d8611582565b906101000a90046001600160a01b03166001600160a01b03165a6110fa6115dd565b6001600160a01b0316146111485760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390611145611517565b50505b60008181526003602052604090206000906107f0611623565b60008181526004602052606090604090208061117b611582565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806111b5611582565b60018160011615610100020316600290048015610d095780601f106111e1576101008083610cc9611582565b820191906000526020600020905b816111f8611582565b815290600101906020018083116111ef5750939695505050505050565b60006002611221611582565b906101000a90046001600160a01b03166001600160a01b03165a6112436115dd565b6001600160a01b0316146112915760405162461bcd60e51b8152600401808060200182810382526034815260200180611879603491396040019150506040518091039061128e611517565b50505b600082815260096020528190604090208190610a5c611623565b60006002610dcc611582565b600060026112c3611582565b906101000a90046001600160a01b03166001600160a01b03165a6112e56115dd565b6001600160a01b0316146113335760405162461bcd60e51b81526004018080602001828103825260348152602001806118796034913960400191505060405180910390611330611517565b50505b600081815260046020526040902061088a906000611671565b6000818152600360205260408120610740611582565b6000600261136e611582565b906101000a90046001600160a01b03166001600160a01b03165a6113906115dd565b6001600160a01b0316146113de5760405162461bcd60e51b815260040180806020018281038252603481526020018061187960349139604001915050604051809103906113db611517565b50505b6000838152600660205282908290604090206113fb9290916116c3565b50505050565b6000600261140d611582565b906101000a90046001600160a01b03166001600160a01b03165a61142f6115dd565b6001600160a01b03161461147d5760405162461bcd60e51b8152600401808060200182810382526034815260200180611879603491396040019150506040518091039061147a611517565b50505b6000838152600460205282908290604090206113fb929091611763565b6000806114a5611582565b906101000a90046001600160a01b03166001600160a01b03165a6114c76115dd565b6001600160a01b0316146115155760405162461bcd60e51b815260040180806020018281038252602f81526020018061184a602f913960400191505060405180910390611512611517565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561154f578086015182820160400152602001611534565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156107f0576000828201526020016115c6565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206115c6565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206115c6565b508061167b611582565b6001816001161561010002031660029004600082611697611623565b505080601f106116a7575061088a565b601f016020900490600052602060002061088a918101906117ec565b82806116cd611582565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106117145782800160ff19823516178561170d611623565b5050611753565b82800160010185611723611623565b50508215611753579182015b8281111561175357823582611742611623565b50509160200191906001019061172f565b5061175f9291506117ec565b5090565b828061176d611582565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106117ad5782800160ff19823516178561170d611623565b828001600101856117bc611623565b50508215611753579182015b82811115611753578235826117db611623565b5050916020019190600101906117c8565b61181191905b8082111561175f5760008082611806611623565b5050506001016117f2565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				}
			],
			"source": {
				"keccak256": "0xdb65ca6894b3cbbd87e36f87e03a3725a1990dc2d00c2757f9e9fbfdf1a27058",
				"urls": [
					"bzz-raw://cc5f131e69a76f6e9587eb06a875c0d36643e06a19db414032ca8072dd18c9ec",
					"dweb:/ipfs/QmQ87CJkoprB3o1AAxHy6sQQxB933szYdFJwGxhJHhQXTh"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0xdb65ca6894b3cbbd87e36f87e03a3725a1990dc2d00c2757f9e9fbfdf1a27058",
						"urls": [
							"bzz-raw://cc5f131e69a76f6e9587eb06a875c0d36643e06a19db414032ca8072dd18c9ec",
							"dweb:/ipfs/QmQ87CJkoprB3o1AAxHy6sQQxB933szYdFJwGxhJHhQXTh"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "608060405260405160a08101604090815269105c1c1c9bdd99505b1b60b21b82526d4275726e466f724164647265737360901b60208301526e4973737565466f724164647265737360881b908201526e436c61696d466f724164647265737360881b60608201527145786368616e6765466f724164647265737360701b60808201526200009190600290600562000213565b50348015620000aa57600080620000a762000261565b50505b50604051620018763803806200187683398181016040526040811015620000db57600080620000d862000261565b50505b81019080805192919060200180519250839150506001600160a01b038116620001555760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906200015262000261565b50505b80600060018162000165620002ce565b816001600160a01b0302191690836001600160a01b03160217906200018962000330565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150806007600181620001e4620002ce565b816001600160a01b0302191690836001600160a01b03160217906200020862000330565b5050505050620003ac565b82600581019282156200024f579160200282015b828111156200024f578251826200023d62000330565b50509160200191906001019062000227565b506200025d9291506200037f565b5090565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200029b5780860151828201604001526020016200027e565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200032b5760008282015260200162000312565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000312565b620003a991905b808211156200025d57600080826200039d62000330565b50505060010162000386565b90565b6114ba80620003bc6000396000f3fe6080604052348015610019576000806100166110d8565b50505b50600436106101975760003560e01c80638da5cb5b116100e7578063b5bb5619116100a0578063c5e17ab01161007a578063c5e17ab014610529578063d8eeb7c114610531578063e32b3f5214610539578063faf431bb1461054157610197565b8063b5bb56191461049c578063b9156efa146104cb578063bc87acbf146104fa57610197565b80638da5cb5b146103ef57806398ff9c54146103f75780639c79ce35146103ff5780639cbc2ebe1461042e5780639f61d33614610436578063b42e0f151461046557610197565b8063447fbc63116101545780636c8bc9fe1161012e5780636c8bc9fe146103525780636f95200b1461038157806379ba5097146103b05780637d3f0ba2146103b857610197565b8063447fbc63146102d057806353a47bb7146102ff57806359cec3d61461032357610197565b806304872617146101a55780631627540c146101f057806321f4ae57146102215780632c70aecf146102585780634180e5b514610272578063431ce540146102a1575b6000806101a26110d8565b50505b6101dc600480360360408110156101c4576000806101c16110d8565b50505b506001600160a01b0381358116916020013516610578565b604051901515815260200160405180910390f35b61021f6004803603602081101561020f5760008061020c6110d8565b50505b50356001600160a01b03166105a0565b005b6101dc600480360360408110156102405760008061023d6110d8565b50505b506001600160a01b038135811691602001351661061a565b610260610639565b60405190815260200160405180910390f35b61021f600480360360208110156102915760008061028e6110d8565b50505b50356001600160a01b031661064f565b61021f600480360360208110156102c0576000806102bd6110d8565b50505b50356001600160a01b0316610677565b61021f600480360360208110156102ef576000806102ec6110d8565b50505b50356001600160a01b031661069c565b6103076106be565b6040516001600160a01b03909116815260200160405180910390f35b61021f600480360360208110156103425760008061033f6110d8565b50505b50356001600160a01b03166106dd565b61021f600480360360208110156103715760008061036e6110d8565b50505b50356001600160a01b03166106fb565b61021f600480360360208110156103a05760008061039d6110d8565b50505b50356001600160a01b031661071a565b61021f61075a565b6101dc600480360360408110156103d7576000806103d46110d8565b50505b506001600160a01b03813581169160200135166108dd565b6103076108fb565b610307610906565b61021f6004803603602081101561041e5760008061041b6110d8565b50505b50356001600160a01b0316610912565b610260610930565b61021f60048036036020811015610455576000806104526110d8565b50505b50356001600160a01b0316610941565b6101dc60048036036040811015610484576000806104816110d8565b50505b506001600160a01b0381358116916020013516610960565b61021f600480360360208110156104bb576000806104b86110d8565b50505b50356001600160a01b0316610a42565b61021f600480360360208110156104ea576000806104e76110d8565b50505b50356001600160a01b0316610b27565b61021f60048036036020811015610519576000806105166110d8565b50505b50356001600160a01b0316610b49565b610260610b63565b610260610b79565b610260610b92565b6101dc600480360360408110156105605760008061055d6110d8565b50505b506001600160a01b0381358116916020013516610ba7565b60006105976e4973737565466f724164647265737360881b8484610bc5565b90505b92915050565b6105a8610cb5565b80600180806105b5611143565b816001600160a01b0302191690836001600160a01b03160217906105d761119e565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60006105976e436c61696d466f724164647265737360881b8484610bc5565b6e4973737565466f724164647265737360881b81565b6106746e436c61696d466f724164647265737360881b5a61066e6111ec565b83610d2f565b50565b6106746e4973737565466f724164647265737360881b5a6106966111ec565b83610e9a565b6106747145786368616e6765466f724164647265737360701b5a61066e6111ec565b600060016106ca611143565b906101000a90046001600160a01b031681565b6106746d4275726e466f724164647265737360901b5a6106966111ec565b6106746e436c61696d466f724164647265737360881b5a6106966111ec565b60005b60058110156107565761074e6002826005811061073657fe5b0161073f611143565b5a6107486111ec565b84610e9a565b60010161071d565b5050565b60006001610766611143565b906101000a90046001600160a01b03166001600160a01b03165a6107886111ec565b6001600160a01b0316146107d65760405162461bcd60e51b815260040180806020018281038252603581526020018061145660359139604001915050604051809103906107d36110d8565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610802611143565b906101000a90046001600160a01b0316600160009061081f611143565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161085e611143565b906101000a90046001600160a01b03166000806101000a8161087e611143565b816001600160a01b0302191690836001600160a01b03160217906108a061119e565b5050506000600160006101000a816108b6611143565b816001600160a01b0302191690836001600160a01b03160217906108d861119e565b505050565b60006105976d4275726e466f724164647265737360901b8484610bc5565b6000806106ca611143565b600060076106ca611143565b6106746d4275726e466f724164647265737360901b5a61066e6111ec565b69105c1c1c9bdd99505b1b60b21b81565b6106746e4973737565466f724164647265737360881b5a61066e6111ec565b600080600761096d611143565b906101000a90046001600160a01b03166001600160a01b03166317e7dd226109a369105c1c1c9bdd99505b1b60b21b868661106d565b6040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806109d5611232565b1580156109ea576000806109e76110d8565b50505b505a6109f461127e565b5050505050158015610a13573d6000803e3d6000610a106110d8565b50505b505050506040513d6020811015610a3257600080610a2f6110d8565b50505b8101908080519695505050505050565b610a4a610cb5565b6001600160a01b038116610a985760405162461bcd60e51b81526004018080602001828103825260268152602001806114306026913960400191505060405180910390610a956110d8565b50505b806007600181610aa6611143565b816001600160a01b0302191690836001600160a01b0316021790610ac861119e565b5050507fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a176007600090610af9611143565b906101000a90046001600160a01b03166040516001600160a01b03909116815260200160405180910390a150565b6106747145786368616e6765466f724164647265737360701b5a6106966111ec565b61067469105c1c1c9bdd99505b1b60b21b5a61066e6111ec565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006105977145786368616e6765466f724164647265737360701b84845b6000610bd18383610960565b15610bde57506001610cae565b60006007610bea611143565b906101000a90046001600160a01b03166001600160a01b03166317e7dd22610c1386868661106d565b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610c45611232565b158015610c5a57600080610c576110d8565b50505b505a610c6461127e565b5050505050158015610c83573d6000803e3d6000610c806110d8565b50505b505050506040513d6020811015610ca257600080610c9f6110d8565b50505b81019080805193505050505b9392505050565b600080610cc0611143565b906101000a90046001600160a01b03166001600160a01b03165a610ce26111ec565b6001600160a01b031614610d2d5760405162461bcd60e51b815260040180806020018281038252602f81526020018061148b602f9139604001915050604051809103906107566110d8565b565b6001600160a01b038116610d925760405162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015260640160405180910390610d8f6110d8565b50505b60006007610d9e611143565b906101000a90046001600160a01b03166001600160a01b0316633eba9ed2610dc785858561106d565b60016040516001600160e01b031960e085901b16815260048101929092521515602482015260440160006040518083038160008780610e04611232565b158015610e1957600080610e166110d8565b50505b505a610e23611369565b505050505050158015610e43573d6000803e3d6000610e406110d8565b50505b50505050816001600160a01b03167f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633682856040516001600160a01b03909216825260208201526040908101905180910390a2505050565b60006007610ea6611143565b906101000a90046001600160a01b03166001600160a01b03166317e7dd22610ecf85858561106d565b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610f01611232565b158015610f1657600080610f136110d8565b50505b505a610f2061127e565b5050505050158015610f3f573d6000803e3d6000610f3c6110d8565b50505b505050506040513d6020811015610f5e57600080610f5b6110d8565b50505b8101908080511592506108d89150505760006007610f7a611143565b906101000a90046001600160a01b03166001600160a01b0316633cc1635c610fa385858561106d565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780610fd7611232565b158015610fec57600080610fe96110d8565b50505b505a610ff6611369565b505050505050158015611016573d6000803e3d60006110136110d8565b50505b50505050816001600160a01b03167f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4182856040516001600160a01b03909216825260208201526040908101905180910390a2505050565b600083838360405160200180848152602001836001600160a01b03166001600160a01b031660601b8152601401826001600160a01b03166001600160a01b031660601b8152601401935050505060405160208183030381529060405280519060200120949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156111105780860151828201604001526020016110f5565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156108d857600082820152602001611187565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611187565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611187565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611187565b638540661f598160e01b81526112af565b808083111561059a575090919050565b808083101561059a575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156112e75780880151828201526020016112cf565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af1505961133c8d3d61129f565b8c01611348818761128f565b5b8281101561135d5760008152602001611349565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b898110156113ad578089015182820152602001611395565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596114028e3d61129f565b8d0161140e818761128f565b5b82811015611423576000815260200161140f565b50929d5050505050505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event",
					"signature": "0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "WithdrawApproval",
					"type": "event",
					"signature": "0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbc2ebe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32b3f52"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5e17ab0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd8eeb7c1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c70aecf"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc87acbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c79ce35"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4180e5b5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x447fbc63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f61d336"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approvedAll",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb42e0f15"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canBurnFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d3f0ba2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canClaimFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f4ae57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canExchangeFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfaf431bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canIssueFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04872617"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98ff9c54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f95200b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59cec3d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c8bc9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb9156efa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x431ce540"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5bb5619"
				}
			],
			"source": {
				"keccak256": "0x4015209604a1b347993c1d53355ffac2cd1dc1e1e3050fee47999ab4bce3d493",
				"urls": [
					"bzz-raw://8f0f11fbab0285dca5f2c7f24a8abc9917120205b961bf30f0ab021ecec35564",
					"dweb:/ipfs/QmQGeDFYaWxH8mosoweD7beTPJejyeDfFG4xG3A7PCf3oD"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0x4015209604a1b347993c1d53355ffac2cd1dc1e1e3050fee47999ab4bce3d493",
						"urls": [
							"bzz-raw://8f0f11fbab0285dca5f2c7f24a8abc9917120205b961bf30f0ab021ecec35564",
							"dweb:/ipfs/QmQGeDFYaWxH8mosoweD7beTPJejyeDfFG4xG3A7PCf3oD"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "60806040523480156200001c57600080620000196200018a565b50505b50604051620029ef380380620029ef833981810160405260408110156200004d576000806200004a6200018a565b50505b81019080805192919060200180519250829150819050836001600160a01b038116620000ca5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c76200018a565b50505b806000600181620000da620001f7565b816001600160a01b0302191690836001600160a01b0316021790620000fe62000259565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000159620001f7565b816001600160a01b0302191690836001600160a01b03160217906200017d62000259565b50505050505050620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c4578086015182820160400152602001620001a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000254576000828201526020016200023b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023b565b61273780620002b86000396000f3fe608060405234801561001957600080610016612252565b50505b506004361061014b5760003560e01c806379ba5097116100c1578063974e9e7f11610085578063974e9e7f14610309578063a0cf745114610338578063ad2bc2d514610340578063b410a0341461036f578063c49e80a614610377578063d45c0d7e146103a65761014b565b806379ba509714610267578063828afc4b1461026f578063899ffef41461029e5780638d1bd1be146102f95780638da5cb5b146103015761014b565b80632af64bd3116101135780632af64bd3146101fc57806339a9df1b1461021857806353a47bb7146102475780636a0589661461024f578063741853601461025757806374e889c91461025f5761014b565b806304f3bcec146101595780630ac045d51461017d5780631627540c146101bb5780631775765f146101ec57806323f5589a146101f4575b600080610156612252565b50505b6101616103d5565b6040516001600160a01b03909116815260200160405180910390f35b6101a96004803603604081101561019c57600080610199612252565b50505b50803590602001356103f4565b60405190815260200160405180910390f35b6101ea600480360360208110156101da576000806101d7612252565b50505b50356001600160a01b031661052a565b005b6101a96105a4565b6101a96105b4565b6102046105be565b604051901515815260200160405180910390f35b6102046004803603602081101561023757600080610234612252565b50505b50356001600160a01b031661074d565b610161610775565b6101a9610781565b6101ea610799565b6101a96109cc565b6101ea6109e6565b6101a96004803603602081101561028e5760008061028b612252565b50505b50356001600160a01b0316610b69565b6102a6610b87565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156102e55780820151838201526020016102cd565b505050509050019250505060405180910390f35b6101a9610cab565b610161610d6b565b6101ea6004803603602081101561032857600080610325612252565b50505b50356001600160a01b0316610d76565b6101a9610e04565b6101ea6004803603602081101561035f5760008061035c612252565b50505b50356001600160a01b0316610e0e565b6101a96110e8565b6102046004803603602081101561039657600080610393612252565b50505b50356001600160a01b03166110f2565b6101ea600480360360208110156103c5576000806103c2612252565b50505b50356001600160a01b03166111ff565b600060026103e16122bd565b906101000a90046001600160a01b031681565b6000806103ff611637565b9050600073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680610442612318565b15801561045757600080610454612252565b50505b505a610461612364565b5050505050158015610480573d6000803e3d600061047d612252565b50505b505050506040513d602081101561049f5760008061049c612252565b50505b8101908080519350600092506104cf91506104c29050868563ffffffff61171416565b879063ffffffff61173e16565b9050600061050b6104fe856104f26104e56117a3565b879063ffffffff61181a16565b9063ffffffff61171416565b849063ffffffff61173e16565b905061051d828263ffffffff61188316565b9450505050505b92915050565b6105326118ad565b806001808061053f6122bd565b816001600160a01b0302191690836001600160a01b031602179061056161244f565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60006105ae611927565b90505b90565b60006105ae6117a3565b600060606105ca610b87565b905060005b81518110156107445760008282815181106105e657fe5b6020026020010151600081815260036020529091506040902060009061060a6122bd565b6001600160a01b036101009290920a900416600060026106286122bd565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610679612318565b15801561068e5760008061068b612252565b50505b505a61069861249d565b50505050501580156106b7573d6000803e3d60006106b4612252565b50505b505050506040513d60208110156106d6576000806106d3612252565b50505b8101908080516001600160a01b03169390931415925082915061072a90505750600081815260036020526040812060009061070f6122bd565b906101000a90046001600160a01b03166001600160a01b0316145b1561073b57600093505050506105b1565b506001016105cf565b50600191505090565b60006107576124ae565b6107608361199c565b905061076c8151611a80565b9150505b919050565b600060016103e16122bd565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b60606107a3610b87565b905060005b81518110156109c85760008282815181106107bf57fe5b6020026020010151905060008060026107d66122bd565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561088b578082015183820152602001610873565b50505050905090810190601f1680156108b85780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186806108d1612318565b1580156108e6576000806108e3612252565b50505b505a6108f061249d565b505050505015801561090f573d6000803e3d600061090c612252565b50505b505050506040513d602081101561092e5760008061092b612252565b50505b81019080805160008681526003602052909450849350604092509050206001816109566122bd565b816001600160a01b0302191690836001600160a01b031602179061097861244f565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a150506001016107a8565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b600060016109f26122bd565b906101000a90046001600160a01b03166001600160a01b03165a610a146124c5565b6001600160a01b031614610a625760405162461bcd60e51b81526004018080602001828103825260358152602001806126186035913960400191505060405180910390610a5f612252565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610a8e6122bd565b906101000a90046001600160a01b03166001600090610aab6122bd565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610aea6122bd565b906101000a90046001600160a01b03166000806101000a81610b0a6122bd565b816001600160a01b0302191690836001600160a01b0316021790610b2c61244f565b5050506000600160006101000a81610b426122bd565b816001600160a01b0302191690836001600160a01b0316021790610b6461244f565b505050565b6000610b736124ae565b610b7c8361199c565b905080519392505050565b606080610b92611a9d565b905060606005604051908082528060200260200182016040528015610bc1578160200160208202803883390190505b5090506b53797374656d53746174757360a01b81600081518110610be157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610c0757fe5b6020026020010181815250507f457465726e616c53746f726167654c69717569646174696f6e7300000000000081600281518110610c4157fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110610c6457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600481518110610c8e57fe5b602002602001018181525050610ca48282611afc565b9250505090565b60006105ae610cb8611927565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680610cf7612318565b158015610d0c57600080610d09612252565b50505b505a610d16612364565b5050505050158015610d35573d6000803e3d6000610d32612252565b50505b505050506040513d6020811015610d5457600080610d51612252565b50505b8101908080519392505063ffffffff611bb8169050565b6000806103e16122bd565b610d7e611bcd565b6001600160a01b03165a610d906124c5565b6001600160a01b031614610dde5760405162461bcd60e51b815260040180806020018281038252603e8152602001806126b1603e913960400191505060405180910390610ddb612252565b50505b610de66124ae565b610def8261199c565b90506000815111156109c8576109c882611be1565b60006105ae611d81565b620a69cb60eb1b610e1d611df6565b6001600160a01b0316632528f0fe826040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610e5e612318565b158015610e7357600080610e70612252565b50505b505a610e7d61249d565b5050505050158015610e9c573d6000803e3d6000610e99612252565b50505b505050506040513d6020811015610ebb57600080610eb8612252565b50505b810190808051159250610f209150505760405162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015260640160405180910390610f1d612252565b50505b610f28611e11565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680610f5b612318565b158015610f7057600080610f6d612252565b50505b505a610f7a61249d565b5050505050158015610f99573d6000803e3d6000610f96612252565b50505b50505050610fa56124ae565b610fae8361199c565b9050600081511161100e5760405162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e20736574000060448201526064016040518091039061100b612252565b50505b6000611018611e2b565b6001600160a01b031663a311c7c2856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611061612318565b15801561107657600080611073612252565b50505b505a61108061249d565b505050505015801561109f573d6000803e3d600061109c612252565b50505b505050506040513d60208110156110be576000806110bb612252565b50505b81019080805193506110d39250611637915050565b81116110e2576110e284611be1565b50505050565b60006105ae611637565b6000806110fd611e2b565b6001600160a01b031663a311c7c2846040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611146612318565b15801561115b57600080611158612252565b50505b505a61116561249d565b5050505050158015611184573d6000803e3d6000611181612252565b50505b505050506040513d60208110156111a3576000806111a0612252565b50505b81019080805193506111b89250611637915050565b81116111c8576000915050610770565b6111d06124ae565b6111d98461199c565b90506111e58151611a80565b156111f557600192505050610770565b5060009392505050565b620a69cb60eb1b61120e611df6565b6001600160a01b0316632528f0fe826040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061124f612318565b15801561126457600080611261612252565b50505b505a61126e61249d565b505050505015801561128d573d6000803e3d600061128a612252565b50505b505050506040513d60208110156112ac576000806112a9612252565b50505b8101908080511592506113119150505760405162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e7468000000000060448201526064016040518091039061130e612252565b50505b611319611e11565b6001600160a01b031663086dabd16040518163ffffffff1660e01b8152600401600060405180830381868061134c612318565b1580156113615760008061135e612252565b50505b505a61136b61249d565b505050505015801561138a573d6000803e3d6000611387612252565b50505b505050506000611398611927565b116113f25760405162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f7420736574000000000000006044820152606401604051809103906113ef612252565b50505b60006113fc611d81565b116114565760405162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015260640160405180910390611453612252565b50505b61145e6124ae565b6114678361199c565b90508051156114b05760405162461bcd60e51b815260040180806020018281038252602781526020018061271060279139604001915050604051809103906114ad612252565b50505b60006114ba611e2b565b6001600160a01b031663a311c7c2856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611503612318565b15801561151857600080611515612252565b50505b505a61152261249d565b5050505050158015611541573d6000803e3d600061153e612252565b50505b505050506040513d60208110156115605760008061155d612252565b50505b81019080805193506115759250611927915050565b8110156115bc5760405162461bcd60e51b815260040180806020018281038252603581526020018061264d60359139604001915050604051809103906115b9612252565b50505b60006115de6115c9611d81565b5a6115d261250b565b9063ffffffff61181a16565b90506115f385825a6115ee6124c5565b611e42565b846001600160a01b03167fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c138579968260405190815260200160405180910390a25050505050565b6000611641611fb4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806116a9612318565b1580156116be576000806116bb612252565b50505b505a6116c861249d565b50505050501580156116e7573d6000803e3d60006116e4612252565b50505b505050506040513d602081101561170657600080611703612252565b50505b810190808051935050505090565b6000670de0b6b3a764000061172f848463ffffffff611fd116565b8161173657fe5b049392505050565b60008282111561179d5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039061179a612252565b50505b50900390565b60006117ad611fb4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806116a9612318565b60008282018381101561187c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390611879612252565b50505b9392505050565b600061187c826118a185670de0b6b3a764000063ffffffff611fd116565b9063ffffffff61203016565b6000806118b86122bd565b906101000a90046001600160a01b03166001600160a01b03165a6118da6124c5565b6001600160a01b0316146119255760405162461bcd60e51b815260040180806020018281038252602f815260200180612682602f9139604001915050604051809103906109c8612252565b565b6000611931611fb4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806116a9612318565b6119a46124ae565b6119ac6120a2565b6001600160a01b031663bdc963d86119da724c69717569646174696f6e446561646c696e6560681b856120cd565b6040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680611a0c612318565b158015611a2157600080611a1e612252565b50505b505a611a2b61249d565b5050505050158015611a4a573d6000803e3d6000611a47612252565b50505b505050506040513d6020811015611a6957600080611a66612252565b50505b810190808051845250506000602083015250919050565b600080821180156105245750815a611a9661250b565b1192915050565b60606001604051908082528060200260200182016040528015611aca578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b81600081518110611aed57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611b2c578160200160208202803883390190505b50905060005b8351811015611b6e57838181518110611b4757fe5b6020026020010151828281518110611b5b57fe5b6020908102919091010152600101611b32565b5060005b8251811015611bb157828181518110611b8757fe5b6020026020010151828286510181518110611b9e57fe5b6020908102919091010152600101611b72565b5092915050565b600061187c8383670de0b6b3a764000061211a565b60006105ae6524b9b9bab2b960d11b612151565b611be96120a2565b6001600160a01b03166393fe4248611c17724c69717569646174696f6e446561646c696e6560681b846120cd565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780611c4b612318565b158015611c6057600080611c5d612252565b50505b505a611c6a612551565b505050505050158015611c8a573d6000803e3d6000611c87612252565b50505b50505050611c966120a2565b6001600160a01b031663043106c0611cc2702634b8bab4b230ba34b7b721b0b63632b960791b846120cd565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780611cf6612318565b158015611d0b57600080611d08612252565b50505b505a611d15612551565b505050505050158015611d35573d6000803e3d6000611d32612252565b50505b50505050806001600160a01b03167f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c875a611d6d61250b565b60405190815260200160405180910390a250565b6000611d8b611fb4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040516001600160e01b031960e085901b1681526004810192909252602482015260440160206040518083038186806116a9612318565b60006105ae6c45786368616e6765526174657360981b612151565b60006105ae6b53797374656d53746174757360a01b612151565b60006105ae680a6f2dce8d0cae8d2f60bb1b612151565b611e4a6120a2565b6001600160a01b0316633562fd20611e78724c69717569646174696f6e446561646c696e6560681b866120cd565b846040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780611eb2612318565b158015611ec757600080611ec4612252565b50505b505a611ed1612551565b505050505050158015611ef1573d6000803e3d6000611eee612252565b50505b50505050611efd6120a2565b6001600160a01b0316635a2bf25a611f29702634b8bab4b230ba34b7b721b0b63632b960791b866120cd565b836040516001600160e01b031960e085901b16815260048101929092526001600160a01b0316602482015260440160006040518083038160008780611f6c612318565b158015611f8157600080611f7e612252565b50505b505a611f8b612551565b505050505050158015611fab573d6000803e3d6000611fa8612252565b50505b50505050505050565b60006105ae6e466c657869626c6553746f7261676560881b612151565b600082611fe057506000610524565b82820282848281611fed57fe5b041461187c5760405162461bcd60e51b81526004018080602001828103825260218152602001806126ef6021913960400191505060405180910390611879612252565b600080821161208e5760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016040518091039061208b612252565b50505b600082848161209957fe5b04949350505050565b60006105ae7f457465726e616c53746f726167654c69717569646174696f6e73000000000000612151565b6000828260405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001209392505050565b600080612134846118a187600a870263ffffffff611fd116565b90506005600a82061061214557600a015b600a9004949350505050565b60008181526003602052806040812060009061216b6122bd565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b6020820152603181019190915260510160405160208183030381529060405290611bb15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122085780820151838201526020016121f0565b50505050905090810190601f1680156122355780820380516001836020036101000a031916815260200191505b509250505060405180910390612249612252565b50505092915050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561228a57808601518282016040015260200161226f565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610b6457600082820152602001612301565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020612301565b63ffe73914598160e01b8152612395565b8080831115610524575090919050565b8080831015610524575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156123cd5780880151828201526020016123b5565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596124228d3d612385565b8c0161242e8187612375565b5b82811015612443576000815260200161242f565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020612301565b638540661f598160e01b8152612395565b604051604080820190526000808252602082015290565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020612301565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020612301565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b8981101561259557808901518282015260200161257d565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596125ea8e3d612385565b8d016125f68187612375565b5b8281101561260b57600081526020016125f7565b50929d5050505050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						}
					],
					"name": "AccountFlaggedForLiquidation",
					"type": "event",
					"signature": "0xc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountRemovedFromLiquidation",
					"type": "event",
					"signature": "0x9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c87"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_CALLER",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a058966"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_DEADLINE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x74e889c9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ac045d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAndRemoveAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad2bc2d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagAccountForLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd45c0d7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationDeadlineForAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x828afc4b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39a9df1b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isOpenForLiquidation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc49e80a6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d1bd1be"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "removeAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x974e9e7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0x571a2669ec42d397d69e7b03e4e9945065db3777fc70c09a0409e1e8c09e5223",
				"urls": [
					"bzz-raw://ac582ff51362c65f0f894586d840d38369d507b9deac7087b61687040cd29976",
					"dweb:/ipfs/QmPS6RFRJYJYw4jNvcpg5rSbhXiAij8gmKT5BLcxEQtdvR"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidations.sol": "Liquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Liquidations.sol": {
						"keccak256": "0x571a2669ec42d397d69e7b03e4e9945065db3777fc70c09a0409e1e8c09e5223",
						"urls": [
							"bzz-raw://ac582ff51362c65f0f894586d840d38369d507b9deac7087b61687040cd29976",
							"dweb:/ipfs/QmPS6RFRJYJYw4jNvcpg5rSbhXiAij8gmKT5BLcxEQtdvR"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "60806040523480156200001c576000806200001962000264565b50505b506040516200219938038062002199833981810160405260408110156200004d576000806200004a62000264565b50505b8101908080519291906020018051925062375f0091508390508280826001600160a01b038116620000cf5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000cc62000264565b50505b806000600181620000df620002d1565b816001600160a01b0302191690836001600160a01b03160217906200010362000333565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200015c620002d1565b906101000a90046001600160a01b03166001600160a01b03161415620001c75760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620001c462000264565b50505b806002600181620001d7620002d1565b816001600160a01b0302191690836001600160a01b0316021790620001fb62000333565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a1505050805a6200024a62000382565b0180600a6200025862000333565b505050505050620003c9565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200029e57808601518282016040015260200162000281565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200032e5760008282015260200162000315565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000315565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000315565b611dc080620003d96000396000f3fe608060405234801561001957600080610016611884565b50505b50600436106101d85760003560e01c806353a47bb71161010d578063a209a29c116100ab578063ba69fcaa1161007a578063ba69fcaa146106d3578063bdc963d8146106f9578063c9a52d2c1461071f578063f5866066146107b8576101d8565b8063a209a29c1461057c578063a77aa49e146105a2578063aefc4ccb146105ce578063b3ffbd9e146105d6576101d8565b80638267a9ee116100e75780638267a9ee146105025780638da5cb5b146105285780639007127b1461053057806393fe424814610556576101d8565b806353a47bb7146104bd5780635a2bf25a146104c557806379ba5097146104fa576101d8565b80633562fd201161017a57806344bfa56e1161015457806344bfa56e146103a757806346ba2d90146104445780634c77e5ba1461044c57806352f445ca1461048e576101d8565b80633562fd20146103275780633cc1635c146103535780633eba9ed214610379576101d8565b8063124f2418116101b6578063124f24181461026c5780631627540c1461029257806317e7dd22146102c157806325cf512d146102fb576101d8565b8063025ec81a146101e6578063043106c01461021e5780630c55d92514610246575b6000806101e3611884565b50505b61020c6004803603602081101561020557600080610202611884565b50505b5035610851565b60405190815260200160405180910390f35b6102446004803603602081101561023d5760008061023a611884565b50505b503561086d565b005b6102446004803603602081101561026557600080610262611884565b50505b503561091c565b6102446004803603602081101561028b57600080610288611884565b50505b50356109b4565b610244600480360360208110156102b1576000806102ae611884565b50505b50356001600160a01b0316610a49565b6102e7600480360360208110156102e0576000806102dd611884565b50505b5035610ac3565b604051901515815260200160405180910390f35b6102446004803603604081101561031a57600080610317611884565b50505b5080359060200135610aed565b6102446004803603604081101561034657600080610343611884565b50505b5080359060200135610b8a565b610244600480360360208110156103725760008061036f611884565b50505b5035610c20565b6102446004803603604081101561039857600080610395611884565b50505b50803590602001351515610cc4565b6103cd600480360360208110156103c6576000806103c3611884565b50505b5035610d70565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104095780820151838201526020016103f1565b50505050905090810190601f1680156104365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020c610e3c565b6104726004803603602081101561046b57600080610468611884565b50505b5035610e49565b6040516001600160a01b03909116815260200160405180910390f35b610244600480360360208110156104ad576000806104aa611884565b50505b50356001600160a01b0316610e79565b610472610ef4565b610244600480360360408110156104e4576000806104e1611884565b50505b50803590602001356001600160a01b0316610f13565b610244610fcc565b610244600480360360208110156105215760008061051e611884565b50505b503561114a565b6104726111df565b61020c6004803603602081101561054f5760008061054c611884565b50505b50356111ea565b6102446004803603602081101561057557600080610572611884565b50505b5035611200565b6103cd6004803603602081101561059b57600080610598611884565b50505b5035611295565b610244600480360360408110156105c1576000806105be611884565b50505b5080359060200135611349565b6104726113df565b610244600480360360408110156105f5576000806105f2611884565b50505b810190602081018135600160201b81111561061857600080610615611884565b50505b82018360208201111561063357600080610630611884565b50505b803590602001918460208302840111600160201b8311171561065d5760008061065a611884565b50505b919390929091602081019035600160201b81111561068357600080610680611884565b50505b82018360208201111561069e5760008061069b611884565b50505b803590602001918460208302840111600160201b831117156106c8576000806106c5611884565b50505b5090925090506113eb565b610244600480360360208110156106f2576000806106ef611884565b50505b5035611624565b61020c6004803603602081101561071857600080610715611884565b50505b50356116b9565b6102446004803603604081101561073e5760008061073b611884565b50505b81359190810190604081016020820135600160201b81111561076857600080610765611884565b50505b82018360208201111561078357600080610780611884565b50505b803590602001918460018302840111600160201b831117156107ad576000806107aa611884565b50505b5090925090506116cf565b610244600480360360408110156107d7576000806107d4611884565b50505b81359190810190604081016020820135600160201b811115610801576000806107fe611884565b50505b82018360208201111561081c57600080610819611884565b50505b803590602001918460018302840111600160201b8311171561084657600080610843611884565b50505b50909250905061176e565b60008181526007602052604081206108676118ef565b92915050565b600060026108796118ef565b906101000a90046001600160a01b03166001600160a01b03165a61089b61194a565b6001600160a01b0316146108e95760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906108e6611884565b50505b60008181526005602052604090206001816109026118ef565b906001600160a01b0302191690610917611990565b505050565b600060026109286118ef565b906101000a90046001600160a01b03166001600160a01b03165a61094a61194a565b6001600160a01b0316146109985760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610995611884565b50505b60008181526006602052604090206109b19060006119de565b50565b600060026109c06118ef565b906101000a90046001600160a01b03166001600160a01b03165a6109e261194a565b6001600160a01b031614610a305760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610a2d611884565b50505b6000818152600760205260409020600090610917611990565b610a51611807565b8060018080610a5e6118ef565b816001600160a01b0302191690836001600160a01b0316021790610a80611990565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000818152600860205260408120600090610adc6118ef565b906101000a900460ff169050919050565b60006002610af96118ef565b906101000a90046001600160a01b03166001600160a01b03165a610b1b61194a565b6001600160a01b031614610b695760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610b66611884565b50505b600082815260076020528190604090208190610b83611990565b5050505050565b60006002610b966118ef565b906101000a90046001600160a01b03166001600160a01b03165a610bb861194a565b6001600160a01b031614610c065760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610c03611884565b50505b600082815260036020528190604090208190610b83611990565b60006002610c2c6118ef565b906101000a90046001600160a01b03166001600160a01b03165a610c4e61194a565b6001600160a01b031614610c9c5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610c99611884565b50505b6000818152600860205260409020600181610cb56118ef565b9060ff02191690610917611990565b60006002610cd06118ef565b906101000a90046001600160a01b03166001600160a01b03165a610cf261194a565b6001600160a01b031614610d405760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610d3d611884565b50505b60008281526008602052819060409020600181610d5b6118ef565b8160ff02191690831515021790610b83611990565b600081815260066020526060906040902080610d8a6118ef565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610dc46118ef565b60018160011615610100020316600290048015610e305780601f10610dfe576101008083610df06118ef565b040283529160200191610e30565b820191906000526020600020905b81610e156118ef565b81529060010190602001808311610e0c57829003601f168201915b50505050509050919050565b600a610e466118ef565b81565b6000818152600560205260408120600090610e626118ef565b906101000a90046001600160a01b03169050919050565b610e81611807565b806002600181610e8f6118ef565b816001600160a01b0302191690836001600160a01b0316021790610eb1611990565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610f006118ef565b906101000a90046001600160a01b031681565b60006002610f1f6118ef565b906101000a90046001600160a01b03166001600160a01b03165a610f4161194a565b6001600160a01b031614610f8f5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610f8c611884565b50505b60008281526005602052819060409020600181610faa6118ef565b816001600160a01b0302191690836001600160a01b0316021790610b83611990565b60006001610fd86118ef565b906101000a90046001600160a01b03166001600160a01b03165a610ffa61194a565b6001600160a01b0316146110485760405162461bcd60e51b8152600401808060200182810382526035815260200180611cff6035913960400191505060405180910390611045611884565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806110746118ef565b906101000a90046001600160a01b031660016000906110916118ef565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016110d06118ef565b906101000a90046001600160a01b03166000806101000a816110f06118ef565b816001600160a01b0302191690836001600160a01b0316021790611112611990565b5050506000600160006101000a816111286118ef565b816001600160a01b0302191690836001600160a01b0316021790610917611990565b600060026111566118ef565b906101000a90046001600160a01b03166001600160a01b03165a61117861194a565b6001600160a01b0316146111c65760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906111c3611884565b50505b6000818152600960205260409020600090610917611990565b600080610f006118ef565b60008181526009602052604081206108676118ef565b6000600261120c6118ef565b906101000a90046001600160a01b03166001600160a01b03165a61122e61194a565b6001600160a01b03161461127c5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390611279611884565b50505b6000818152600360205260409020600090610917611990565b6000818152600460205260609060409020806112af6118ef565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806112e96118ef565b60018160011615610100020316600290048015610e305780601f10611315576101008083610df06118ef565b820191906000526020600020905b8161132c6118ef565b815290600101906020018083116113235750939695505050505050565b600060026113556118ef565b906101000a90046001600160a01b03166001600160a01b03165a61137761194a565b6001600160a01b0316146113c55760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906113c2611884565b50505b600082815260096020528190604090208190610b83611990565b60006002610f006118ef565b6113f3611807565b600a6113fd6118ef565b5a611406611a30565b1061144b5760405162461bcd60e51b8152600401808060200182810382526029815260200180611d976029913960400191505060405180910390611448611884565b50505b8281146114995760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015260640160405180910390611496611884565b50505b60005b60ff8116841115610b83575a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156114fd576000828201526020016114e6565b5050506001600160a01b0316633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b87878560ff1681811061153457fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff1681811061159557fe5b905060200201356040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806115d5611a76565b1580156115ea576000806115e7611884565b50505b505a6115f4611ac2565b505050505050158015611614573d6000803e3d6000611611611884565b50505b50506001909201915061149c9050565b600060026116306118ef565b906101000a90046001600160a01b03166001600160a01b03165a61165261194a565b6001600160a01b0316146116a05760405162461bcd60e51b8152600401808060200182810382526034815260200180611d63603491396040019150506040518091039061169d611884565b50505b60008181526004602052604090206109b19060006119de565b60008181526003602052604081206108676118ef565b600060026116db6118ef565b906101000a90046001600160a01b03166001600160a01b03165a6116fd61194a565b6001600160a01b03161461174b5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390611748611884565b50505b600083815260066020528290829060409020611768929091611bad565b50505050565b6000600261177a6118ef565b906101000a90046001600160a01b03166001600160a01b03165a61179c61194a565b6001600160a01b0316146117ea5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906117e7611884565b50505b600083815260046020528290829060409020611768929091611c4d565b6000806118126118ef565b906101000a90046001600160a01b03166001600160a01b03165a61183461194a565b6001600160a01b0316146118825760405162461bcd60e51b815260040180806020018281038252602f815260200180611d34602f91396040019150506040518091039061187f611884565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156118bc5780860151828201604001526020016118a1565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561091757600082820152602001611933565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611933565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611933565b50806119e86118ef565b6001816001161561010002031660029004600082611a04611990565b505080601f10611a1457506109b1565b601f01602090049060005260206000206109b191810190611cd6565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611933565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611933565b6385979f76598160e01b8152611af3565b8080831115610867575090919050565b8080831015610867575090919050565b836004820152846024820152606060448201528760648201526084810160005b89811015611b2b578089015182820152602001611b13565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059611b808e3d611ae3565b8d01611b8c8187611ad3565b5b82811015611ba15760008152602001611b8d565b50929d50505050505050565b8280611bb76118ef565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611bfe5782800160ff198235161785611bf7611990565b5050611c3d565b82800160010185611c0d611990565b50508215611c3d579182015b82811115611c3d57823582611c2c611990565b505091602001919060010190611c19565b50611c49929150611cd6565b5090565b8280611c576118ef565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c975782800160ff198235161785611bf7611990565b82800160010185611ca6611990565b50508215611c3d579182015b82811115611c3d57823582611cc5611990565b505091602001919060010190611cb2565b611cfb91905b80821115611c495760008082611cf0611990565b505050600101611cdc565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3ffbd9e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0x654df14e43b71aa1dd6bbe09432249cd3f865870c20b5500129e00413ddb7c10",
				"urls": [
					"bzz-raw://4db21732eef6ce137cef9a12d3762f58e0949a5c4d71e5ee7fc3218effabbb63",
					"dweb:/ipfs/QmPyBeT9SBNFjPHSWKzK7KZgRo15Su5iNzbcznyGDjKKRc"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0x654df14e43b71aa1dd6bbe09432249cd3f865870c20b5500129e00413ddb7c10",
						"urls": [
							"bzz-raw://4db21732eef6ce137cef9a12d3762f58e0949a5c4d71e5ee7fc3218effabbb63",
							"dweb:/ipfs/QmPyBeT9SBNFjPHSWKzK7KZgRo15Su5iNzbcznyGDjKKRc"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631cd554d160e21b60086200001862000310565b505034801562000032576000806200002f62000374565b50505b50604051620057783803806200577883398101604081905262000055916200048c565b8080621baf8085856001600160a01b0381166200009a5760405162461bcd60e51b81526004016200008690620005b9565b604051809103906200009762000374565b50505b806000600181620000aa620003e1565b816001600160a01b0302191690836001600160a01b0316021790620000ce62000310565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516200010592919062000581565b60405180910390a150600080806200011c620003e1565b906101000a90046001600160a01b03166001600160a01b031614156200016a5760405162461bcd60e51b81526004016200015690620005a7565b604051809103906200016762000374565b50505b8060026001816200017a620003e1565b816001600160a01b0302191690836001600160a01b03160217906200019e62000310565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e81604051620001d2919062000571565b60405180910390a150805a620001e76200042e565b01806005620001f562000310565b5050505080600660006101000a816200020d620003e1565b816001600160a01b0302191690836001600160a01b03160217906200023162000310565b505050505060016200024a6000620002de60201b60201c565b60018162000257620003e1565b816001600160401b0302191690836001600160401b03160217906200027b62000310565b5050505a620002896200042e565b6200029e60006001600160e01b03620002de16565b600160801b81620002ae620003e1565b816001600160401b0302191690836001600160401b0316021790620002d262000310565b5050505050506200061c565b600060096002836013620002f1620003e1565b0181620002fa57fe5b06600281106200030657fe5b6005020192915050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60005b60408110156200036f5760008282015260200162000356565b505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620003ae57808601518282016040015260200162000391565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000356565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000356565b6000815190506200048681620005fa565b92915050565b600080600060608486031215620004ad57600080620004aa62000374565b50505b6000620004bb868662000475565b9350506020620004ce8682870162000475565b9250506040620004e18682870162000475565b9150509250925092565b620004f681620005e6565b82525050565b620004f681620005d4565b600062000516601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000545601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620004868284620004eb565b60408101620005918285620004eb565b620005a06020830184620004fc565b9392505050565b60208082528101620004868162000507565b60208082528101620004868162000536565b90815260200190565b60006001600160a01b03821662000486565b6000620004868260006200048682620005d4565b6200060581620005d4565b811462000619576000806200036f62000374565b50565b61514c806200062c6000396000f3fe608060405234801561001957600080610016613b85565b50505b50600436106102655760003560e01c8063741853601161014e578063b410a034116100c6578063d67bdd2511610095578063eb1edd611161007a578063eb1edd611461049c578063ec556889146104a4578063fd1f498d146104ac57610265565b8063d67bdd251461048c578063e0e6393d1461049457610265565b8063b410a03414610454578063bc67f8321461045c578063cff2ddad1461046f578063d294f0931461048457610265565b80638da5cb5b1161011d5780639cbdaeb6116101025780639cbdaeb614610431578063ac83419314610439578063b10090b81461044157610265565b80638da5cb5b1461041657806397107d6d1461041e57610265565b806374185360146103de57806379ba5097146103e657806386645274146103ee578063899ffef41461040157610265565b806333140016116101e157806353a47bb7116101b057806359a2f19f1161019557806359a2f19f146103b05780636466f45e146103c35780636de813f1146103d657610265565b806353a47bb714610393578063569249d0146103a857610265565b8063331400161461033d5780633ebc457a1461035d5780633fcd22401461036557806346ba2d901461038b57610265565b8063131b0ae71161023857806322425fa41161021d57806322425fa41461030d57806322bf55ef146103155780632af64bd31461032857610265565b8063131b0ae7146102e55780631627540c146102fa57610265565b806304f3bcec1461027357806307ea50cd146102915780630813071c146102b15780630de58615146102c4575b600080610270613b85565b50505b61027b6104bf565b6040516102889190614e2c565b60405180910390f35b6102a461029f366004614008565b6104de565b6040516102889190614d49565b6102a46102bf36600461405e565b6105d7565b6102d76102d2366004614008565b610776565b604051610288929190614d65565b6102f86102f3366004614008565b6107fb565b005b6102f8610308366004614008565b610839565b6102a46108ad565b6102f861032336600461416c565b6108bd565b610330610b03565b6040516102889190614d3b565b61035061034b366004614008565b610c84565b6040516102889190614d1c565b6102f8610f22565b61037861037336600461416c565b6113fb565b6040516102889796959493929190614fc9565b6102a4611508565b61039b611515565b6040516102889190614c49565b6102a4611521565b6103306103be366004614008565b61158a565b6103306103d1366004614008565b61159c565b6102a461171e565b6102f8611767565b6102f86118fa565b6102f86103fc3660046140a1565b611a5a565b610409611bd9565b6040516102889190614d2a565b61039b611ec8565b6102f861042c366004614008565b611ed3565b61027b611f3d565b6102a4611f49565b6102f861044f366004614205565b61200d565b6102a46122b0565b6102f861046a366004614008565b6122ba565b6104776122d0565b6040516102889190615031565b6103306122d5565b61039b612380565b6102a461238c565b61039b612396565b61027b6123ae565b6102f86104ba36600461416c565b6123ba565b600060066104cb613bf0565b906101000a90046001600160a01b031681565b60006104e8612478565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001610529929190614bd7565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161055b9190614d49565b602060405180830381868061056e613c4b565b15801561058357600080610580613b85565b50505b505a61058d613c97565b50505050501580156105ac573d6000803e3d60006105a9613b85565b50505b50505050604051601f3d908101601f191682016040526105cf919081019061411e565b90505b919050565b6000816106085760405162461bcd60e51b81526004016105f690614f9b565b60405180910390610605613b85565b50505b6002821061063a5760405162461bcd60e51b815260040161062890614f4b565b60405180910390610637613b85565b50505b610646600183036124a3565b600890610651613bf0565b67ffffffffffffffff6101009290920a90041661067057506000610770565b60006106ad6001610683600186036124a3565b60089061068e613bf0565b67ffffffffffffffff6101009290920a9004169063ffffffff6124d116565b90506000806106ba61250b565b6001600160a01b031663d29c000a87856040518363ffffffff1660e01b81526004016106e7929190614c9b565b604080518083038186806106f9613c4b565b15801561070e5760008061070b613b85565b50505b505a610718613c97565b5050505050158015610737573d6000803e3d6000610734613b85565b50505b50505050604051601f3d908101601f1916820160405261075a91908101906141cc565b909250905061076a838383612536565b93505050505b92915050565b600080610781613d82565b61078a84610c84565b905060008060015b60028110156107ee576107bd8482600281106107aa57fe5b602002015151849063ffffffff6126b016565b92506107e48482600281106107ce57fe5b602002015160200151839063ffffffff6126b016565b9150600101610792565b509093509150505b915091565b6108036126ed565b806003600181610811613bf0565b816001600160a01b0302191690836001600160a01b0316021790610833613daf565b50505050565b6108416126ed565b806001808061084e613bf0565b816001600160a01b0302191690836001600160a01b0316021790610870613daf565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516108a29190614c49565b60405180910390a150565b60006108b7612751565b90505b90565b60006108c761283c565b6001600160a01b03165a6108d9613dfd565b6001600160a01b03161490506000806108f0612867565b6001600160a01b03166316b2213f5a610907613dfd565b6040518263ffffffff1660e01b81526004016109239190614c57565b6020604051808303818680610936613c4b565b15801561094b57600080610948613b85565b50505b505a610955613c97565b5050505050158015610974573d6000803e3d6000610971613b85565b50505b50505050604051601f3d908101601f19168201604052610997919081019061411e565b1415905060006109a561287b565b6001600160a01b03165a6109b7613dfd565b6001600160a01b031614905060006109cd6128a6565b6001600160a01b031663b38988f75a6109e4613dfd565b6040518263ffffffff1660e01b8152600401610a009190614c57565b6020604051808303818680610a13613c4b565b158015610a2857600080610a25613b85565b50505b505a610a32613c97565b5050505050158015610a51573d6000803e3d6000610a4e613b85565b50505b50505050604051601f3d908101601f19168201604052610a7491908101906140f7565b90508380610a7f5750825b80610a875750815b80610a8f5750805b610abd5760405162461bcd60e51b8152600401610aab90614e4b565b60405180910390610aba613b85565b50505b610ae285610acb60006124a3565b600101610ad6613bf0565b9063ffffffff6126b016565b610aec60006124a3565b6001018190610af9613daf565b5050505050505050565b60006060610b0f611bd9565b905060005b8151811015610c7b576000828281518110610b2b57fe5b60200260200101516000818152600760205290915060409020600090610b4f613bf0565b6001600160a01b036101009290920a90041660006006610b6d613bf0565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b8152600401610ba89190614d49565b6020604051808303818680610bbb613c4b565b158015610bd057600080610bcd613b85565b50505b505a610bda613c97565b5050505050158015610bf9573d6000803e3d6000610bf6613b85565b50505b50505050604051601f3d908101601f19168201604052610c1c9190810190614037565b6001600160a01b0316141580610c6157506000818152600760205260408120600090610c46613bf0565b906101000a90046001600160a01b03166001600160a01b0316145b15610c7257600093505050506108ba565b50600101610b14565b50600191505090565b610c8c613d82565b6000806000610c9961250b565b9050806001600160a01b031663b326f84e8660006040518363ffffffff1660e01b8152600401610cca929190614c80565b60408051808303818680610cdc613c4b565b158015610cf157600080610cee613b85565b50505b505a610cfb613c97565b5050505050158015610d1a573d6000803e3d6000610d17613b85565b50505b50505050604051601f3d908101601f19168201604052610d3d91908101906141cc565b909350915081158015610d4e575082155b15610d6657610d5b613d82565b93506105d292505050565b600080610d75600086866128d1565b909250905081865152808651602001526000610d90886104de565b905060015b8015610f165760001981016000610dab826124a3565b600890610db6613bf0565b906101000a900467ffffffffffffffff1667ffffffffffffffff169050600081118015610e105750610de7836124a3565b600090610df2613bf0565b906101000a900467ffffffffffffffff1667ffffffffffffffff1684105b15610f0b576000610e2882600163ffffffff6124d116565b9050876001600160a01b031663d29c000a8d836040518363ffffffff1660e01b8152600401610e58929190614c9b565b60408051808303818680610e6a613c4b565b158015610e7f57600080610e7c613b85565b50505b505a610e89613c97565b5050505050158015610ea8573d6000803e3d6000610ea5613b85565b50505b50505050604051601f3d908101601f19168201604052610ecb91908101906141cc565b909a509850610edb848b8b6128d1565b9097509550868b8560028110610eed57fe5b602002015152858b8560028110610f0057fe5b602002015160200152505b505060001901610d95565b50505050505050919050565b610f2a612969565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680610f5d613c4b565b158015610f7257600080610f6f613b85565b50505b505a610f7c613c97565b5050505050158015610f9b573d6000803e3d6000610f98613b85565b50505b505050506000610fa9612751565b11610fd85760405162461bcd60e51b8152600401610fc690614fab565b60405180910390610fd5613b85565b50505b610fe0612751565b5a610fe9613e43565b03610ff460006124a3565b601090610fff613bf0565b906101000a900467ffffffffffffffff1667ffffffffffffffff16111561104a5760405162461bcd60e51b815260040161103890614e6b565b60405180910390611047613b85565b50505b6000611055816124a3565b9050600061106360016124a3565b905061109b82600101611074613bf0565b610ad683600201611083613bf0565b8460010161108f613bf0565b9063ffffffff6124d116565b6110a560006124a3565b60010181906110b2613daf565b5050506110df826003016110c4613bf0565b610ad6836004016110d3613bf0565b8460030161108f613bf0565b6110e960006124a3565b60030181906110f6613daf565b5061111f915060029050611113600161108f836013610ad6613bf0565b9063ffffffff61299416565b80601361112a613daf565b50505060096013611139613bf0565b6002811061114357fe5b60050201600081600181611155613bf0565b9067ffffffffffffffff0219169061116b613daf565b508290506801000000000000000081611182613bf0565b9067ffffffffffffffff02191690611198613daf565b50829050700100000000000000000000000000000000816111b7613bf0565b9067ffffffffffffffff021916906111cd613daf565b5050600182016000906111de613daf565b5050600282016000906111ef613daf565b505060038201600090611200613daf565b505060048201600090611211613daf565b5050505061124e600161122460016124a3565b60009061122f613bf0565b67ffffffffffffffff6101009290920a9004169063ffffffff6126b016565b61125860006124a3565b600181611263613bf0565b8167ffffffffffffffff021916908367ffffffffffffffff16021790611287613daf565b5050506112926129d6565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186806112c5613c4b565b1580156112da576000806112d7613b85565b50505b505a6112e4613c97565b5050505050158015611303573d6000803e3d6000611300613b85565b50505b50505050604051601f3d908101601f19168201604052611326919081019061411e565b61133060006124a3565b6801000000000000000081611343613bf0565b8167ffffffffffffffff021916908367ffffffffffffffff16021790611367613daf565b5050505a611373613e43565b61137d60006124a3565b70010000000000000000000000000000000081611398613bf0565b8167ffffffffffffffff021916908367ffffffffffffffff160217906113bc613daf565b5050506113f76113cc60016124a3565b6000906113d7613bf0565b906101000a900467ffffffffffffffff1667ffffffffffffffff16612a01565b5050565b600080600080600080600061140e613e89565b611417896124a3565b60405160e08101604052908160008261142e613bf0565b67ffffffffffffffff6101009290920a9004168152602001600882611451613bf0565b67ffffffffffffffff6101009290920a9004168152602001601082611474613bf0565b67ffffffffffffffff6101009290920a900416815260200160018201611498613bf0565b8152602001600282016114a9613bf0565b8152602001600382016114ba613bf0565b8152602001600482016114cb613bf0565b9052509050805181602001518260400151836060015184608001518560a001518660c00151959f949e50929c50909a509850965090945092505050565b6005611512613bf0565b81565b600060016104cb613bf0565b60008060015b60028110156115845761155461153c826124a3565b600101611547613bf0565b839063ffffffff6126b016565b915061157a611562826124a3565b60020161156d613bf0565b839063ffffffff6124d116565b9150600101611527565b50905090565b600061159582612ae1565b5092915050565b60006115a6612969565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186806115d9613c4b565b1580156115ee576000806115eb613b85565b50505b505a6115f8613c97565b5050505050158015611617573d6000803e3d6000611614613b85565b50505b50505050611623612bf9565b61162b612ccf565b6001600160a01b03166321f4ae578360006004611646613bf0565b906101000a90046001600160a01b03166040518363ffffffff1660e01b8152600401611673929190614c65565b6020604051808303818680611686613c4b565b15801561169b57600080611698613b85565b50505b505a6116a5613c97565b50505050501580156116c4573d6000803e3d60006116c1613b85565b50505b50505050604051601f3d908101601f191682016040526116e791908101906140f7565b6117155760405162461bcd60e51b815260040161170390614eeb565b60405180910390611712613b85565b50505b6105cf82612cfa565b60008060015b600281101561158457611744611739826124a3565b600301611547613bf0565b915061175d611752826124a3565b60040161156d613bf0565b9150600101611724565b6060611771611bd9565b905060005b81518110156113f757600082828151811061178d57fe5b6020026020010151905060008060066117a4613bf0565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016117d49190614c33565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611800929190614d73565b6020604051808303818680611813613c4b565b15801561182857600080611825613b85565b50505b505a611832613c97565b5050505050158015611851573d6000803e3d600061184e613b85565b50505b50505050604051601f3d908101601f191682016040526118749190810190614037565b60008381526007602052909150819060409020600181611892613bf0565b816001600160a01b0302191690836001600160a01b03160217906118b4613daf565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040516118e8929190614d57565b60405180910390a15050600101611776565b60006001611906613bf0565b906101000a90046001600160a01b03166001600160a01b03165a611928613dfd565b6001600160a01b0316146119605760405162461bcd60e51b815260040161194e90614e5b565b6040518091039061195d613b85565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061198c613bf0565b906101000a90046001600160a01b031660016000906119a9613bf0565b906101000a90046001600160a01b03166040516119c7929190614c65565b60405180910390a1600060016119db613bf0565b906101000a90046001600160a01b03166000806101000a816119fb613bf0565b816001600160a01b0302191690836001600160a01b0316021790611a1d613daf565b5050506000600160006101000a81611a33613bf0565b816001600160a01b0302191690836001600160a01b0316021790611a55613daf565b505050565b6000611a64612867565b6001600160a01b03165a611a76613dfd565b6001600160a01b03161490506000611a8c6129d6565b6001600160a01b03165a611a9e613dfd565b6001600160a01b03161490508180611ab35750805b611ae15760405162461bcd60e51b8152600401611acf90614f8b565b60405180910390611ade613b85565b50505b611ae961250b565b6001600160a01b03166394e1a448868686611b0460006124a3565b600890611b0f613bf0565b906101000a900467ffffffffffffffff166040518563ffffffff1660e01b8152600401611b3f9493929190614cde565b60006040518083038160008780611b54613c4b565b158015611b6957600080611b66613b85565b50505b505a611b73613ec4565b505050505050158015611b93573d6000803e3d6000611b90613b85565b50505b50505050611bd2858585611ba760006124a3565b600890611bb2613bf0565b906101000a900467ffffffffffffffff1667ffffffffffffffff16612e40565b5050505050565b606080611be4612f2f565b90506060600c604051908082528060200260200182016040528015611c13578160200160208202803883390190505b5090507f53797374656d537461747573000000000000000000000000000000000000000081600081518110611c4457fe5b6020026020010181815250507f53796e746865746978000000000000000000000000000000000000000000000081600181518110611c7e57fe5b6020026020010181815250507f466565506f6f6c5374617465000000000000000000000000000000000000000081600281518110611cb857fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f72616765000000000000000000000081600381518110611cf257fe5b6020026020010181815250507f45786368616e676572000000000000000000000000000000000000000000000081600481518110611d2c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600581518110611d4f57fe5b6020026020010181815250507f53796e746865746978537461746500000000000000000000000000000000000081600681518110611d8957fe5b6020026020010181815250507f526577617264457363726f77563200000000000000000000000000000000000081600781518110611dc357fe5b6020026020010181815250507f44656c6567617465417070726f76616c7300000000000000000000000000000081600881518110611dfd57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c735553440000000000000000000000000081600981518110611e3757fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600a81518110611e7157fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600b81518110611eab57fe5b602002602001018181525050611ec18282612f9c565b9250505090565b6000806104cb613bf0565b611edb6126ed565b806002600181611ee9613bf0565b816001600160a01b0302191690836001600160a01b0316021790611f0b613daf565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516108a29190614c57565b600060036104cb613bf0565b60006108b7611ff9611f59613051565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611f98613c4b565b158015611fad57600080611faa613b85565b50505b505a611fb7613f8a565b5050505050158015611fd6573d6000803e3d6000611fd3613b85565b50505b50505050604051601f3d908101601f19168201604052610ad6919081019061411e565b6120016130c8565b9063ffffffff61313f16565b612015613169565b600561201f613bf0565b5a612028613e43565b106120575760405162461bcd60e51b815260040161204590614f5b565b60405180910390612054613b85565b50505b61205f6129d6565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b81526004016020604051808303818680612092613c4b565b1580156120a7576000806120a4613b85565b50505b505a6120b1613c97565b50505050501580156120d0573d6000803e3d60006120cd613b85565b50505b50505050604051601f3d908101601f191682016040526120f3919081019061411e565b8611156121245760405162461bcd60e51b815260040161211290614f3b565b60405180910390612121613b85565b50505b6040518060e001604052808867ffffffffffffffff1681526020018767ffffffffffffffff1681526020018667ffffffffffffffff16815260200185815260200184815260200183815260200182815250600961218d600260ff166111138c6013610ad6613bf0565b6002811061219757fe5b600502018151816001816121a9613bf0565b8167ffffffffffffffff021916908367ffffffffffffffff160217906121cd613daf565b50505060208201518168010000000000000000816121e9613bf0565b8167ffffffffffffffff021916908367ffffffffffffffff1602179061220d613daf565b50505060408201518170010000000000000000000000000000000081612231613bf0565b8167ffffffffffffffff021916908367ffffffffffffffff16021790612255613daf565b505050606082015181600101612269613daf565b505060808201518160020161227c613daf565b505060a08201518160030161228f613daf565b505060c0820151816004016122a2613daf565b505050505050505050505050565b60006108b76130c8565b6122c26132c4565b806004600181610811613bf0565b600281565b60006122df612969565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680612312613c4b565b15801561232757600080612324613b85565b50505b505a612331613c97565b5050505050158015612350573d6000803e3d600061234d613b85565b50505b5050505061235c612bf9565b6108b76000600461236b613bf0565b906101000a90046001600160a01b0316612cfa565b600060046104cb613bf0565b60006108b7613051565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b600060026104cb613bf0565b60006123c4613357565b90506001600160a01b038116600060046123dc613bf0565b906101000a90046001600160a01b03166001600160a01b0316148061241a5750806001600160a01b03165a61240f613dfd565b6001600160a01b0316145b6124485760405162461bcd60e51b815260040161243690614efb565b60405180910390612445613b85565b50505b6124618261245660006124a3565b600301610ad6613bf0565b61246b60006124a3565b6003018190611bd2613daf565b60006108b77f466565506f6f6c457465726e616c53746f72616765000000000000000000000061337e565b6000600960028360136124b4613bf0565b01816124bc57fe5b06600281106124c757fe5b6005020192915050565b6000828211156125055760405162461bcd60e51b81526004016124f390614e9b565b60405180910390612502613b85565b50505b50900390565b60006108b77f466565506f6f6c5374617465000000000000000000000000000000000000000061337e565b6000806125416129d6565b905060006126a485612698846001600160a01b03166308d95cd5886040518263ffffffff1660e01b81526004016125789190614d49565b602060405180830381868061258b613c4b565b1580156125a05760008061259d613b85565b50505b505a6125aa613c97565b50505050501580156125c9573d6000803e3d60006125c6613b85565b50505b50505050604051601f3d908101601f191682016040526125ec919081019061411e565b856001600160a01b03166308d95cd58b6040518263ffffffff1660e01b81526004016126189190614d49565b602060405180830381868061262b613c4b565b1580156126405760008061263d613b85565b50505b505a61264a613c97565b5050505050158015612669573d6000803e3d6000612666613b85565b50505b50505050604051601f3d908101601f1916820160405261268c919081019061411e565b9063ffffffff61340616565b9063ffffffff61341f16565b925050505b9392505050565b6000828201838110156126a95760405162461bcd60e51b81526004016126d590614e8b565b604051809103906126e4613b85565b50509392505050565b6000806126f8613bf0565b906101000a90046001600160a01b03166001600160a01b03165a61271a613dfd565b6001600160a01b03161461274f5760405162461bcd60e51b815260040161274090614f0b565b604051809103906113f7613b85565b565b600061275b613438565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b81526004016127c8929190614d65565b60206040518083038186806127db613c4b565b1580156127f0576000806127ed613b85565b50505b505a6127fa613c97565b5050505050158015612819573d6000803e3d6000612816613b85565b50505b50505050604051601f3d908101601f191682016040526108b7919081019061411e565b60006108b77f45786368616e676572000000000000000000000000000000000000000000000061337e565b60006108b76524b9b9bab2b960d11b61337e565b60006108b77f4574686572436f6c6c61746572616c735553440000000000000000000000000061337e565b60006108b77f436f6c6c61746572616c4d616e6167657200000000000000000000000000000061337e565b600080836128e457506000905080612961565b83851561290f5760006128fe600161068360018a036124a3565b905061290b818787612536565b9150505b60006129298261291e896124a3565b600101612001613bf0565b905060006129458361293a8a6124a3565b600301612001613bf0565b905061295082613463565b61295982613463565b945094505050505b935093915050565b60006108b77f53797374656d537461747573000000000000000000000000000000000000000061337e565b6000816129c55760405162461bcd60e51b81526004016129b390614edb565b604051809103906129c2613b85565b50505b8183816129ce57fe5b069392505050565b60006108b77f53796e746865746978537461746500000000000000000000000000000000000061337e565b60006002612a0d613bf0565b906101000a90046001600160a01b03166001600160a01b031663907dff9782604051602001612a3c9190614d49565b6040516020818303038152906040526001604051612a5990614c3e565b604051809103902060008060006040518763ffffffff1660e01b8152600401612a8796959493929190614d93565b60006040518083038160008780612a9c613c4b565b158015612ab157600080612aae613b85565b50505b505a612abb613ec4565b505050505050158015611bd2573d6000803e3d6000612ad8613b85565b50505050505050565b600080600080612aef612867565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b8152600401612b1a9190614c49565b60408051808303818680612b2c613c4b565b158015612b4157600080612b3e613b85565b50505b505a612b4b613c97565b5050505050158015612b6a573d6000803e3d6000612b67613b85565b50505b50505050604051601f3d908101601f19168201604052612b8d9190810190614193565b915091506000612b9b6130c8565b905080831015612bb357506001935091506107f69050565b6000612bd0612bc3611f59613051565b839063ffffffff61313f16565b905080841115612bea5760008395509550505050506107f6565b50600194509092505050915091565b60006002612c05613bf0565b906101000a90046001600160a01b03166001600160a01b03165a612c27613dfd565b6001600160a01b031614158015612c73575060006003612c45613bf0565b906101000a90046001600160a01b03166001600160a01b03165a612c67613dfd565b6001600160a01b031614155b8015612cb457505a612c83613dfd565b6001600160a01b031660006004612c98613bf0565b906101000a90046001600160a01b03166001600160a01b031614155b1561274f575a612cc2613dfd565b6004600181611a33613bf0565b60006108b77f44656c6567617465417070726f76616c7300000000000000000000000000000061337e565b6000808080808080612d0b88612ae1565b9150915081612d3e5760405162461bcd60e51b8152600401612d2c90614f1b565b60405180910390612d3b613b85565b50505b8015612d6e5760405162461bcd60e51b8152600401612d5c90614ecb565b60405180910390612d6b613b85565b50505b612d7788610776565b909450925083151580612d8a5750600083115b612db85760405162461bcd60e51b8152600401612da690614ebb565b60405180910390612db5613b85565b50505b612df188612dc660016124a3565b600090612dd1613bf0565b906101000a900467ffffffffffffffff1667ffffffffffffffff16613485565b8315612e0c57612e008461355b565b9450612e0c8886613647565b8215612e2757612e1b83613813565b9550612e2788876138f8565b612e32888688613984565b506001979650505050505050565b60006002612e4c613bf0565b906101000a90046001600160a01b03166001600160a01b031663907dff97848484604051602001612e7f93929190614fbb565b6040516020818303038152906040526002604051612e9c90614c08565b60405180910390206001600160a01b0389166000806040518763ffffffff1660e01b8152600401612ed296959493929190614df2565b60006040518083038160008780612ee7613c4b565b158015612efc57600080612ef9613b85565b50505b505a612f06613ec4565b505050505050158015610af9573d6000803e3d6000612f23613b85565b50505050505050505050565b60606001604051908082528060200260200182016040528015612f5c578160200160208202803883390190505b5090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612f8d57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612fcc578160200160208202803883390190505b50905060005b835181101561300e57838181518110612fe757fe5b6020026020010151828281518110612ffb57fe5b6020908102919091010152600101612fd2565b5060005b82518110156115955782818151811061302757fe5b602002602001015182828651018151811061303e57fe5b6020908102919091010152600101613012565b600061305b613438565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b81526004016127c8929190614d65565b60006130d2613438565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b81526004016127c8929190614d65565b6000670de0b6b3a764000061315a848463ffffffff613a6a16565b8161316157fe5b049392505050565b60006002613175613bf0565b906101000a90046001600160a01b03166001600160a01b03165a613197613dfd565b6001600160a01b0316141580156131e35750600060036131b5613bf0565b906101000a90046001600160a01b03166001600160a01b03165a6131d7613dfd565b6001600160a01b031614155b801561322457505a6131f3613dfd565b6001600160a01b031660006004613208613bf0565b906101000a90046001600160a01b03166001600160a01b031614155b15613265575a613232613dfd565b600460018161323f613bf0565b816001600160a01b0302191690836001600160a01b0316021790613261613daf565b5050505b600080613270613bf0565b6001600160a01b036101009290920a9004166000600461328e613bf0565b906101000a90046001600160a01b03166001600160a01b03161461274f5760405162461bcd60e51b815260040161274090614e7b565b600060026132d0613bf0565b906101000a90046001600160a01b03166001600160a01b03165a6132f2613dfd565b6001600160a01b0316148061333b57506000600361330e613bf0565b906101000a90046001600160a01b03166001600160a01b03165a613330613dfd565b6001600160a01b0316145b61274f5760405162461bcd60e51b815260040161274090614f7b565b60006108b77f52657761726473446973747269627574696f6e000000000000000000000000005b600081815260076020528060408120600090613398613bf0565b6001600160a01b036101009290920a9004169050801515836040516020016133c09190614c13565b604051602081830303815290604052906115955760405162461bcd60e51b81526004016133ed9190614e3a565b604051809103906133fc613b85565b5050509050919050565b60006126a983836b033b2e3c9fd0803ce8000000613aa4565b60006126a983836b033b2e3c9fd0803ce8000000613ae8565b60006108b77f466c657869626c6553746f72616765000000000000000000000000000000000061337e565b60006305f5e10082046005600a82061061347b57600a015b600a900492915050565b61348d612478565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c00000000000000000000000000846040516020016134ce929190614bd7565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401613502929190614d65565b60006040518083038160008780613517613c4b565b15801561352c57600080613529613b85565b50505b505a613536613ec4565b505050505050158015613553573d6000803e3d6000610af9613b85565b505050505050565b6000818160015b600281101561363f576000613576826124a3565b600201613581613bf0565b9050600061359d82613592856124a3565b60010161108f613bf0565b905080156136345760008582106135b457856135b6565b815b90506135c8838263ffffffff6126b016565b6135d1856124a3565b60020181906135de613daf565b506135f391508790508263ffffffff6124d116565b9550613605858263ffffffff6126b016565b94508561361a578496505050505050506105d2565b831580156136285750600086115b1561363257600095505b505b505060001901613562565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156136975760405162461bcd60e51b815260040161368590614f6b565b60405180910390613694613b85565b50505b60006136a1612867565b6001600160a01b0316633260803960086136b9613bf0565b6040518263ffffffff1660e01b81526004016136d59190614d49565b60206040518083038186806136e8613c4b565b1580156136fd576000806136fa613b85565b50505b505a613707613c97565b5050505050158015613726573d6000803e3d6000613723613b85565b50505b50505050604051601f3d908101601f191682016040526137499190810190614145565b9050806001600160a01b0316639dc29fac73feefeefeefeefeefeefeefeefeefeefeefeefeef856040518363ffffffff1660e01b815260040161378d929190614c9b565b600060405180830381600087806137a2613c4b565b1580156137b7576000806137b4613b85565b50505b505a6137c1613ec4565b5050505050501580156137e1573d6000803e3d60006137de613b85565b50505b50505050806001600160a01b031663867904b485856040518363ffffffff1660e01b8152600401612ed2929190614c9b565b6000818160015b600281101561363f576000613850613831836124a3565b60040161383c613bf0565b613845846124a3565b60030161108f613bf0565b905080156138ee5760008482106138675784613869565b815b905061388381613878856124a3565b600401610ad6613bf0565b61388c846124a3565b6004018190613899613daf565b506138ae91508690508263ffffffff6124d116565b94506138c0848263ffffffff6126b016565b9350846138d45783955050505050506105d2565b821580156138e25750600085115b156138ec57600094505b505b506000190161381a565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156139485760405162461bcd60e51b815260040161393690614f6b565b60405180910390613945613b85565b50505b6301dfe200613955613b13565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b8152600401612ed293929190614cb6565b60006002613990613bf0565b906101000a90046001600160a01b03166001600160a01b031663907dff978484846040516020016139c393929190614cb6565b60405160208183030381529060405260016040516139e090614bfd565b604051809103902060008060006040518763ffffffff1660e01b8152600401613a0e96959493929190614d93565b60006040518083038160008780613a23613c4b565b158015613a3857600080613a35613b85565b50505b505a613a42613ec4565b505050505050158015612ad8573d6000803e3d6000613a5f613b85565b505050505050505050565b600082613a7957506000610770565b82820282848281613a8657fe5b04146126a95760405162461bcd60e51b81526004016126d590614f2b565b600080613aca84613abe87600a870263ffffffff613a6a16565b9063ffffffff613b3e16565b90506005600a825b0610613adc57600a015b600a9004949350505050565b600080600a8304613aff868663ffffffff613a6a16565b81613b0657fe5b0490506005600a82613ad2565b60006108b77f526577617264457363726f77563200000000000000000000000000000000000061337e565b6000808211613b715760405162461bcd60e51b8152600401613b5f90614eab565b60405180910390613b6e613b85565b50505b6000828481613b7c57fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015613bbd578086015182820160400152602001613ba2565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015611a5557600082820152602001613c34565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613c34565b638540661f598160e01b8152613cc8565b8080831115610770575090919050565b8080831015610770575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015613d00578088015182820152602001613ce8565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059613d558d3d613cb8565b8c01613d618187613ca8565b5b82811015613d765760008152602001613d62565b50929c50505050505050565b60405180604001604052806002905b613d99613f9b565b815260200190600190039081613d915790505090565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020613c34565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613c34565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020613c34565b60405160e081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015613f08578089015182820152602001613ef0565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059613f5d8e3d613cb8565b8d01613f698187613ca8565b5b82811015613f7e5760008152602001613f6a565b50929d50505050505050565b63ffe73914598160e01b8152613cc8565b60405160408082018152600290829080388339509192915050565b803561077081615114565b60008151905061077081615114565b60008151905061077081615131565b6000815190506107708161513a565b60008151905061077081615143565b80356107708161513a565b60006020828403121561402357600080614020613b85565b50505b600061402f8484613fb6565b949350505050565b6000602082840312156140525760008061404f613b85565b50505b600061402f8484613fc1565b6000806040838503121561407a57600080614077613b85565b50505b60006140868585613fb6565b925050602061409785828601613ffd565b9150509250929050565b6000806000606084860312156140bf576000806140bc613b85565b50505b60006140cb8686613fb6565b93505060206140dc86828701613ffd565b92505060406140ed86828701613ffd565b9150509250925092565b6000602082840312156141125760008061410f613b85565b50505b600061402f8484613fd0565b60006020828403121561413957600080614136613b85565b50505b600061402f8484613fdf565b6000602082840312156141605760008061415d613b85565b50505b600061402f8484613fee565b60006020828403121561418757600080614184613b85565b50505b600061402f8484613ffd565b600080604083850312156141af576000806141ac613b85565b50505b60006141bb8585613fdf565b925050602061409785828601613fd0565b600080604083850312156141e8576000806141e5613b85565b50505b60006141f48585613fdf565b925050602061409785828601613fdf565b600080600080600080600080610100898b03121561422b57600080614228613b85565b50505b60006142378b8b613ffd565b98505060206142488b828c01613ffd565b97505060406142598b828c01613ffd565b965050606061426a8b828c01613ffd565b955050608061427b8b828c01613ffd565b94505060a061428c8b828c01613ffd565b93505060c061429d8b828c01613ffd565b92505060e06142ae8b828c01613ffd565b9150509295985092959890939650565b60006142ca83836143b4565b505060400190565b60006142de8383614409565b505060200190565b6142ef81615098565b82525050565b6142ef8161505e565b6142ef61430a8261505e565b6150f3565b61431881615045565b61432281846105d2565b925061432d826108ba565b8060005b8381101561355357815161434587826142be565b96506143508361503f565b925050600101614331565b60006143668261504b565b6143708185615055565b935061437b8361503f565b8060005b838110156143a957815161439388826142d2565b975061439e8361503f565b92505060010161437f565b509495945050505050565b6143bd81615045565b6143c781846105d2565b92506143d2826108ba565b8060005b838110156135535781516143ea87826142d2565b96506143f58361503f565b9250506001016143d6565b6142ef81615069565b6142ef816108ba565b6142ef61441e826108ba565b6108ba565b600061442e8261504b565b6144388185615055565b93506144488185602086016150c7565b61445181615104565b9093019392505050565b6142ef8161506e565b6142ef816150a3565b6142ef816150b1565b6000614483601783615055565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006144bc603583615055565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b600061451b601d83615055565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b6000614554601383615055565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b600061458d6024836105d2565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b60006145ec6037836105d2565b7f49737375616e636544656274526174696f456e74727928616464726573732c7581527f696e743235362c75696e743235362c75696e7432353629000000000000000000602082015260370192915050565b600061464b601b83615055565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614684601e83615055565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006146bd601a83615055565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006146f6604083615055565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b60006147556011836105d2565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061478e601e83615055565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006147c7601883615055565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b6000614800601f83615055565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000614839601e83615055565b7f43616c6c6572206973206e6f742072657761726473417574686f726974790000815260200192915050565b6000614872602f83615055565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006148d1601f83615055565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b600061490a602183615055565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000614969601683615055565b7f43616e6e6f7420696d706f727420626164206461746100000000000000000000815260200192915050565b60006149a2601d83615055565b7f4578636565647320746865204645455f504552494f445f4c454e475448000000815260200192915050565b60006149db602983615055565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000614a3a6019836105d2565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614a73601783615055565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000614aac6018836105d2565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000614ae5601783615055565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000614b1e601e83615055565b7f49737375657220616e642053796e7468657469785374617465206f6e6c790000815260200192915050565b6000614b57602083615055565b7f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574815260200192915050565b6000614b90601b83615055565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b6142ef816150bc565b6142ef81615085565b6142ef81615092565b6000614be38285614412565b602082019150614bf382846142fe565b5060140192915050565b600061077082614580565b6000610770826145df565b6000614c1e82614748565b9150614c2a8284614412565b50602001919050565b6000614c1e82614a2d565b600061077082614a9f565b6020810161077082846142f5565b6020810161077082846142e6565b60408101614c7382856142f5565b6126a960208301846142f5565b60408101614c8e82856142f5565b6126a9602083018461446d565b60408101614ca982856142f5565b6126a96020830184614409565b60608101614cc482866142f5565b614cd16020830185614409565b61402f6040830184614409565b60808101614cec82876142f5565b614cf96020830186614409565b614d066040830185614409565b614d136060830184614bbc565b95945050505050565b60808101610770828461430f565b602080825281016126a9818461435b565b602081016107708284614400565b602081016107708284614409565b60408101614c738285614409565b60408101614ca98285614409565b60408101614d818285614409565b818103602083015261402f8184614423565b60c08082528101614da48189614423565b9050614db3602083018861446d565b614dc06040830187614409565b614dcd6060830186614464565b614dda6080830185614464565b614de760a0830184614464565b979650505050505050565b60c08082528101614e038189614423565b9050614e12602083018861446d565b614e1f6040830187614409565b614dcd6060830186614409565b60208101610770828461445b565b602080825281016126a98184614423565b602080825281016105cf81614476565b602080825281016105cf816144af565b602080825281016105cf8161450e565b602080825281016105cf81614547565b602080825281016105cf8161463e565b602080825281016105cf81614677565b602080825281016105cf816146b0565b602080825281016105cf816146e9565b602080825281016105cf81614781565b602080825281016105cf816147ba565b602080825281016105cf816147f3565b602080825281016105cf8161482c565b602080825281016105cf81614865565b602080825281016105cf816148c4565b602080825281016105cf816148fd565b602080825281016105cf8161495c565b602080825281016105cf81614995565b602080825281016105cf816149ce565b602080825281016105cf81614a66565b602080825281016105cf81614ad8565b602080825281016105cf81614b11565b602080825281016105cf81614b4a565b602080825281016105cf81614b83565b60608101614cc48286614409565b60e08101614fd7828a614bc5565b614fe46020830189614bc5565b614ff16040830188614bc5565b614ffe6060830187614409565b61500b6080830186614409565b61501860a0830185614409565b61502560c0830184614409565b98975050505050505050565b602081016107708284614bce565b60200190565b50600290565b6000815192915050565b90815260200190565b60006105cf82615079565b151590565b60006105cf8261505e565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b60006105cf8261506e565b60006105cf61441e836108ba565b60006105cf826108ba565b60006105cf82615085565b60005b838110156150e25780820151838201526020016150ca565b838111156108335750506000910152565b60006105cf8260006105cf8261510e565b601f01601f191690565b60601b90565b61511d8161505e565b811461512e57600080611a55613b85565b50565b61511d81615069565b61511d816108ba565b61511d8161506e56",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event",
					"signature": "0xe2ca356e01eb0a4bb7caaf07d472b7d687db156713ffc3111c758e9fe0a17ea7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "pUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event",
					"signature": "0x1ac537f0ad67b64ac68a04587ff3a4cb6977de22eb2c37ee560897a92c6d07c7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodStartingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x28dcdf40e6b6196065d54760038ab1a8c0c1d9cfa58a99e6b0cb6022f7e24775"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86645274"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd294f093"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6466f45e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ebc457a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "effectiveDebtRatioForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0813071c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0de58615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesByPeriod",
					"outputs": [
						{
							"internalType": "uint256[2][2]",
							"name": "results",
							"type": "uint256[2][2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x33140016"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ea50cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac834193"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "feePeriodIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingDebtIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"name": "importFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb10090b8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59a2f19f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startingDebtIndex",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fcd2240"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x22bf55ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd1f498d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x569249d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalRewardsAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6de813f1"
				}
			],
			"source": {
				"keccak256": "0x4238309eac3f3ead676bd4a3347ee1359a2ebade2660cc1de0de4076d46e32f1",
				"urls": [
					"bzz-raw://970711aa74670f992bc02897f30556259a3523784f292eacfd8c8d66c93e3aac",
					"dweb:/ipfs/QmYE54TM2Kwq7dbf9QyugRXRsAnT143Ur87akzij3YaXjA"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePool.sol": "FeePool"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1500
					},
					"remappings": []
				},
				"sources": {
					"FeePool.sol": {
						"keccak256": "0x4238309eac3f3ead676bd4a3347ee1359a2ebade2660cc1de0de4076d46e32f1",
						"urls": [
							"bzz-raw://970711aa74670f992bc02897f30556259a3523784f292eacfd8c8d66c93e3aac",
							"dweb:/ipfs/QmYE54TM2Kwq7dbf9QyugRXRsAnT143Ur87akzij3YaXjA"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "60806040523480156200001c5760008062000019620001ac565b50505b506040516200127c3803806200127c833981810160405260408110156200004d576000806200004a620001ac565b50505b8101908080519291906020018051925062375f0091508390506001600160a01b038116620000cc5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c9620001ac565b50505b806000600181620000dc62000219565b816001600160a01b0302191690836001600160a01b0316021790620001006200027b565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150805a62000157620002ca565b01806002620001656200027b565b5050505080600360006101000a816200017d62000219565b816001600160a01b0302191690836001600160a01b0316021790620001a16200027b565b505050505062000311565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001e6578086015182820160400152602001620001c9565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000276576000828201526020016200025d565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200025d565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206200025d565b610f5b80620003216000396000f3fe608060405234801561001957600080610016610c96565b50505b50600436106100d85760003560e01c80637de6554511610095578063ae2e933b1161006f578063ae2e933b14610329578063b326f84e14610331578063cff2ddad14610366578063d29c000a14610384576100d8565b80637de65545146102935780638da5cb5b146102e057806394e1a448146102e8576100d8565b80631627540c146100e657806319db22281461011757806339a3f63f1461014657806346ba2d901461024d57806353a47bb71461026757806379ba50971461028b575b6000806100e3610c96565b50505b6101156004803603602081101561010557600080610102610c96565b50505b50356001600160a01b03166103b9565b005b6101156004803603602081101561013657600080610133610c96565b50505b50356001600160a01b0316610433565b6101156004803603608081101561016557600080610162610c96565b50505b81019060208101813564010000000081111561018957600080610186610c96565b50505b8201836020820111156101a4576000806101a1610c96565b50505b803590602001918460208302840111640100000000831117156101cf576000806101cc610c96565b50505b9193909290916020810190356401000000008111156101f6576000806101f3610c96565b50505b8201836020820111156102115760008061020e610c96565b50505b8035906020019184602083028401116401000000008311171561023c57600080610239610c96565b50505b919350915080359060200135610471565b61025561067e565b60405190815260200160405180910390f35b61026f61068b565b6040516001600160a01b03909116815260200160405180910390f35b6101156106aa565b6102c8600480360360408110156102b2576000806102af610c96565b50505b506001600160a01b03813516906020013561082d565b60405191825260208201526040908101905180910390f35b61026f610869565b6101156004803603608081101561030757600080610304610c96565b50505b506001600160a01b038135169060208101359060408101359060600135610874565b61026f610972565b6102c8600480360360408110156103505760008061034d610c96565b50505b506001600160a01b03813516906020013561097e565b61036e610a36565b60405160ff909116815260200160405180910390f35b6102c8600480360360408110156103a3576000806103a0610c96565b50505b506001600160a01b038135169060200135610a3b565b6103c1610b2b565b80600180806103ce610d01565b816001600160a01b0302191690836001600160a01b03160217906103f0610d5c565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b61043b610b2b565b806003600181610449610d01565b816001600160a01b0302191690836001600160a01b031602179061046b610d5c565b50505050565b610479610b2b565b6002610483610d01565b5a61048c610daa565b106104d15760405162461bcd60e51b8152600401808060200182810382526029815260200180610f3260299139604001915050604051809103906104ce610c96565b50505b84831461051f5760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016040518091039061051c610c96565b50505b60005b858110156106755784848281811061053657fe5b905060200201356004600089898581811061054d57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061058857fe5b600202016000018190610599610d5c565b50505081600460008989858181106105ad57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106105e857fe5b6002020160010181906105f9610d5c565b50505086868281811061060857fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061064e57fe5b905060200201358460405191825260208201526040908101905180910390a2600101610522565b50505050505050565b6002610688610d01565b81565b60006001610697610d01565b906101000a90046001600160a01b031681565b600060016106b6610d01565b906101000a90046001600160a01b03166001600160a01b03165a6106d8610df0565b6001600160a01b0316146107265760405162461bcd60e51b8152600401808060200182810382526035815260200180610e7a6035913960400191505060405180910390610723610c96565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610752610d01565b906101000a90046001600160a01b0316600160009061076f610d01565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016107ae610d01565b906101000a90046001600160a01b03166000806101000a816107ce610d01565b816001600160a01b0302191690836001600160a01b03160217906107f0610d5c565b5050506000600160006101000a81610806610d01565b816001600160a01b0302191690836001600160a01b0316021790610828610d5c565b505050565b6004602052816000526040600020816006811061084657fe5b600202019150819050610857610d01565b9080600101610864610d01565b905082565b600080610697610d01565b60006003610880610d01565b906101000a90046001600160a01b03166001600160a01b03165a6108a2610df0565b6001600160a01b0316146108f05760405162461bcd60e51b8152600401808060200182810382526031815260200180610ed260319139604001915050604051809103906108ed610c96565b50505b6001600160a01b03841660009081526004602052819060409020600101610915610d01565b10156109245761092484610ba8565b6001600160a01b038416600090815260046020528390604090208190610948610d5c565b5050506001600160a01b038416600090815260046020528290604090208190600101610675610d5c565b60006003610697610d01565b600080600683106109c95760405162461bcd60e51b8152600401808060200182810382526023815260200180610eaf60239139604001915050604051809103906109c6610c96565b50505b6001600160a01b038416600090815260046020526040902083600681106109ec57fe5b600202016109f8610d01565b6001600160a01b03851660009081526004602052909250604090208360068110610a1e57fe5b60020201600101610a2d610d01565b90509250929050565b600681565b600080610a46610e36565b6001600160a01b0385166000908152600460205260409020600660c060405190810160405291906000835b82821015610ab85783826002020160405160408082019052908181610a94610d01565b815260200160018201610aa5610d01565b8152505081526020019060010190610a71565b509293506000925050505b6006811015610b2157818160068110610ad857fe5b6020020151602001518510610b1957818160068110610af357fe5b602002015151828260068110610b0557fe5b602002015160200151935093505050610b24565b600101610ac3565b50505b9250929050565b600080610b36610d01565b906101000a90046001600160a01b03166001600160a01b03165a610b58610df0565b6001600160a01b031614610ba65760405162461bcd60e51b815260040180806020018281038252602f815260200180610f03602f913960400191505060405180910390610ba3610c96565b50505b565b60045b6006811015610ba3576001600160a01b038216600090815260046020526001820190604090208260068110610bdc57fe5b60020201610be8610d01565b6001600160a01b03841660009081526004602052604090208260068110610c0b57fe5b600202016000018190610c1c610d5c565b5050506001600160a01b03831660009081526004602052604090208260068110610c4257fe5b60020201600101610c51610d01565b6001600160a01b03841660009081526004602052604090208260068110610c7457fe5b600202016001018190610c85610d5c565b50506000199092019150610bab9050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610cce578086015182820160400152602001610cb3565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561082857600082820152602001610d45565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610d45565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610d45565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610d45565b60405160c081016040526006815b610e4c610e62565b815260200190600190039081610e445790505090565b60405160408082019052600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountIssuanceLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7de65545"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "currentPeriodStartDebtIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94e1a448"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "closingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "applicableIssuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd29c000a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getAccountsDebtEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb326f84e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "ratios",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "periodToInsert",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39a3f63f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0x7c479caa07a2d059cf7fd0c44c6179ccf36828e575289181ba98e502fcc958a8",
				"urls": [
					"bzz-raw://d48f607e79f7a1c1035f31278244149be548551f6b5f2ae1e37c9e64297628f0",
					"dweb:/ipfs/QmT9MbH7FeA1EVkdHLaQrdQpBQ4sSGxQXKDAiDvheFJnXL"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolState.sol": "FeePoolState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolState.sol": {
						"keccak256": "0x7c479caa07a2d059cf7fd0c44c6179ccf36828e575289181ba98e502fcc958a8",
						"urls": [
							"bzz-raw://d48f607e79f7a1c1035f31278244149be548551f6b5f2ae1e37c9e64297628f0",
							"dweb:/ipfs/QmT9MbH7FeA1EVkdHLaQrdQpBQ4sSGxQXKDAiDvheFJnXL"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "60806040523480156200001c576000806200001962000251565b50505b5060405162001d2b38038062001d2b833981810160405260a08110156200004d576000806200004a62000251565b50505b81019080805192919060200180519291906020018051929190602001805192919060200180519250869150506001600160a01b038116620000df5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000dc62000251565b50505b806000600181620000ef620002be565b816001600160a01b0302191690836001600160a01b03160217906200011362000320565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1508360026001816200016e620002be565b816001600160a01b0302191690836001600160a01b03160217906200019262000320565b50505082600360006101000a81620001a9620002be565b816001600160a01b0302191690836001600160a01b0316021790620001cd62000320565b50505081600460006101000a81620001e4620002be565b816001600160a01b0302191690836001600160a01b03160217906200020862000320565b50505080600560006101000a816200021f620002be565b816001600160a01b0302191690836001600160a01b03160217906200024362000320565b50505050505050506200036f565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200028b5780860151828201604001526020016200026e565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200031b5760008282015260200162000302565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000302565b6119ac806200037f6000396000f3fe60806040523480156100195760008061001661150d565b50505b506004361061011f5760003560e01c8063817a6951116100ab578063bdd124821161007a578063bdd124821461031e578063bf7e214f14610326578063c9e9cc4d1461032e578063d8297e4414610336578063e54c1671146103655761011f565b8063817a6951146102b95780638da5cb5b146102df57806395896b76146102e7578063a430be6c146103165761011f565b806359974e38116100f257806359974e38146101e45780635de399341461021e57806360eb3ff21461024d57806379ba5097146102825780637a9e5e4b1461028a5761011f565b8063060ca2501461012d5780631627540c146101475780634487d3df1461017857806353a47bb7146101c0575b60008061012a61150d565b50505b6101356103a0565b60405190815260200160405180910390f35b610176600480360360208110156101665760008061016361150d565b50505b50356001600160a01b03166103b4565b005b61019e600480360360208110156101975760008061019461150d565b50505b503561042e565b6040516001600160a01b03909216825260208201526040908101905180910390f35b6101c8610480565b6040516001600160a01b03909116815260200160405180910390f35b61020a600480360360208110156102035760008061020061150d565b50505b503561049f565b604051901515815260200160405180910390f35b6101766004803603602081101561023d5760008061023a61150d565b50505b50356001600160a01b0316610dc3565b61020a6004803603604081101561026c5760008061026961150d565b50505b506001600160a01b038135169060200135610e01565b610176610fd1565b610176600480360360208110156102a9576000806102a661150d565b50505b50356001600160a01b0316611154565b610176600480360360208110156102d8576000806102d561150d565b50505b503561116a565b6101c86112ca565b610176600480360360208110156103065760008061030361150d565b50505b50356001600160a01b03166112d5565b6101c86112eb565b6101c86112f7565b6101c8611303565b6101c861130f565b610176600480360360208110156103555760008061035261150d565b50505b50356001600160a01b031661131b565b61020a600480360360608110156103845760008061038161150d565b50505b508035906001600160a01b036020820135169060400135611331565b60006006806103ad611578565b9150505b90565b6103bc61142e565b80600180806103c9611578565b816001600160a01b0302191690836001600160a01b03160217906103eb6115d3565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6006818161043a611578565b811061044257fe5b906000526020600020600290910201905060008161045e611578565b906101000a90046001600160a01b0316908060010161047b611578565b905082565b6000600161048c611578565b906101000a90046001600160a01b031681565b60008082116104f55760405162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b6044820152606401604051809103906104f261150d565b50505b60006002610501611578565b906101000a90046001600160a01b03166001600160a01b03165a610523611621565b6001600160a01b0316146105865760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f7269736564000000000000000060448201526064016040518091039061058361150d565b50505b6000806004610593611578565b906101000a90046001600160a01b03166001600160a01b031614156106075760405162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f742073657400000000000000000060448201526064016040518091039061060461150d565b50505b6000806003610614611578565b906101000a90046001600160a01b03166001600160a01b031614156106885760405162461bcd60e51b815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f74207365740000000000000060448201526064016040518091039061068561150d565b50505b6000806005610695611578565b906101000a90046001600160a01b03166001600160a01b031614156107095760405162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f742073657400000000000000000060448201526064016040518091039061070661150d565b50505b8160006003610716611578565b906101000a90046001600160a01b03166001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561078a57600082820152602001610773565b5050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806107c7611667565b1580156107dc576000806107d961150d565b50505b505a6107e66116b3565b5050505050158015610805573d6000803e3d600061080261150d565b50505b505050506040513d60208110156108245760008061082161150d565b50505b810190808051939093101592506108789150505760405162461bcd60e51b8152600401808060200182810382526046815260200180611937604691396060019150506040518091039061087561150d565b50505b8160005b600680610887611578565b9050811015610bf85760006006828161089e611578565b81106108a657fe5b906000526020600020600091600202016108be611578565b906101000a90046001600160a01b03166001600160a01b031614158061090f5750600681816108eb611578565b81106108f357fe5b906000526020600020906002020160010161090c611578565b15155b15610bf05761095160068281610923611578565b811061092b57fe5b9060005260206000209060020201600101610944611578565b839063ffffffff6114a816565b91506000600361095f611578565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb60068381610989611578565b811061099157fe5b906000526020600020600091600202016109a9611578565b906101000a90046001600160a01b0316600684816109c5611578565b81106109cd57fe5b90600052602060002090600202016001016109e6611578565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610a27611667565b158015610a3c57600080610a3961150d565b50505b505a610a4661179e565b505050505050158015610a66573d6000803e3d6000610a6361150d565b50505b505050506040513d6020811015610a8557600080610a8261150d565b50505b81019080805150606092506006915083905081610aa0611578565b8110610aa857fe5b9060005260206000209060020201600101610ac1611578565b6040516024810191909152604401604051601f19818303018152604091909152633c6b16ab60e01b6020820180516001600160e01b031690911790529050600060068381610b0d611578565b8110610b1557fe5b90600052602060002060009160020201610b2d611578565b906101000a90046001600160a01b03166001600160a01b0316826040518082805190602001908083835b60208310610b765780518252601f199092019160209182019101610b57565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865a610bb061179e565b5050505050509150503d8060008114610be5576040513d603f01601f191681016040523d815291503d6000602084013e610bea565b606091505b50505050505b60010161087c565b5060006003610c05611578565b6001600160a01b036101009290920a90041663a9059cbb60006004610c28611578565b906101000a90046001600160a01b0316836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610c7a611667565b158015610c8f57600080610c8c61150d565b50505b505a610c9961179e565b505050505050158015610cb9573d6000803e3d6000610cb661150d565b50505b505050506040513d6020811015610cd857600080610cd561150d565b50505b810190808051506000925060059150610cf19050611578565b906101000a90046001600160a01b03166001600160a01b031663fd1f498d826040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780610d44611667565b158015610d5957600080610d5661150d565b50505b505a610d6361179e565b505050505050158015610d83573d6000803e3d6000610d8061150d565b50505b505050507f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4428360405190815260200160405180910390a150600192915050565b610dcb61142e565b806004600181610dd9611578565b816001600160a01b0302191690836001600160a01b0316021790610dfb6115d3565b50505050565b6000610e0b61142e565b6001600160a01b038316610e6e5760405162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015260640160405180910390610e6b61150d565b50505b81610ec15760405162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015260640160405180910390610ebe61150d565b50505b610ec9611864565b604051604080820190526001600160a01b038516815260208101849052905080600680600181610ef7611578565b018082610f026115d3565b50506000928352916000198301915060209020919291600290910201815181600181610f2c611578565b816001600160a01b0302191690836001600160a01b0316021790610f4e6115d3565b505050602082015181600101610f626115d3565b50505050507f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa2086001600680610f95611578565b90500385856040519283526001600160a01b0390911660208301526040808301919091526060909101905180910390a160019150505b92915050565b60006001610fdd611578565b906101000a90046001600160a01b03166001600160a01b03165a610fff611621565b6001600160a01b03161461104d5760405162461bcd60e51b8152600401808060200182810382526035815260200180611902603591396040019150506040518091039061104a61150d565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611079611578565b906101000a90046001600160a01b03166001600090611096611578565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016110d5611578565b906101000a90046001600160a01b03166000806101000a816110f5611578565b816001600160a01b0302191690836001600160a01b03160217906111176115d3565b5050506000600160006101000a8161112d611578565b816001600160a01b0302191690836001600160a01b031602179061114f6115d3565b505050565b61115c61142e565b806002600181610dd9611578565b61117261142e565b600160068061117f611578565b9050038111156111d45760405162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b6044820152606401604051809103906111d161150d565b50505b805b60016006806111e3611578565b9050038110156112ab57600681600101816111fc611578565b811061120457fe5b90600052602060002090600202016006828161121e611578565b811061122657fe5b906000526020600020600290910201600082611240611578565b6001600160a01b036101009290920a9004168160018161125e611578565b816001600160a01b0302191690836001600160a01b03160217906112806115d3565b5050506001820161128f611578565b8160010161129b6115d3565b5050600190920191506111d69050565b506006806112b7611578565b906112c690600019830161187b565b5050565b60008061048c611578565b6112dd61142e565b806003600181610dd9611578565b6000600461048c611578565b6000600361048c611578565b6000600261048c611578565b6000600561048c611578565b61132361142e565b806005600181610dd9611578565b600061133b61142e565b6001600680611348611578565b90500384111561139d5760405162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b60448201526064016040518091039061139a61150d565b50505b82600685816113aa611578565b81106113b257fe5b9060005260206000206002909102016001816113cc611578565b816001600160a01b0302191690836001600160a01b03160217906113ee6115d3565b50505081600685816113fe611578565b811061140657fe5b906000526020600020906002020160010181906114216115d3565b5060019695505050505050565b600080611439611578565b906101000a90046001600160a01b03166001600160a01b03165a61145b611621565b6001600160a01b0316146114a65760405162461bcd60e51b815260040180806020018281038252602f81526020018061197d602f9139604001915050604051809103906112c661150d565b565b6000828211156115075760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039061150461150d565b50505b50900390565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561154557808601518282016040015260200161152a565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561114f576000828201526020016115bc565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206115bc565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206115bc565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206115bc565b638540661f598160e01b81526116e4565b8080831115610fcb575090919050565b8080831015610fcb575090919050565b836004820152846024820152606060448201528660648201526084810160005b8881101561171c578088015182820152602001611704565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596117718d3d6116d4565b8c0161177d81876116c4565b5b82811015611792576000815260200161177e565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b898110156117e25780890151828201526020016117ca565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596118378e3d6116d4565b8d0161184381876116c4565b5b828110156118585760008152602001611844565b50929d50505050505050565b604051604080820190526000808252602082015290565b81611884611578565b818361188e6115d3565b50508181111561114f576002028160020283600052602060002061114f92810191016103b191905b808211156118fd576000816001816118cc611578565b906001600160a01b03021916906118e16115d3565b5050600182016000906118f26115d3565b5050506002016118b6565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDistributionAdded",
					"type": "event",
					"signature": "0x08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardsDistributed",
					"type": "event",
					"signature": "0x6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be442"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "addRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x60eb3ff2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "authority",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf7e214f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "distributeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59974e38"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "distributions",
					"outputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4487d3df"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "distributionsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x060ca250"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "editRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe54c1671"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePoolProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e9cc4d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x817a6951"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardEscrow",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa430be6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						}
					],
					"name": "setAuthority",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7a9e5e4b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"name": "setFeePoolProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8297e44"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5de39934"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x95896b76"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdd12482"
				}
			],
			"source": {
				"keccak256": "0xddb8a08388d2e829d50ed8659505e5f5285ccc4ef2849b13fd8621e318c55132",
				"urls": [
					"bzz-raw://5af82a2b70666fb647febf3f35aa9729182922172790e4a575db88fa47ae4aec",
					"dweb:/ipfs/QmXQcKDA2SqgMSu6atXrn9NDQ2gdPzhhEFS2qhyCz6tEQo"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0xddb8a08388d2e829d50ed8659505e5f5285ccc4ef2849b13fd8621e318c55132",
						"urls": [
							"bzz-raw://5af82a2b70666fb647febf3f35aa9729182922172790e4a575db88fa47ae4aec",
							"dweb:/ipfs/QmXQcKDA2SqgMSu6atXrn9NDQ2gdPzhhEFS2qhyCz6tEQo"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "60806040523480156200001c576000806200001962000148565b50505b50604051620019f5380380620019f5833981810160405260208110156200004d576000806200004a62000148565b50505b81019080805192508291508190506001600160a01b038116620000c15760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000be62000148565b50505b806000600181620000d1620001b5565b816001600160a01b0302191690836001600160a01b0316021790620000f562000217565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150505062000266565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200018257808601518282016040015260200162000165565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200021257600082820152602001620001f9565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620001f9565b61177f80620002766000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b411461059d578063a9059cbb146105bb578063d4b8399214610606578063dd62ed3e14610624576100f3565b8063776d1a011461045a57806379ba50971461049f5780638da5cb5b146104bd578063907dff97146104db576100f3565b806323b872dd116100c657806323b872dd14610352578063313ce567146103a757806353a47bb7146103db57806370a0823114610415576100f3565b806306fdde03146101e7578063095ea7b31461027c5780631627540c146102db57806318160ddd14610322575b600060026100ff6113c3565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a61012661141e565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780610162611464565b158015610177576000806101746114b0565b50505b505a61018161151b565b5050505050501580156101a1573d6000803e3d600061019e6114b0565b50505b50505050604051366000823760008036833460026101bd6113c3565b5a6101c661151b565b5050505050503d6000833e806101e3573d826101e06114b0565b50505b3d82f35b3480156101fc576000806101f96114b0565b50505b50610205610671565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610241578082015183820152602001610229565b50505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102915760008061028e6114b0565b50505b506102c7600480360360408110156102b1576000806102ae6114b0565b50505b506001600160a01b038135169060200135610801565b604051901515815260200160405180910390f35b3480156102f0576000806102ed6114b0565b50505b50610320600480360360208110156103105760008061030d6114b0565b50505b50356001600160a01b0316610995565b005b348015610337576000806103346114b0565b50505b50610340610a0f565b60405190815260200160405180910390f35b348015610367576000806103646114b0565b50505b506102c760048036036060811015610387576000806103846114b0565b50505b506001600160a01b03813581169160208101359091169060400135610aca565b3480156103bc576000806103b96114b0565b50505b506103c5610c6a565b60405160ff909116815260200160405180910390f35b3480156103f0576000806103ed6114b0565b50505b506103f9610cba565b6040516001600160a01b03909116815260200160405180910390f35b34801561042a576000806104276114b0565b50505b506103406004803603602081101561044a576000806104476114b0565b50505b50356001600160a01b0316610cd9565b34801561046f5760008061046c6114b0565b50505b506103206004803603602081101561048f5760008061048c6114b0565b50505b50356001600160a01b0316610dab565b3480156104b4576000806104b16114b0565b50505b50610320610e26565b3480156104d2576000806104cf6114b0565b50505b506103f9610fa9565b3480156104f0576000806104ed6114b0565b50505b50610320600480360360c08110156105105760008061050d6114b0565b50505b810190602081018135640100000000811115610534576000806105316114b0565b50505b82018360208201111561054f5760008061054c6114b0565b50505b8035906020019184600183028401116401000000008311171561057a576000806105776114b0565b50505b919350915080359060208101359060408101359060608101359060800135610fb4565b3480156105b2576000806105af6114b0565b50505b506102056110ed565b3480156105d0576000806105cd6114b0565b50505b506102c7600480360360408110156105f0576000806105ed6114b0565b50505b506001600160a01b03813516906020013561113e565b34801561061b576000806106186114b0565b50505b506103f961125f565b348015610639576000806106366114b0565b50505b5061034060048036036040811015610659576000806106566114b0565b50505b506001600160a01b038135811691602001351661126b565b60606000600261067f6113c3565b906101000a90046001600160a01b03166001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186806106c2611464565b1580156106d7576000806106d46114b0565b50505b505a6106e1611606565b5050505050158015610700573d6000803e3d60006106fd6114b0565b50505b505050506040513d6000823e601f3d908101601f1916820160405260208110156107325760008061072f6114b0565b50505b810190808051604051939291908464010000000082111561075b576000806107586114b0565b50505b908301906020820185811115610779576000806107766114b0565b50505b825164010000000081118282018810171561079c576000806107996114b0565b50505b825250602001908051906020019080838360005b838110156107c85780820151838201526020016107b0565b50505050905090810190601f1680156107f55780820380516001836020036101000a031916815260200191505b50604052505050905090565b600080600261080e6113c3565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a61083561141e565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780610871611464565b158015610886576000806108836114b0565b50505b505a61089061151b565b5050505050501580156108b0573d6000803e3d60006108ad6114b0565b50505b5050505060026000906108c16113c3565b906101000a90046001600160a01b03166001600160a01b031663095ea7b384846040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610922611464565b158015610937576000806109346114b0565b50505b505a61094161151b565b505050505050158015610961573d6000803e3d600061095e6114b0565b50505b505050506040513d60208110156109805760008061097d6114b0565b50505b81019080805150600193505050505b92915050565b61099d611346565b80600180806109aa6113c3565b816001600160a01b0302191690836001600160a01b03160217906109cc6116cc565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000806002610a1c6113c3565b906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680610a5f611464565b158015610a7457600080610a716114b0565b50505b505a610a7e611606565b5050505050158015610a9d573d6000803e3d6000610a9a6114b0565b50505b505050506040513d6020811015610abc57600080610ab96114b0565b50505b810190808051935050505090565b6000806002610ad76113c3565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a610afe61141e565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780610b3a611464565b158015610b4f57600080610b4c6114b0565b50505b505a610b5961151b565b505050505050158015610b79573d6000803e3d6000610b766114b0565b50505b505050506002600090610b8a6113c3565b906101000a90046001600160a01b03166001600160a01b03166323b872dd8585856040516001600160e01b031960e086901b1681526001600160a01b039384166004820152919092166024820152604481019190915260640160206040518083038160008780610bf8611464565b158015610c0d57600080610c0a6114b0565b50505b505a610c1761151b565b505050505050158015610c37573d6000803e3d6000610c346114b0565b50505b505050506040513d6020811015610c5657600080610c536114b0565b50505b810190808051506001979650505050505050565b6000806002610c776113c3565b906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b81526004016020604051808303818680610a5f611464565b60006001610cc66113c3565b906101000a90046001600160a01b031681565b6000806002610ce66113c3565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610d3f611464565b158015610d5457600080610d516114b0565b50505b505a610d5e611606565b5050505050158015610d7d573d6000803e3d6000610d7a6114b0565b50505b505050506040513d6020811015610d9c57600080610d996114b0565b50505b81019080805195945050505050565b610db3611346565b806002600181610dc16113c3565b816001600160a01b0302191690836001600160a01b0316021790610de36116cc565b5050507f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e816040516001600160a01b03909116815260200160405180910390a150565b60006001610e326113c3565b906101000a90046001600160a01b03166001600160a01b03165a610e5461141e565b6001600160a01b031614610ea25760405162461bcd60e51b815260040180806020018281038252603581526020018061171b6035913960400191505060405180910390610e9f6114b0565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610ece6113c3565b906101000a90046001600160a01b03166001600090610eeb6113c3565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610f2a6113c3565b906101000a90046001600160a01b03166000806101000a81610f4a6113c3565b816001600160a01b0302191690836001600160a01b0316021790610f6c6116cc565b5050506000600160006101000a81610f826113c3565b816001600160a01b0302191690836001600160a01b0316021790610fa46116cc565b505050565b600080610cc66113c3565b60006002610fc06113c3565b906101000a90046001600160a01b03166001600160a01b03165a610fe261141e565b6001600160a01b03161461103c5760405162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b6044820152606401604051809103906110396114b0565b50505b8560608882806020601f82018190048102016040519081016040528181529291906020840183838082843760009201919091525092935089925050811590506110a457600181146110af57600281146110bb57600381146110c857600481146110d6576110e1565b8260208301a06110e1565b868360208401a16110e1565b85878460208501a26110e1565b8486888560208601a36110e1565b838587898660208701a45b50505050505050505050565b6060600060026110fb6113c3565b906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186806106c2611464565b600080600261114b6113c3565b906101000a90046001600160a01b03166001600160a01b031663bc67f8325a61117261141e565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087806111ae611464565b1580156111c3576000806111c06114b0565b50505b505a6111cd61151b565b5050505050501580156111ed573d6000803e3d60006111ea6114b0565b50505b5050505060026000906111fe6113c3565b906101000a90046001600160a01b03166001600160a01b031663a9059cbb84846040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038160008780610922611464565b60006002610cc66113c3565b60008060026112786113c3565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186806112d9611464565b1580156112ee576000806112eb6114b0565b50505b505a6112f8611606565b5050505050158015611317573d6000803e3d60006113146114b0565b50505b505050506040513d6020811015611336576000806113336114b0565b50505b8101908080519695505050505050565b6000806113516113c3565b906101000a90046001600160a01b03166001600160a01b03165a61137361141e565b6001600160a01b0316146113c15760405162461bcd60e51b815260040180806020018281038252602f815260200180611750602f9139604001915050604051809103906113be6114b0565b50505b565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610fa457600082820152602001611407565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611407565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611407565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156114e85780860151828201604001526020016114cd565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6385979f76598160e01b815261154c565b808083111561098f575090919050565b808083101561098f575090919050565b836004820152846024820152606060448201528760648201526084810160005b8981101561158457808901518282015260200161156c565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596115d98e3d61153c565b8d016115e5818761152c565b5b828110156115fa57600081526020016115e6565b50929d50505050505050565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101561164a578088015182820152602001611632565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af1505961169f8d3d61153c565b8c016116ab818761152c565b5b828110156116c057600081526020016116ac565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602061140756fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				}
			],
			"source": {
				"keccak256": "0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762",
				"urls": [
					"bzz-raw://b048a5a534419b781adf0022201ad8e4eafe7a165f6d07aff2b9801e48dc1863",
					"dweb:/ipfs/QmawLLfkB6catwJF17Anv1FMGAbQjb6RNayqrmZHw9t1Kq"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0x067912d947f7e44dc3cc78c50cba795498728b2e8c213acc9a80f317df773762",
						"urls": [
							"bzz-raw://b048a5a534419b781adf0022201ad8e4eafe7a165f6d07aff2b9801e48dc1863",
							"dweb:/ipfs/QmawLLfkB6catwJF17Anv1FMGAbQjb6RNayqrmZHw9t1Kq"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001957600080610016610225565b50505b50604051610c51380380610c518339818101604052604081101561004557600080610042610225565b50505b810190808051929190602001805192508291508390506001600160a01b0381166100be5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906100bb610225565b50505b8060006001816100cc610290565b816001600160a01b0302191690836001600160a01b03160217906100ee6102f0565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080610145610290565b906101000a90046001600160a01b03166001600160a01b031614156101ad5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b6044820152606401604051809103906101aa610225565b50505b8060026001816101bb610290565b816001600160a01b0302191690836001600160a01b03160217906101dd6102f0565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150505061033e565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561025d578086015182820160400152602001610242565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156102eb576000828201526020016102d4565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206102d4565b6109048061034d6000396000f3fe608060405234801561001957600080610016610711565b50505b50600436106100a75760003560e01c80638da5cb5b1161006f5780638da5cb5b14610182578063aefc4ccb1461018a578063b46310f614610192578063da46098c146101c7578063dd62ed3e14610206576100a7565b80631627540c146100b557806352f445ca146100e657806353a47bb71461011557806370a082311461013957806379ba50971461017a575b6000806100b2610711565b50505b6100e4600480360360208110156100d4576000806100d1610711565b50505b50356001600160a01b031661023d565b005b6100e46004803603602081101561010557600080610102610711565b50505b50356001600160a01b03166102b7565b61011d610332565b6040516001600160a01b03909116815260200160405180910390f35b6101686004803603602081101561015857600080610155610711565b50505b50356001600160a01b0316610351565b60405190815260200160405180910390f35b6100e461036c565b61011d6104ef565b61011d6104fa565b6100e4600480360360408110156101b1576000806101ae610711565b50505b506001600160a01b038135169060200135610506565b6100e4600480360360608110156101e6576000806101e3610711565b50505b506001600160a01b038135811691602081013590911690604001356105ad565b6101686004803603604081101561022557600080610222610711565b50505b506001600160a01b038135811691602001351661066e565b610245610694565b806001808061025261077c565b816001600160a01b0302191690836001600160a01b03160217906102746107d7565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6102bf610694565b8060026001816102cd61077c565b816001600160a01b0302191690836001600160a01b03160217906102ef6107d7565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b6000600161033e61077c565b906101000a90046001600160a01b031681565b6003602052806000526040600020905061036961077c565b81565b6000600161037861077c565b906101000a90046001600160a01b03166001600160a01b03165a61039a610825565b6001600160a01b0316146103e85760405162461bcd60e51b815260040180806020018281038252603581526020018061086c60359139604001915050604051809103906103e5610711565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061041461077c565b906101000a90046001600160a01b0316600160009061043161077c565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161047061077c565b906101000a90046001600160a01b03166000806101000a8161049061077c565b816001600160a01b0302191690836001600160a01b03160217906104b26107d7565b5050506000600160006101000a816104c861077c565b816001600160a01b0302191690836001600160a01b03160217906104ea6107d7565b505050565b60008061033e61077c565b6000600261033e61077c565b6000600261051261077c565b906101000a90046001600160a01b03166001600160a01b03165a610534610825565b6001600160a01b0316146105825760405162461bcd60e51b81526004018080602001828103825260348152602001806108d0603491396040019150506040518091039061057f610711565b50505b6001600160a01b0382166000908152600360205281906040902081906105a66107d7565b5050505050565b600060026105b961077c565b906101000a90046001600160a01b03166001600160a01b03165a6105db610825565b6001600160a01b0316146106295760405162461bcd60e51b81526004018080602001828103825260348152602001806108d06034913960400191505060405180910390610626610711565b50505b6001600160a01b038316600090815260046020528190604090206001600160a01b03841660009081526020919091526040902081906106666107d7565b505050505050565b60046020528160005260406000206020528060005260406000209150610369905061077c565b60008061069f61077c565b906101000a90046001600160a01b03166001600160a01b03165a6106c1610825565b6001600160a01b03161461070f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806108a1602f91396040019150506040518091039061070c610711565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561074957808601518282016040015260200161072e565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156104ea576000828201526020016107c0565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206107c0565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206107c056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenOwner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setAllowance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xda46098c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb46310f6"
				}
			],
			"source": {
				"keccak256": "0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49",
				"urls": [
					"bzz-raw://47ae198cd6c0187aaf9628fbbda4a1a036d9c603312fe4638a5afa1bc3de780d",
					"dweb:/ipfs/QmPsCYFiTKavhq9dj1x8RmK942w8nUYvhSW8bwUMSKaKTh"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TokenState.sol": "TokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TokenState.sol": {
						"keccak256": "0xe9a73f8ee5731dad3d6edc8ba982fbde4f3b6185636701fdc0928ee0fec4ee49",
						"urls": [
							"bzz-raw://47ae198cd6c0187aaf9628fbbda4a1a036d9c603312fe4638a5afa1bc3de780d",
							"dweb:/ipfs/QmPsCYFiTKavhq9dj1x8RmK942w8nUYvhSW8bwUMSKaKTh"
						]
					}
				},
				"version": 1
			}
		},
		"MintablePeriFinance": {
			"bytecode": "60806040523480156200001c57600080620000196200039d565b50505b506040516200499d3803806200499d833981810160405260a08110156200004d576000806200004a6200039d565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051925086915085905084848480858560405160408082018152601782527f53796e746865746978204e6574776f726b20546f6b656e0000000000000000006020830152516040808201905260038152620a69cb60eb1b60208201528660128986816001600160a01b038116620001395760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620001366200039d565b50505b806000600181620001496200040a565b816001600160a01b0302191690836001600160a01b03160217906200016d6200046c565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620001c66200040a565b906101000a90046001600160a01b03166001600160a01b03161415620002315760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b6044820152606401604051809103906200022e6200039d565b50505b806002600181620002416200040a565b816001600160a01b0302191690836001600160a01b0316021790620002656200046c565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150856005600181620002b66200040a565b816001600160a01b0302191690836001600160a01b0316021790620002da6200046c565b505050846006908051620002f3929160200190620004bb565b50600784805162000309929160200190620004bb565b5082806008620003186200046c565b50505081600960006101000a816200032f6200040a565b8160ff021916908360ff16021790620003476200046c565b5050505050505050505080600960016101000a81620003656200040a565b816001600160a01b0302191690836001600160a01b0316021790620003896200046c565b505050505050505050505050505062000597565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620003d7578086015182820160400152602001620003ba565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000467576000828201526020016200044e565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200044e565b8280620004c76200040a565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200051257805160ff191683800117856200050a6200046c565b505062000558565b82800160010185620005236200046c565b5050821562000558579182015b828111156200055857825182620005466200046c565b50509160200191906001019062000530565b50620005669291506200056a565b5090565b6200059491905b80821115620005665760008082620005886200046c565b50505060010162000571565b90565b6143f680620005a76000396000f3fe608060405234801561001957600080610016613fd2565b50505b50600436106103ce5760003560e01c8063835e119c11610208578063af086c7e11610123578063dbf63340116100b6578063e90dd9e211610085578063e90dd9e214610cdd578063ec55688914610ce5578063edef719a14610ced578063ee52a2f314610d22576103ce565b8063dbf6334014610c34578063dd62ed3e14610c3c578063e6203ed114610c73578063e8e09b8b14610ca8576103ce565b8063d37c4d8b116100f2578063d37c4d8b14610bab578063d60888e414610be0578063d67bdd2514610c06578063d8a1f76f14610c0e576103ce565b8063af086c7e14610afe578063bc67f83214610b06578063c2bf388014610b35578063c836fa0a14610b6a576103ce565b806397107d6d1161019b5780639f7698071161016a5780639f76980714610a3c578063a311c7c214610a6b578063a5fdc5de14610a9a578063a9059cbb14610ac9576103ce565b806397107d6d146109d75780639741fb2214610a06578063987757dd14610a0e5780639cbdaeb614610a34576103ce565b80638da5cb5b116101d75780638da5cb5b1461097057806391e56b68146109785780639324cac7146109c757806395d89b41146109cf576103ce565b8063835e119c146108f657806383d625d41461091c578063899ffef4146109425780638a2900141461094a576103ce565b80632a905318116102f85780634e99bda91161028b57806370a082311161025a57806370a082311461085c57806372cb051f1461088b57806374185360146108e657806379ba5097146108ee576103ce565b80634e99bda9146107e857806353a47bb7146107f0578063666ed4f1146107f85780636ac0bf9c1461082d576103ce565b806330ead760116102c757806330ead76014610744578063313ce5671461078b578063320223db1461079357806332608039146107c2576103ce565b80632a905318146106e75780632af64bd3146106ef5780632c955fa7146106f75780632e0f262514610726576103ce565b8063131b0ae711610370578063188214001161033f57806318821400146106545780631fce304d1461065c57806323b872dd14610682578063295da87d146106c1576103ce565b8063131b0ae7146105bd5780631627540c146105ee57806316b2213f1461061d57806318160ddd1461064c576103ce565b8063095ea7b3116103ac578063095ea7b3146104c05780630e30963c146105095780631137aedf146105625780631249c58b146105b5576103ce565b806304f3bcec146103dc57806305b3c1c91461040057806306fdde0314610441575b6000806103d9613fd2565b50505b6103e4610d54565b6040516001600160a01b03909116815260200160405180910390f35b61042f6004803603602081101561041f5760008061041c613fd2565b50505b50356001600160a01b0316610d73565b60405190815260200160405180910390f35b610449610e32565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561048557808201518382015260200161046d565b50505050905090810190601f1680156104b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104f5600480360360408110156104df576000806104dc613fd2565b50505b506001600160a01b038135169060200135610eeb565b604051901515815260200160405180910390f35b6105416004803603608081101561052857600080610525613fd2565b50505b5080359060208101359060408101359060600135610fe9565b6040519182526001600160a01b031660208201526040908101905180910390f35b610591600480360360208110156105815760008061057e613fd2565b50505b50356001600160a01b0316610ffd565b60405180848152602001838152602001828152602001935050505060405180910390f35b6104f56110da565b6105ec600480360360208110156105dc576000806105d9613fd2565b50505b50356001600160a01b03166110e7565b005b6105ec6004803603602081101561060d5760008061060a613fd2565b50505b50356001600160a01b0316611125565b61042f6004803603602081101561063c57600080610639613fd2565b50505b50356001600160a01b031661119f565b61042f6111f2565b6104496111ff565b6104f56004803603602081101561067b57600080610678613fd2565b50505b5035611236565b6104f5600480360360608110156106a15760008061069e613fd2565b50505b506001600160a01b0381358116916020810135909116906040013561131b565b6105ec600480360360208110156106e0576000806106dd613fd2565b50505b5035611369565b610449611434565b6104f5611451565b6105ec6004803603602081101561071657600080610713613fd2565b50505b50356001600160a01b03166115e0565b61072e611666565b60405160ff909116815260200160405180910390f35b61042f600480360360a081101561076357600080610760613fd2565b50505b508035906020810135906040810135906001600160a01b03606082013516906080013561166b565b61072e61167e565b6105ec600480360360208110156107b2576000806107af613fd2565b50505b50356001600160a01b0316611697565b6103e4600480360360208110156107e1576000806107de613fd2565b50505b50356116ca565b6104f5611715565b6103e46117bd565b6105ec6004803603604081101561081757600080610814613fd2565b50505b506001600160a01b0381351690602001356117c9565b61042f6004803603602081101561084c57600080610849613fd2565b50505b50356001600160a01b03166117df565b61042f6004803603602081101561087b57600080610878613fd2565b50505b50356001600160a01b0316611979565b6108936119df565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156108d25780820151838201526020016108ba565b505050509050019250505060405180910390f35b6105ec611b3a565b6105ec611d6a565b6103e46004803603602081101561091557600080610912613fd2565b50505b5035611eed565b61042f6004803603602081101561093b57600080610938613fd2565b50505b5035611f38565b610893611f8c565b6105ec6004803603602081101561096957600080610966613fd2565b50505b503561200c565b6103e461203e565b61042f600480360360c081101561099757600080610994613fd2565b50505b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135612049565b61042f61205d565b610449612068565b6105ec600480360360208110156109f6576000806109f3613fd2565b50505b50356001600160a01b031661210a565b6105ec612185565b61059160048036036020811015610a2d57600080610a2a613fd2565b50505b5035612248565b6103e4612255565b6105ec60048036036020811015610a5b57600080610a58613fd2565b50505b50356001600160a01b0316612261565b61042f60048036036020811015610a8a57600080610a87613fd2565b50505b50356001600160a01b03166122a5565b61042f60048036036020811015610ab957600080610ab6613fd2565b50505b50356001600160a01b03166122f8565b6104f560048036036040811015610ae857600080610ae5613fd2565b50505b506001600160a01b03813516906020013561234b565b6105ec6123b3565b6105ec60048036036020811015610b2557600080610b22613fd2565b50505b50356001600160a01b03166123e5565b6105ec60048036036040811015610b5457600080610b51613fd2565b50505b506001600160a01b0381351690602001356123fb565b61042f60048036036080811015610b8957600080610b86613fd2565b50505b506001600160a01b0381351690602081013590604081013590606001356124d2565b61042f60048036036040811015610bca57600080610bc7613fd2565b50505b506001600160a01b0381351690602001356124e4565b61042f60048036036020811015610bff57600080610bfc613fd2565b50505b50356125aa565b6103e46125fe565b6105ec60048036036020811015610c2d57600080610c2a613fd2565b50505b503561260a565b61042f6126d8565b61042f60048036036040811015610c5b57600080610c58613fd2565b50505b506001600160a01b0381358116916020013516612715565b6104f560048036036040811015610c9257600080610c8f613fd2565b50505b506001600160a01b038135169060200135612783565b6105ec60048036036040811015610cc757600080610cc4613fd2565b50505b506001600160a01b03813516906020013561278d565b6103e46127c0565b6103e46127cc565b6105ec60048036036040811015610d0c57600080610d09613fd2565b50505b506001600160a01b0381351690602001356127d8565b61042f60048036036060811015610d4157600080610d3e613fd2565b50505b508035906020810135906040013561299e565b60016009610d6061403d565b906101000a90046001600160a01b031681565b6000610d7d6129a8565b6001600160a01b03166305b3c1c9836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dc6614098565b158015610ddb57600080610dd8613fd2565b50505b505a610de56140e4565b5050505050158015610e04573d6000803e3d6000610e01613fd2565b50505b505050506040513d6020811015610e2357600080610e20613fd2565b50505b81019080805195945050505050565b600680610e3d61403d565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610e7761403d565b60018160011615610100020316600290048015610ee35780601f10610eb1576101008083610ea361403d565b040283529160200191610ee3565b820191906000526020600020905b81610ec861403d565b81529060010190602001808311610ebf57829003601f168201915b505050505081565b6000610ef56129c1565b6000806004610f0261403d565b906101000a90046001600160a01b031690506005600090610f2161403d565b906101000a90046001600160a01b03166001600160a01b031663da46098c8286866040516001600160e01b031960e086901b1681526001600160a01b039384166004820152919092166024820152604481019190915260640160006040518083038160008780610f8f614098565b158015610fa457600080610fa1613fd2565b50505b505a610fae6141cf565b505050505050158015610fce573d6000803e3d6000610fcb613fd2565b50505b50505050610fdd818585612a97565b60019150505b92915050565b600080610ff4612c0f565b94509492505050565b600080600061100a6129a8565b6001600160a01b0316631137aedf856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016060604051808303818680611053614098565b15801561106857600080611065613fd2565b50505b505a6110726140e4565b5050505050158015611091573d6000803e3d600061108e613fd2565b50505b505050506040513d60608110156110b0576000806110ad613fd2565b50505b810190808051929190602001805192919060200180519497509295509293505050505b9193909250565b60006110e4612c0f565b90565b6110ef612c61565b8060036001816110fd61403d565b816001600160a01b0302191690836001600160a01b031602179061111f614295565b50505050565b61112d612c61565b806001808061113a61403d565b816001600160a01b0302191690836001600160a01b031602179061115c614295565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60006111a96129a8565b6001600160a01b03166316b2213f836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dc6614098565b60086111fc61403d565b81565b60405160408082019052601781527f53796e746865746978204e6574776f726b20546f6b656e000000000000000000602082015281565b600080611241612cd9565b6001600160a01b031663059c29ec6000600461125b61403d565b906101000a90046001600160a01b0316856040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160206040518083038186806112ab614098565b1580156112c0576000806112bd613fd2565b50505b505a6112ca6140e4565b50505050501580156112e9573d6000803e3d60006112e6613fd2565b50505b505050506040513d602081101561130857600080611305613fd2565b50505b8101908080519390931195945050505050565b60006113256129c1565b61132d612cf0565b6113378483612d66565b5061135f6000600461134761403d565b906101000a90046001600160a01b031685858561307b565b90505b9392505050565b6113716131ad565b6113796129c1565b6113816129a8565b6001600160a01b031663b06e8c656000600461139b61403d565b906101000a90046001600160a01b0316836040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806113ed614098565b158015611402576000806113ff613fd2565b50505b505a61140c6141cf565b50505050505015801561142c573d6000803e3d6000611429613fd2565b50505b505050505b50565b6040516040808201905260038152620a69cb60eb1b602082015281565b6000606061145d611f8c565b905060005b81518110156115d757600082828151811061147957fe5b60200260200101516000818152600a6020529091506040902060009061149d61403d565b6001600160a01b036101009290920a900416600160096114bb61403d565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061150c614098565b1580156115215760008061151e613fd2565b50505b505a61152b6140e4565b505050505015801561154a573d6000803e3d6000611547613fd2565b50505b505050506040513d602081101561156957600080611566613fd2565b50505b8101908080516001600160a01b0316939093141592508291506115bd905057506000818152600a602052604081206000906115a261403d565b906101000a90046001600160a01b03166001600160a01b0316145b156115ce57600093505050506110e4565b50600101611462565b50600191505090565b6115e86131ad565b6115f06129c1565b6115f86129a8565b6001600160a01b0316632b3f41aa826000600461161361403d565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401600060405180830381600087806113ed614098565b601281565b6000611675612c0f565b95945050505050565b6000600961168a61403d565b906101000a900460ff1681565b61169f6131ad565b6116a76129c1565b6116af6129a8565b6001600160a01b031663fd864ccf826000600461161361403d565b60006116d46129a8565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610dc6614098565b600061171f6129a8565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b81526004016020604051808303818680611752614098565b15801561176757600080611764613fd2565b50505b505a6117716140e4565b5050505050158015611790573d6000803e3d600061178d613fd2565b50505b505050506040513d60208110156117af576000806117ac613fd2565b50505b810190808051935050505090565b60006001610d6061403d565b6117d16131e8565b6117db8282613262565b5050565b60006117e96129a8565b6001600160a01b0316636bed0415836000600561180461403d565b906101000a90046001600160a01b03166001600160a01b03166370a08231866040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061185d614098565b1580156118725760008061186f613fd2565b50505b505a61187c6140e4565b505050505015801561189b573d6000803e3d6000611898613fd2565b50505b505050506040513d60208110156118ba576000806118b7613fd2565b50505b81019080805192506040915050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303818680611903614098565b15801561191857600080611915613fd2565b50505b505a6119226140e4565b5050505050158015611941573d6000803e3d600061193e613fd2565b50505b505050506040513d60408110156119605760008061195d613fd2565b50505b8101908080519291906020018051509295945050505050565b600080600561198661403d565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dc6614098565b60606119e96129a8565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b81526004016000604051808303818680611a1c614098565b158015611a3157600080611a2e613fd2565b50505b505a611a3b6140e4565b5050505050158015611a5a573d6000803e3d6000611a57613fd2565b50505b505050506040513d6000823e601f3d908101601f191682016040526020811015611a8c57600080611a89613fd2565b50505b8101908080516040519392919084640100000000821115611ab557600080611ab2613fd2565b50505b908301906020820185811115611ad357600080611ad0613fd2565b50505b8251866020820283011164010000000082111715611af957600080611af6613fd2565b50505b825250602001908051906020019060200280838360005b83811015611b28578082015183820152602001611b10565b50505050905001604052505050905090565b6060611b44611f8c565b905060005b81518110156117db576000828281518110611b6057fe5b60200260200101519050600060016009611b7861403d565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611c2d578082015183820152602001611c15565b50505050905090810190601f168015611c5a5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818680611c73614098565b158015611c8857600080611c85613fd2565b50505b505a611c926140e4565b5050505050158015611cb1573d6000803e3d6000611cae613fd2565b50505b505050506040513d6020811015611cd057600080611ccd613fd2565b50505b8101908080516000868152600a60205290945084935060409250905020600181611cf861403d565b816001600160a01b0302191690836001600160a01b0316021790611d1a614295565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101611b49565b60006001611d7661403d565b906101000a90046001600160a01b03166001600160a01b03165a611d986142e3565b6001600160a01b031614611de65760405162461bcd60e51b815260040180806020018281038252603581526020018061432a6035913960400191505060405180910390611de3613fd2565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080611e1261403d565b906101000a90046001600160a01b03166001600090611e2f61403d565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611e6e61403d565b906101000a90046001600160a01b03166000806101000a81611e8e61403d565b816001600160a01b0302191690836001600160a01b0316021790611eb0614295565b5050506000600160006101000a81611ec661403d565b816001600160a01b0302191690836001600160a01b0316021790611ee8614295565b505050565b6000611ef76129a8565b6001600160a01b031663835e119c836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610dc6614098565b6000611f426129a8565b6001600160a01b0316637b1001b78360006040516001600160e01b031960e085901b1681526004810192909252151560248201526044016020604051808303818680610dc6614098565b606080611f97613464565b905060606001604051908082528060200260200182016040528015611fc6578160200160208202803883390190505b5090507453796e746865746978427269646765546f4261736560581b81600081518110611fef57fe5b6020026020010181815250506120058282613564565b9250505090565b6120146131ad565b61201c6129c1565b6120246129a8565b6001600160a01b031663042e06886000600461139b61403d565b600080610d6061403d565b6000612053612c0f565b9695505050505050565b631cd554d160e21b81565b60078061207361403d565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806120ad61403d565b60018160011615610100020316600290048015610ee35780601f106120d9576101008083610ea361403d565b820191906000526020600020905b816120f061403d565b815290600101906020018083116120e75750859350505050565b612112612c61565b80600260018161212061403d565b816001600160a01b0302191690836001600160a01b0316021790612142614295565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150565b61218d6131ad565b6121956129c1565b61219d6129a8565b6001600160a01b031663497d704a600060046121b761403d565b906101000a90046001600160a01b03166040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780612203614098565b15801561221857600080612215613fd2565b50505b505a6122226141cf565b50505050505015801561111f573d6000803e3d600061223f613fd2565b5050505050505b565b60008060006110d3612c0f565b60006003610d6061403d565b612269613620565b80600560018161227761403d565b816001600160a01b0302191690836001600160a01b0316021790612299614295565b505050611431816137ab565b60006122af6129a8565b6001600160a01b031663a311c7c2836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dc6614098565b60006123026129a8565b6001600160a01b031663a5fdc5de836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610dc6614098565b60006123556129c1565b61235d612cf0565b6123826000600461236c61403d565b906101000a90046001600160a01b031683612d66565b506123a96000600461239261403d565b906101000a90046001600160a01b031684846138f3565b5060019392505050565b6123bb6131ad565b6123c36129c1565b6123cb6129a8565b6001600160a01b031663c8977132600060046121b761403d565b6123ed613900565b8060046001816110fd61403d565b6124036131ad565b61240b6129c1565b6124136129a8565b6001600160a01b0316639a5154b4836000600461242e61403d565b906101000a90046001600160a01b0316846040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061248c614098565b1580156124a15760008061249e613fd2565b50505b505a6124ab6141cf565b50505050505015801561223f573d6000803e3d60006124c8613fd2565b5050505050505050565b60006124dc612c0f565b949350505050565b60006124ee6129a8565b6001600160a01b031663d37c4d8b84846040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381868061253d614098565b1580156125525760008061254f613fd2565b50505b505a61255c6140e4565b505050505015801561257b573d6000803e3d6000612578613fd2565b50505b505050506040513d602081101561259a57600080612597613fd2565b50505b8101908080519695505050505050565b60006125b46129a8565b6001600160a01b0316637b1001b78360016040516001600160e01b031960e085901b1681526004810192909252151560248201526044016020604051808303818680610dc6614098565b60006004610d6061403d565b6126126131e8565b600061261c6139cd565b90506126288183613262565b806001600160a01b03166359974e38836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303816000878061266c614098565b1580156126815760008061267e613fd2565b50505b505a61268b6141cf565b5050505050501580156126ab573d6000803e3d60006126a8613fd2565b50505b505050506040513d60208110156126ca576000806126c7613fd2565b50505b810190808051505050505050565b60006126e26129a8565b6001600160a01b031663dbf633406040518163ffffffff1660e01b81526004016020604051808303818680611752614098565b600080600561272261403d565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061253d614098565b6000610fe3612c0f565b6127956131ad565b61279d6129c1565b6127a56129a8565b6001600160a01b03166344ec6b62836000600461242e61403d565b60006005610d6061403d565b60006002610d6061403d565b6127e06131e8565b6127e8612cf0565b600060056127f461403d565b6001600160a01b036101009290920a90041663b46310f6836128e9846000600561281c61403d565b906101000a90046001600160a01b03166001600160a01b03166370a08231886040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612875614098565b15801561288a57600080612887613fd2565b50505b505a6128946140e4565b50505050501580156128b3573d6000803e3d60006128b0613fd2565b50505b505050506040513d60208110156128d2576000806128cf613fd2565b50505b8101908080519392505063ffffffff6139ee169050565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061292a614098565b15801561293f5760008061293c613fd2565b50505b505a6129496141cf565b505050505050158015612969573d6000803e3d6000612966613fd2565b50505b5050505061297982600083613a53565b61299381600861298761403d565b9063ffffffff6139ee16565b80600861142c614295565b6000611362612c0f565b60006129bc6524b9b9bab2b960d11b613ac0565b905090565b600060026129cd61403d565b906101000a90046001600160a01b03166001600160a01b03165a6129ef6142e3565b6001600160a01b031614158015612a3b575060006003612a0d61403d565b906101000a90046001600160a01b03166001600160a01b03165a612a2f6142e3565b6001600160a01b031614155b8015612a7c57505a612a4b6142e3565b6001600160a01b031660006004612a6061403d565b906101000a90046001600160a01b03166001600160a01b031614155b15612246575a612a8a6142e3565b6004600181611ec661403d565b60006002612aa361403d565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260036040518060216143b4823960210190506040518091039020612b0488613bc1565b612b0d88613bc1565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612b7c578082015183820152602001612b64565b50505050905090810190601f168015612ba95780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780612bc8614098565b158015612bdd57600080612bda613fd2565b50505b505a612be76141cf565b505050505050158015611429573d6000803e3d6000612c04613fd2565b505050505050505050565b60405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c6179657200000000006044820152606401604051809103906117db613fd2565b600080612c6c61403d565b906101000a90046001600160a01b03166001600160a01b03165a612c8e6142e3565b6001600160a01b0316146122465760405162461bcd60e51b815260040180806020018281038252602f815260200180614385602f9139604001915050604051809103906117db613fd2565b60006129bc6822bc31b430b733b2b960b91b613ac0565b612cf8613bcd565b6001600160a01b031663086dabd16040518163ffffffff1660e01b81526004016000604051808303818680612d2b614098565b158015612d4057600080612d3d613fd2565b50505b505a612d4a6140e4565b505050505015801561111f573d6000803e3d600061223f613fd2565b600080612d71613be7565b6001600160a01b0316638b3f8088856040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680612db9614098565b158015612dce57600080612dcb613fd2565b50505b505a612dd86140e4565b5050505050158015612df7573d6000803e3d6000612df4613fd2565b50505b505050506040513d6040811015612e1657600080612e13613fd2565b50505b8101908080519291906020018051509293505082159150610fdd905057600080612e3e6129a8565b6001600160a01b0316636bed04158760006005612e5961403d565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612eb2614098565b158015612ec757600080612ec4613fd2565b50505b505a612ed16140e4565b5050505050158015612ef0573d6000803e3d6000612eed613fd2565b50505b505050506040513d6020811015612f0f57600080612f0c613fd2565b50505b81019080805192506040915050516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160408051808303818680612f58614098565b158015612f6d57600080612f6a613fd2565b50505b505a612f776140e4565b5050505050158015612f96573d6000803e3d6000612f93613fd2565b50505b505050506040513d6040811015612fb557600080612fb2613fd2565b50505b8101908080519291906020018051939550929350505050818511156130145760405162461bcd60e51b815260040180806020018281038252602681526020018061435f6026913960400191505060405180910390613011613fd2565b50505b801561306f5760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c6964000060448201526064016040518091039061306c613fd2565b50505b50600195945050505050565b600080600561308861403d565b6001600160a01b036101009290920a90041663da46098c858761311286600060056130b161403d565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e8b8d6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680612875614098565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061315f614098565b15801561317457600080613171613fd2565b50505b505a61317e6141cf565b50505050505015801561319e573d6000803e3d600061319b613fd2565b50505b50505050611675848484613c03565b6131b5613bcd565b6001600160a01b0316637c3125416040518163ffffffff1660e01b81526004016000604051808303818680612d2b614098565b6131f0613f47565b6001600160a01b03165a6132026142e3565b6001600160a01b0316146122465760405162461bcd60e51b815260206004820152601d60248201527f43616e206f6e6c7920626520696e766f6b6564206279206272696467650000006044820152606401604051809103906117db613fd2565b6000600561326e61403d565b6001600160a01b036101009290920a90041663b46310f683613363846000600561329661403d565b906101000a90046001600160a01b03166001600160a01b03166370a08231886040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806132ef614098565b15801561330457600080613301613fd2565b50505b505a61330e6140e4565b505050505015801561332d573d6000803e3d600061332a613fd2565b50505b505050506040513d602081101561334c57600080613349613fd2565b50505b8101908080519392505063ffffffff613f6a169050565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806133a4614098565b1580156133b9576000806133b6613fd2565b50505b505a6133c36141cf565b5050505050501580156133e3573d6000803e3d60006133e0613fd2565b50505b5050505061344a5a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561344057600082820152602001613429565b5050508383613a53565b61299381600861345861403d565b9063ffffffff613f6a16565b60606005604051908082528060200260200182016040528015613491578160200160208202803883390190505b5090506d53796e746865746978537461746560901b816000815181106134b357fe5b6020026020010181815250506b53797374656d53746174757360a01b816001815181106134dc57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061350257fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061352557fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b8160048151811061355557fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613594578160200160208202803883390190505b50905060005b83518110156135d6578381815181106135af57fe5b60200260200101518282815181106135c357fe5b602090810291909101015260010161359a565b5060005b8251811015613619578281815181106135ef57fe5b602002602001015182828651018151811061360657fe5b60209081029190910101526001016135da565b5092915050565b6000600261362c61403d565b906101000a90046001600160a01b03166001600160a01b03165a61364e6142e3565b6001600160a01b03161415801561369a57506000600361366c61403d565b906101000a90046001600160a01b03166001600160a01b03165a61368e6142e3565b6001600160a01b031614155b80156136db57505a6136aa6142e3565b6001600160a01b0316600060046136bf61403d565b906101000a90046001600160a01b03166001600160a01b031614155b1561371c575a6136e96142e3565b60046001816136f661403d565b816001600160a01b0302191690836001600160a01b0316021790613718614295565b5050505b60008061372761403d565b6001600160a01b036101009290920a9004166000600461374561403d565b906101000a90046001600160a01b03166001600160a01b0316146122465760405162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b6044820152606401604051809103906117db613fd2565b600060026137b761403d565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516001600160a01b0390911660208201526040908101905160208183030381529060405260016040517f546f6b656e5374617465557064617465642861646472657373290000000000008152601a01604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156138a757808201518382015260200161388f565b50505050905090810190601f1680156138d45780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806113ed614098565b600061135f848484613c03565b6000600261390c61403d565b906101000a90046001600160a01b03166001600160a01b03165a61392e6142e3565b6001600160a01b0316148061397757506000600361394a61403d565b906101000a90046001600160a01b03166001600160a01b03165a61396c6142e3565b6001600160a01b0316145b6122465760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c0000000000000000006044820152606401604051809103906117db613fd2565b60006129bc722932bbb0b93239a234b9ba3934b13aba34b7b760691b613ac0565b600082821115613a4d5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613a4a613fd2565b50505b50900390565b60006002613a5f61403d565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260036040518060216143d5823960210190506040518091039020612b0488613bc1565b6000818152600a6020528060408120600090613ada61403d565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906136195760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613b77578082015183820152602001613b5f565b50505050905090810190601f168015613ba45780820380516001836020036101000a031916815260200191505b509250505060405180910390613bb8613fd2565b50505092915050565b6001600160a01b031690565b60006129bc6b53797374656d53746174757360a01b613ac0565b60006129bc6d53796e746865746978537461746560901b613ac0565b60006001600160a01b03831615801590613c8757505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b6040811015613c6e57600082820152602001613c57565b5050506001600160a01b0316836001600160a01b031614155b8015613cc0575060006002613c9a61403d565b906101000a90046001600160a01b03166001600160a01b0316836001600160a01b031614155b613d195760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015260640160405180910390613d16613fd2565b50505b60006005613d2561403d565b6001600160a01b036101009290920a90041663b46310f685613da68560006005613d4d61403d565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612875614098565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613de7614098565b158015613dfc57600080613df9613fd2565b50505b505a613e066141cf565b505050505050158015613e26573d6000803e3d6000613e23613fd2565b50505b505050506005600090613e3761403d565b6001600160a01b036101009290920a90041663b46310f684613eb88560006005613e5f61403d565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806132ef614098565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613ef9614098565b158015613f0e57600080613f0b613fd2565b50505b505a613f186141cf565b505050505050158015613f38573d6000803e3d6000613f35613fd2565b50505b505050506123a9848484613a53565b60006129bc7453796e746865746978427269646765546f4261736560581b613ac0565b6000828201838110156113625760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390613fc9613fd2565b50509392505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561400a578086015182820160400152602001613fef565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015611ee857600082820152602001614081565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614081565b638540661f598160e01b8152614115565b8080831115610fe3575090919050565b8080831015610fe3575090919050565b836004820152846024820152606060448201528660648201526084810160005b8881101561414d578088015182820152602001614135565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596141a28d3d614105565b8c016141ae81876140f5565b5b828110156141c357600081526020016141af565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b898110156142135780890151828201526020016141fb565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596142688e3d614105565b8d0161427481876140f5565b5b828110156142895760008152602001614275565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614081565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061408156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f74207472616e73666572207374616b6564206f7220657363726f77656420534e584f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e74323536295472616e7366657228616464726573732c616464726573732c75696e7432353629",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e99bda9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x295da87d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc2bf3880"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9741fb22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2c955fa7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc836fa0a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaf086c7e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x320223db"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8a290014"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe8e09b8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1249c58b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8a1f76f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9324cac7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x987757dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "pynthAddress",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x83d625d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd60888e4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePeriFinance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6ac0bf9c"
				}
			],
			"source": {
				"keccak256": "0x208b424ba009c008bf88f72a2093532eedd7d7b762b8fd6992b0df03140efad8",
				"urls": [
					"bzz-raw://d696d1bd0a9702a0b4ed649551839cbd8da42d7e9c3081664530ffe1dbde0688",
					"dweb:/ipfs/Qme6rwXCHjma6hrUasy4LVn7AQDLGu9faLCJ1susCoNMkm"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MintablePeriFinance.sol": "MintablePeriFinance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MintablePeriFinance.sol": {
						"keccak256": "0x208b424ba009c008bf88f72a2093532eedd7d7b762b8fd6992b0df03140efad8",
						"urls": [
							"bzz-raw://d696d1bd0a9702a0b4ed649551839cbd8da42d7e9c3081664530ffe1dbde0688",
							"dweb:/ipfs/Qme6rwXCHjma6hrUasy4LVn7AQDLGu9faLCJ1susCoNMkm"
						]
					}
				},
				"version": 1
			}
		},
		"RealtimeDebtCache": {
			"bytecode": "608060405260016007818162000014620001b8565b8160ff021916908315150217906200002b6200021a565b50505034801562000046576000806200004362000269565b50505b50604051620024a7380380620024a78339818101604052604081101562000077576000806200007462000269565b50505b810190808051929190602001805192508391508290508080836001600160a01b038116620000f65760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000f362000269565b50505b80600060018162000106620001b8565b816001600160a01b0302191690836001600160a01b03160217906200012a6200021a565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000185620001b8565b816001600160a01b0302191690836001600160a01b0316021790620001a96200021a565b505050505050505050620002d6565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200021557600082820152602001620001fc565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620001fc565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620002a357808601518282016040015260200162000286565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6121c180620002e66000396000f3fe608060405234801561001957600080610016611e64565b50505b50600436106101615760003560e01c806379ba5097116100cc578063b13cd78511610085578063b13cd7851461053c578063cda218c7146105ce578063d0fffafd14610660578063d685743a14610668578063e3476cd414610694578063fc5247731461069c57610161565b806379ba50971461049b578063899ffef4146104a35780638da5cb5b146104fe5780638dd5bfbc14610506578063a5f27edb1461052c578063af5355d81461053457610161565b80632af64bd31161011e5780632af64bd3146103295780633a900a2e1461034557806353a47bb71461037b5780636bf7c435146103835780637418536014610471578063759076e51461047957610161565b806304bd11e51461016f57806304f3bcec1461019957806305393262146101bd5780630fb38465146101d75780631627540c146101fd57806317b38db41461022c575b60008061016c611e64565b50505b6101976004803603602081101561018e5760008061018b611e64565b50505b503515156106a4565b005b6101a16106a7565b6040516001600160a01b03909116815260200160405180910390f35b6101c56106c6565b60405190815260200160405180910390f35b6101c5600480360360208110156101f6576000806101f3611e64565b50505b50356106d9565b6101976004803603602081101561021c57600080610219611e64565b50505b50356001600160a01b0316610750565b6101976004803603604081101561024b57600080610248611e64565b50505b810190602081018135600160201b81111561026e5760008061026b611e64565b50505b82018360208201111561028957600080610286611e64565b50505b803590602001918460208302840111600160201b831117156102b3576000806102b0611e64565b50505b919390929091602081019035600160201b8111156102d9576000806102d6611e64565b50505b8201836020820111156102f4576000806102f1611e64565b50505b803590602001918460208302840111600160201b8311171561031e5760008061031b611e64565b50505b5090925090506107ca565b6103316107d0565b604051901515815260200160405180910390f35b61034d61095f565b6040519384526020840192909252151560408084019190915290151560608301526080909101905180910390f35b6101a161098f565b610415600480360360208110156103a25760008061039f611e64565b50505b810190602081018135600160201b8111156103c5576000806103c2611e64565b50505b8201836020820111156103e0576000806103dd611e64565b50505b803590602001918460208302840111600160201b8311171561040a57600080610407611e64565b50505b50909250905061099b565b604051811515602082015260408082528190810184818151815260200191508051906020019060200280838360005b8381101561045c578082015183820152602001610444565b50505050905001935050505060405180910390f35b6101976109e6565b610481610c19565b604051918252151560208201526040908101905180910390f35b610197610c2c565b6104ab610daf565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104ea5780820151838201526020016104d2565b505050509050019250505060405180910390f35b6101a1610f23565b6101976004803603602081101561052557600080610522611e64565b50505b50356106a4565b610331610f2e565b6101c5610f39565b6104ab6004803603602081101561055b57600080610558611e64565b50505b810190602081018135600160201b81111561057e5760008061057b611e64565b50505b82018360208201111561059957600080610596611e64565b50505b803590602001918460208302840111600160201b831117156105c3576000806105c0611e64565b50505b509092509050610f3f565b610197600480360360208110156105ed576000806105ea611e64565b50505b810190602081018135600160201b8111156106105760008061060d611e64565b50505b82018360208201111561062b57600080610628611e64565b50505b803590602001918460208302840111600160201b8311171561065557600080610652611e64565b50505b509092509050610c15565b6101c5610f89565b6101976004803603604081101561068757600080610684611e64565b50505b5080359060200135610c15565b610197610f99565b610331610f9b565b50565b600060026106b3611ecf565b906101000a90046001600160a01b031681565b6000806106d1610fa0565b509150505b90565b600060606001604051908082528060200260200182016040528015610708578160200160208202803883390190505b509050828160008151811061071957fe5b602002602001018181525050606061073082611224565b5090508060008151811061074057fe5b6020026020010151949350505050565b6107586113e9565b8060018080610765611ecf565b816001600160a01b0302191690836001600160a01b0316021790610787611f2a565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b50505050565b600060606107dc610daf565b905060005b81518110156109565760008282815181106107f857fe5b6020026020010151600081815260036020529091506040902060009061081c611ecf565b6001600160a01b036101009290920a9004166000600261083a611ecf565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061088b611f78565b1580156108a05760008061089d611e64565b50505b505a6108aa611fc4565b50505050501580156108c9573d6000803e3d60006108c6611e64565b50505b505050506040513d60208110156108e8576000806108e5611e64565b50505b8101908080516001600160a01b03169390931415925082915061093c905057506000818152600360205260408120600090610921611ecf565b906101000a90046001600160a01b03166001600160a01b0316145b1561094d57600093505050506106d6565b506001016107e1565b50600191505090565b600080600080600080610970610fa0565b91509150815a61097e6120af565b909790965090945060009350915050565b600060016106b3611ecf565b606060006109db84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061122492505050565b915091509250929050565b60606109f0610daf565b905060005b8151811015610c15576000828281518110610a0c57fe5b602002602001015190506000806002610a23611ecf565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ad8578082015183820152602001610ac0565b50505050905090810190601f168015610b055780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818680610b1e611f78565b158015610b3357600080610b30611e64565b50505b505a610b3d611fc4565b5050505050158015610b5c573d6000803e3d6000610b59611e64565b50505b505050506040513d6020811015610b7b57600080610b78611e64565b50505b8101908080516000868152600360205290945084935060409250905020600181610ba3611ecf565b816001600160a01b0302191690836001600160a01b0316021790610bc5611f2a565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a150506001016109f5565b5050565b600080610c24610fa0565b915091509091565b60006001610c38611ecf565b906101000a90046001600160a01b03166001600160a01b03165a610c5a6120f5565b6001600160a01b031614610ca85760405162461bcd60e51b815260040180806020018281038252603581526020018061213c6035913960400191505060405180910390610ca5611e64565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610cd4611ecf565b906101000a90046001600160a01b03166001600090610cf1611ecf565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610d30611ecf565b906101000a90046001600160a01b03166000806101000a81610d50611ecf565b816001600160a01b0302191690836001600160a01b0316021790610d72611f2a565b5050506000600160006101000a81610d88611ecf565b816001600160a01b0302191690836001600160a01b0316021790610daa611f2a565b505050565b606080610dba611461565b905060606007604051908082528060200260200182016040528015610de9578160200160208202803883390190505b5090506524b9b9bab2b960d11b81600081518110610e0357fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610e2957fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610e5357fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610e7c57fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600481518110610ea857fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b81600581518110610ed857fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600681518110610f0657fe5b602002602001018181525050610f1c82826114c0565b9250505090565b6000806106b3611ecf565b600080610f1c610fa0565b60001990565b606080610f7e84848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061122492505050565b509150505b92915050565b60005a610f946120af565b905090565b565b600090565b60008060606000611101610fb261157c565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b81526004016000604051808303818680610fe5611f78565b158015610ffa57600080610ff7611e64565b50505b505a611004611fc4565b5050505050158015611023573d6000803e3d6000611020611e64565b50505b505050506040513d6000823e601f3d908101601f19168201604052602081101561105557600080611052611e64565b50505b8101908080516040519392919084600160201b82111561107d5760008061107a611e64565b50505b90830190602082018581111561109b57600080611098611e64565b50505b82518660208202830111600160201b821117156110c0576000806110bd611e64565b50505b825250602001908051906020019060200280838360005b838110156110ef5780820151838201526020016110d7565b50505050905001604052505050611224565b915091506000825190506000805b828110156111455761113b85828151811061112657fe5b6020026020010151839063ffffffff61159016565b915060010161110f565b506000806111516115f9565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b815260040160408051808303818680611183611f78565b15801561119857600080611195611e64565b50505b505a6111a2611fc4565b50505050501580156111c1573d6000803e3d60006111be611e64565b50505b505050506040513d60408110156111e0576000806111dd611e64565b50505b810190808051929190602001805193955092935061120a925085915084905063ffffffff61161816565b925084806112155750805b92975091955050505050509091565b606060006060600061123461167d565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561129257808201518382015260200161127a565b505050509050019250505060006040518083038186806112b0611f78565b1580156112c5576000806112c2611e64565b50505b505a6112cf611fc4565b50505050501580156112ee573d6000803e3d60006112eb611e64565b50505b505050506040513d6000823e601f3d908101601f1916820160409081528110156113205760008061131d611e64565b50505b8101908080516040519392919084600160201b82111561134857600080611345611e64565b50505b90830190602082018581111561136657600080611363611e64565b50505b82518660208202830111600160201b8211171561138b57600080611388611e64565b50505b825250602001908051906020019060200280838360005b838110156113ba5780820151838201526020016113a2565b5050505090500160405260200180519395509293506113df9250879150849050611698565b9350915050915091565b6000806113f4611ecf565b906101000a90046001600160a01b03166001600160a01b03165a6114166120f5565b6001600160a01b031614610f995760405162461bcd60e51b815260040180806020018281038252602f815260200180612171602f913960400191505060405180910390610c15611e64565b6060600160405190808252806020026020018201604052801561148e578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b816000815181106114b157fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156114f0578160200160208202803883390190505b50905060005b83518110156115325783818151811061150b57fe5b602002602001015182828151811061151f57fe5b60209081029190910101526001016114f6565b5060005b82518110156115755782818151811061154b57fe5b602002602001015182828651018151811061156257fe5b6020908102919091010152600101611536565b5092915050565b6000610f946524b9b9bab2b960d11b611c80565b6000828201838110156115f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401604051809103906115ef611e64565b50505b9392505050565b6000610f947021b7b63630ba32b930b626b0b730b3b2b960791b611c80565b6000828211156116775760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390611674611e64565b50505b50900390565b6000610f946c45786368616e6765526174657360981b611c80565b60606000835190506060816040519080825280602002602001820160405280156116cc578160200160208202803883390190505b50905060606116d961157c565b6001600160a01b0316633b6afe40876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561173757808201518382015260200161171f565b50505050905001925050506000604051808303818680611755611f78565b15801561176a57600080611767611e64565b50505b505a611774611fc4565b5050505050158015611793573d6000803e3d6000611790611e64565b50505b505050506040513d6000823e601f3d908101601f1916820160405260208110156117c5576000806117c2611e64565b50505b8101908080516040519392919084600160201b8211156117ed576000806117ea611e64565b50505b90830190602082018581111561180b57600080611808611e64565b50505b82518660208202830111600160201b821117156118305760008061182d611e64565b50505b825250602001908051906020019060200280838360005b8381101561185f578082015183820152602001611847565b50505050905001604052505050905060008090505b83811015611c7557600087828151811061188a57fe5b6020026020010151905060008383815181106118a257fe5b602002602001015190506001600160a01b0381166119065760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015260640160405180910390611903611e64565b50505b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381868061193c611f78565b1580156119515760008061194e611e64565b50505b505a61195b611fc4565b505050505015801561197a573d6000803e3d6000611977611e64565b50505b505050506040513d602081101561199957600080611996611e64565b50505b81019080805193506119ae92506115f9915050565b6001600160a01b0316638471db13846040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806119ef611f78565b158015611a0457600080611a01611e64565b50505b505a611a0e611fc4565b5050505050158015611a2d573d6000803e3d6000611a2a611e64565b50505b505050506040513d6020811015611a4c57600080611a49611e64565b50505b810190808051159250611b35915050576000611a666115f9565b6001600160a01b031663d2f00475856040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680611aa7611f78565b158015611abc57600080611ab9611e64565b50505b505a611ac6611fc4565b5050505050158015611ae5573d6000803e3d6000611ae2611e64565b50505b505050506040513d6020811015611b0457600080611b01611e64565b50505b810190808051935050505081811115611b205760009150611b33565b611b30828263ffffffff61161816565b91505b505b631cd554d160e21b83148080611b515750630e68aa8960e31b84145b15611c2a57600081611b6a57611b65611d81565b611b72565b611b72611d9e565b90506000816001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b81526004016020604051808303818680611baa611f78565b158015611bbf57600080611bbc611e64565b50505b505a611bc9611fc4565b5050505050158015611be8573d6000803e3d6000611be5611e64565b50505b505050506040513d6020811015611c0757600080611c04611e64565b50505b8101908080519350611c25925086915083905063ffffffff61161816565b935050505b611c4e8a8681518110611c3957fe5b6020026020010151839063ffffffff611dbf16565b878681518110611c5a57fe5b60209081029190910101525050600190920191506118749050565b509095945050505050565b600081815260036020528060408120600090611c9a611ecf565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906115755760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d37578082015183820152602001611d1f565b50505050905090810190601f168015611d645780820380516001836020036101000a031916815260200191505b509250505060405180910390611d78611e64565b50505092915050565b6000610f946e115d1a195c90dbdb1b185d195c985b608a1b611c80565b6000610f9472115d1a195c90dbdb1b185d195c985b1cd554d1606a1b611c80565b60006115f28383670de0b6b3a7640000848067016345785d8a0000611de48686611e09565b81611deb57fe5b0490506005600a820610611dfd57600a015b600a9004949350505050565b600082611e1857506000610f83565b82820282848281611e2557fe5b04146115f25760405162461bcd60e51b81526004018080602001828103825260218152602001806121a060219139604001915050604051809103906115ef5b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015611e9c578086015182820160400152602001611e81565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610daa57600082820152602001611f13565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611f13565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611f13565b638540661f598160e01b8152611ff5565b8080831115610f83575090919050565b8080831015610f83575090919050565b836004820152846024820152606060448201528660648201526084810160005b8881101561202d578088015182820152602001612015565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596120828d3d611fe5565b8c0161208e8187611fd5565b5b828110156120a3576000815260200161208f565b50929c50505050505050565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611f13565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611f1356fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSnapshotTaken",
					"type": "event",
					"signature": "0xc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event",
					"signature": "0x294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event",
					"signature": "0x8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "isStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a900a2e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5f27edb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc524773"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0fffafd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05393262"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "cachedPynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0fb38465"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb13cd785"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759076e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6bf7c435"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeCachedPynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8dd5bfbc"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "takeDebtSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe3476cd4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "currencyRate",
							"type": "uint256"
						}
					],
					"name": "updateCachedPynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd685743a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedPynthDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcda218c7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "currencyRates",
							"type": "uint256[]"
						}
					],
					"name": "updateCachedPynthDebtsWithRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x17b38db4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "currentlyInvalid",
							"type": "bool"
						}
					],
					"name": "updateDebtCacheValidity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04bd11e5"
				}
			],
			"source": {
				"keccak256": "0x454e9ea380368ea2274863d885f08745fd34e6ea2cfbb8217e1d891583172e23",
				"urls": [
					"bzz-raw://72259dd2d1cd26c029025bd8af29de3529984783f1034fc7e62ee416eaa1271e",
					"dweb:/ipfs/QmbNY1hA5NYKokJTaGHAYQdYC5BFBzJfUsJgVu3yidWJnU"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RealtimeDebtCache.sol": "RealtimeDebtCache"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RealtimeDebtCache.sol": {
						"keccak256": "0x454e9ea380368ea2274863d885f08745fd34e6ea2cfbb8217e1d891583172e23",
						"urls": [
							"bzz-raw://72259dd2d1cd26c029025bd8af29de3529984783f1034fc7e62ee416eaa1271e",
							"dweb:/ipfs/QmbNY1hA5NYKokJTaGHAYQdYC5BFBzJfUsJgVu3yidWJnU"
						]
					}
				},
				"version": 1
			}
		},
		"Exchanger": {
			"bytecode": "60806040523480156200001c57600080620000196200018a565b50505b506040516200579738038062005797833981810160405260408110156200004d576000806200004a6200018a565b50505b81019080805192919060200180519250829150819050836001600160a01b038116620000ca5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c76200018a565b50505b806000600181620000da620001f7565b816001600160a01b0302191690836001600160a01b0316021790620000fe62000259565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15080600260018162000159620001f7565b816001600160a01b0302191690836001600160a01b03160217906200017d62000259565b50505050505050620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c4578086015182820160400152602001620001a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000254576000828201526020016200023b565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023b565b6154df80620002b86000396000f3fe608060405234801561001957600080610016614fd6565b50505b50600436106101cd5760003560e01c80636a1c4758116101025780638da5cb5b116100a0578063d6f32e061161007a578063d6f32e06146105b6578063dfffca76146105eb578063f399522414610644578063f450aa34146106b4576101cd565b80638da5cb5b1461057a578063c193f0d814610582578063ce0969401461058a576101cd565b80637dd1a57a116100dc5780637dd1a57a1461049857806386baa45c146104be5780638925711714610517578063899ffef41461051f576101cd565b80636a1c47581461043d578063741853601461048857806379ba509714610490576101cd565b80631b16802c1161016f5780633fa70f45116101495780633fa70f45146103c65780634c268fc8146103ce57806353a47bb71461040f57806357af302c14610417576101cd565b80631b16802c1461036d5780632af64bd3146103a2578063372a395a146103be576101cd565b80630b9e31c9116101ab5780630b9e31c9146102915780631627540c146102b957806319d5c665146102e85780631a5c609514610341576101cd565b806304f3bcec146101db578063059c29ec146101ff5780630a1e187d14610246575b6000806101d8614fd6565b50505b6101e36106e6565b6040516001600160a01b03909116815260200160405180910390f35b6102346004803603604081101561021e5760008061021b614fd6565b50505b506001600160a01b038135169060200135610705565b60405190815260200160405180910390f35b610234600480360360a081101561026557600080610262614fd6565b50505b506001600160a01b038135811691602081013591604082013591606081013591608090910135166107d7565b6102b7600480360360208110156102b0576000806102ad614fd6565b50505b5035610938565b005b6102b7600480360360208110156102d8576000806102d5614fd6565b50505b50356001600160a01b0316610c6a565b61031d6004803603604081101561030757600080610304614fd6565b50505b506001600160a01b038135169060200135610ce4565b60405180848152602001838152602001828152602001935050505060405180910390f35b610234600480360360408110156103605760008061035d614fd6565b50505b5080359060200135610d02565b61031d6004803603604081101561038c57600080610389614fd6565b50505b506001600160a01b038135169060200135610d0e565b6103aa610db7565b604051901515815260200160405180910390f35b610234610f47565b610234610f56565b610234600480360360808110156103ed576000806103ea614fd6565b50505b506001600160a01b038135169060208101359060408101359060600135610f5b565b6101e36110ef565b6103aa6004803603602081101561043657600080610433614fd6565b50505b50356110fb565b610234600480360360a081101561045c57600080610459614fd6565b50505b506001600160a01b03813581169160208101359091169060408101359060608101359060800135611152565b6102b76113c2565b6102b76115f5565b610234600480360360208110156104b7576000806104b4614fd6565b50505b5035611778565b610234600480360360e08110156104dd576000806104da614fd6565b50505b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c00135611793565b610234611901565b61052761190b565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561056657808201518382015260200161054e565b505050509050019250505060405180910390f35b6101e3611ac2565b6103aa611acd565b6102b7600480360360408110156105a9576000806105a6614fd6565b50505b5080359060200135611ad7565b6103aa600480360360408110156105d5576000806105d2614fd6565b50505b506001600160a01b038135169060200135611bcf565b610234600480360360e081101561060a57600080610607614fd6565b50505b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135611c01565b610693600480360360c081101561066357600080610660614fd6565b50505b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611e7c565b6040519182526001600160a01b031660208201526040908101905180910390f35b61031d600480360360608110156106d3576000806106d0614fd6565b50505b5080359060208101359060400135611ff4565b600060026106f2615041565b906101000a90046001600160a01b031681565b60006107ce610712612014565b6001600160a01b031663f1406dc885856040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401602060405180830381868061076161509c565b15801561077657600080610773614fd6565b50505b505a6107806150e8565b505050505015801561079f573d6000803e3d600061079c614fd6565b50505b505050506040513d60208110156107be576000806107bb614fd6565b50505b810190808051925061202f915050565b90505b92915050565b6000806107e261209e565b9050806001600160a01b03165a6107f76151d3565b6001600160a01b031614806108c8575060006001600160a01b0382166316b2213f5a6108216151d3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061085b61509c565b1580156108705760008061086d614fd6565b50505b505a61087a6150e8565b5050505050158015610899573d6000803e3d6000610896614fd6565b50505b505050506040513d60208110156108b8576000806108b5614fd6565b50505b8101908080519390931415925050505b61090c5760405162461bcd60e51b81526004018080602001828103825260458152602001806154056045913960600191505060405180910390610909614fd6565b50505b600061091d888888888860006120b5565b50909350905061092d81856125b8565b505095945050505050565b610940612684565b6001600160a01b031663086dabd16040518163ffffffff1660e01b8152600401600060405180830381868061097361509c565b15801561098857600080610985614fd6565b50505b505a6109926150e8565b50505050501580156109b1573d6000803e3d60006109ae614fd6565b50505b5050505060006001600160a01b03166109c861269e565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610a0961509c565b158015610a1e57600080610a1b614fd6565b50505b505a610a286150e8565b5050505050158015610a47573d6000803e3d6000610a44614fd6565b50505b505050506040513d6020811015610a6657600080610a63614fd6565b50505b8101908080516001600160a01b031693909314159250610ac89150505760405162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015260640160405180910390610ac5614fd6565b50505b610b8281610ad46126b2565b6001600160a01b031663ac82f608846040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610b1561509c565b158015610b2a57600080610b27614fd6565b50505b505a610b346150e8565b5050505050158015610b53573d6000803e3d6000610b50614fd6565b50505b505050506040513d6020811015610b7257600080610b6f614fd6565b50505b81019080805192506126cd915050565b610bd25760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015260640160405180910390610bcf614fd6565b50505b610bda612684565b6001600160a01b031663abc0bb6e8260416040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780610c2461509c565b158015610c3957600080610c36614fd6565b50505b505a610c43615219565b505050505050158015610c63573d6000803e3d6000610c60614fd6565b50505b5050505050565b610c7261298f565b8060018080610c7f615041565b816001600160a01b0302191690836001600160a01b0316021790610ca16152df565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000806000610cf38585612a09565b50919790965090945092505050565b60006107ce8383612d32565b6000806000610d1b612684565b6001600160a01b03166342a28e21856040516001600160e01b031960e084901b16815260048101919091526024016000604051808303818680610d5c61509c565b158015610d7157600080610d6e614fd6565b50505b505a610d7b6150e8565b5050505050158015610d9a573d6000803e3d6000610d97614fd6565b50505b50505050610daa85856001612df0565b9250925092509250925092565b60006060610dc361190b565b905060005b8151811015610f3d576000828281518110610ddf57fe5b60200260200101516000818152600360205290915060409020600090610e03615041565b6001600160a01b036101009290920a90041660006002610e21615041565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610e7261509c565b158015610e8757600080610e84614fd6565b50505b505a610e916150e8565b5050505050158015610eb0573d6000803e3d6000610ead614fd6565b50505b505050506040513d6020811015610ecf57600080610ecc614fd6565b50505b8101908080516001600160a01b031693909314159250829150610f23905057506000818152600360205260408120600090610f08615041565b906101000a90046001600160a01b03166001600160a01b0316145b15610f345760009350505050610f44565b50600101610dc8565b5060019150505b90565b6000610f516131b6565b905090565b604181565b816000610f6661269e565b6001600160a01b03166332608039866040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610fa761509c565b158015610fbc57600080610fb9614fd6565b50505b505a610fc66150e8565b5050505050158015610fe5573d6000803e3d6000610fe2614fd6565b50505b505050506040513d602081101561100457600080611001614fd6565b50505b8101908080516001600160a01b031692506370a0823191508890506040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061105961509c565b15801561106e5760008061106b614fd6565b50505b505a6110786150e8565b5050505050158015611097573d6000803e3d6000611094614fd6565b50505b505050506040513d60208110156110b6576000806110b3614fd6565b50505b8101908080519350505050808211156110cd578091505b82156110e6576110e3828463ffffffff6132a316565b91505b50949350505050565b600060016106f2615041565b600061114a826111096126b2565b6001600160a01b031663ac82f608856040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610b1561509c565b90505b919050565b60008061115d61209e565b9050806001600160a01b03165a6111726151d3565b6001600160a01b03161480611243575060006001600160a01b0382166316b2213f5a61119c6151d3565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806111d661509c565b1580156111eb576000806111e8614fd6565b50505b505a6111f56150e8565b5050505050158015611214573d6000803e3d6000611211614fd6565b50505b505050506040513d602081101561123357600080611230614fd6565b50505b8101908080519390931415925050505b6112875760405162461bcd60e51b81526004018080602001828103825260458152602001806154056045913960600191505060405180910390611284614fd6565b50505b61128f61330b565b6001600160a01b031663faf431bb88886040516001600160e01b031960e085901b1681526001600160a01b0392831660048201529116602482015260440160206040518083038186806112e061509c565b1580156112f5576000806112f2614fd6565b50505b505a6112ff6150e8565b505050505015801561131e573d6000803e3d600061131b614fd6565b50505b505050506040513d602081101561133d5760008061133a614fd6565b50505b81019080805192506113a19150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c6600000060448201526064016040518091039061139e614fd6565b50505b60006113b2888787878c60006120b5565b50909350905061092d81896125b8565b60606113cc61190b565b905060005b81518110156115f15760008282815181106113e857fe5b6020026020010151905060008060026113ff615041565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156114b457808201518382015260200161149c565b50505050905090810190601f1680156114e15780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186806114fa61509c565b15801561150f5760008061150c614fd6565b50505b505a6115196150e8565b5050505050158015611538573d6000803e3d6000611535614fd6565b50505b505050506040513d602081101561155757600080611554614fd6565b50505b810190808051600086815260036020529094508493506040925090502060018161157f615041565b816001600160a01b0302191690836001600160a01b03160217906115a16152df565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a150506001016113d1565b5050565b60006001611601615041565b906101000a90046001600160a01b03166001600160a01b03165a6116236151d3565b6001600160a01b0316146116715760405162461bcd60e51b81526004018080602001828103825260358152602001806153d0603591396040019150506040518091039061166e614fd6565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061169d615041565b906101000a90046001600160a01b031660016000906116ba615041565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016116f9615041565b906101000a90046001600160a01b03166000806101000a81611719615041565b816001600160a01b0302191690836001600160a01b031602179061173b6152df565b5050506000600160006101000a81611751615041565b816001600160a01b0302191690836001600160a01b03160217906117736152df565b505050565b60046020528060005260406000209050611790615041565b81565b60008061179e61209e565b9050806001600160a01b03165a6117b36151d3565b6001600160a01b03161480611884575060006001600160a01b0382166316b2213f5a6117dd6151d3565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061181761509c565b15801561182c57600080611829614fd6565b50505b505a6118366150e8565b5050505050158015611855573d6000803e3d6000611852614fd6565b50505b505050506040513d602081101561187457600080611871614fd6565b50505b8101908080519390931415925050505b6118c85760405162461bcd60e51b815260040180806020018281038252604581526020018061540560459139606001915050604051809103906118c5614fd6565b50505b60006118d98a8a8a8a8a60006120b5565b5090935090506118e981866125b8565b6118f484888561332a565b5050979650505050505050565b6000610f516133cb565b606080611916613441565b905060606009604051908082528060200260200182016040528015611945578160200160208202803883390190505b5090506b53797374656d53746174757360a01b8160008151811061196557fe5b6020026020010181815250506c45786368616e6765537461746560981b8160018151811061198f57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106119b957fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816003815181106119df57fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110611a0357fe5b6020026020010181815250506d54726164696e675265776172647360901b81600581518110611a2e57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110611a5c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600781518110611a7f57fe5b6020026020010181815250506844656274436163686560b81b81600881518110611aa557fe5b602002602001018181525050611abb82826134a0565b9250505090565b6000806106f2615041565b6000610f5161355c565b6000611ae16126b2565b9050806001600160a01b03165a611af66151d3565b6001600160a01b031614611b595760405162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015260640160405180910390611b56614fd6565b50505b60008211611bad5760405162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015260640160405180910390611baa614fd6565b50505b600083815260046020528290604090208190611bc76152df565b505050505050565b6000611bdb8383610705565b15611be8575060016107d1565b6000611bf48484612a09565b5050501515949350505050565b600080611c0c61209e565b9050806001600160a01b03165a611c216151d3565b6001600160a01b03161480611cf2575060006001600160a01b0382166316b2213f5a611c4b6151d3565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611c8561509c565b158015611c9a57600080611c97614fd6565b50505b505a611ca46150e8565b5050505050158015611cc3573d6000803e3d6000611cc0614fd6565b50505b505050506040513d6020811015611ce257600080611cdf614fd6565b50505b8101908080519390931415925050505b611d365760405162461bcd60e51b81526004018080602001828103825260458152602001806154056045913960600191505060405180910390611d33614fd6565b50505b611d3e61330b565b6001600160a01b031663faf431bb8a8a6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680611d8f61509c565b158015611da457600080611da1614fd6565b50505b505a611dae6150e8565b5050505050158015611dcd573d6000803e3d6000611dca614fd6565b50505b505050506040513d6020811015611dec57600080611de9614fd6565b50505b8101908080519250611e509150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015260640160405180910390611e4d614fd6565b50505b6000611e618a8989898e60006120b5565b509093509050611e7181866125b8565b6118f484878561332a565b6000806000611e8961209e565b9050806001600160a01b03165a611e9e6151d3565b6001600160a01b03161480611f6f575060006001600160a01b0382166316b2213f5a611ec86151d3565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611f0261509c565b158015611f1757600080611f14614fd6565b50505b505a611f216150e8565b5050505050158015611f40573d6000803e3d6000611f3d614fd6565b50505b505050506040513d6020811015611f5f57600080611f5c614fd6565b50505b8101908080519390931415925050505b611fb35760405162461bcd60e51b81526004018080602001828103825260458152602001806154056045913960600191505060405180910390611fb0614fd6565b50505b6000611fc48a8a8a8a8a60016120b5565b9195509093509050611fd681876125b8565b8415611fe757611fe785888661332a565b5050965096945050505050565b60008060006120048686866135d6565b5092999198509650945050505050565b6000610f516c45786368616e6765537461746560981b6136ef565b60008061203a6133cb565b90508215806120605750612054838263ffffffff6132a316565b5a61205d61532d565b10155b1561206f57600091505061114d565b6120975a61207b61532d565b61208b858463ffffffff6132a316565b9063ffffffff6137f016565b9392505050565b6000610f51680a6f2dce8d0cae8d2f60bb1b6136ef565b60008060006120c5888888613855565b60006120d2888b8b613a8b565b9050806120e95750600092508291508190506125ac565b60008060006120f9848d8c6135d6565b939a5091985094509250905061210f8c83613ac1565b8061211f575061211f8a82613ac1565b156121385750600095508594508493506125ac92505050565b6121478c8e868d8b8e8e613b8a565b94506001600160a01b0385161561215c578498505b85156124aa5761216a6126b2565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160206040518083038186806121c161509c565b1580156121d6576000806121d3614fd6565b50505b505a6121e06150e8565b50505050501580156121ff573d6000803e3d60006121fc614fd6565b50505b505050506040513d602081101561221e5760008061221b614fd6565b50505b8101908080519850612233925061269e915050565b6001600160a01b03166332608039631cd554d160e21b6040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061227b61509c565b1580156122905760008061228d614fd6565b50505b505a61229a6150e8565b50505050501580156122b9573d6000803e3d60006122b6614fd6565b50505b505050506040513d60208110156122d8576000806122d5614fd6565b50505b8101908080516001600160a01b0316925063867904b491506122fa9050613f75565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b8152600401602060405180830381868061232d61509c565b1580156123425760008061233f614fd6565b50505b505a61234c6150e8565b505050505015801561236b573d6000803e3d6000612368614fd6565b50505b505050506040513d602081101561238a57600080612387614fd6565b50505b81019080805192508a915060409050516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087806123d861509c565b1580156123ed576000806123ea614fd6565b50505b505a6123f7615219565b505050505050158015612417573d6000803e3d6000612414614fd6565b50505b50505050612423613f75565b6001600160a01b03166322bf55ef876040516001600160e01b031960e084901b16815260048101919091526024016000604051808303816000878061246661509c565b15801561247b57600080612478614fd6565b50505b505a612485615219565b5050505050501580156124a5573d6000803e3d60006124a2614fd6565b50505b505050505b6124d9604051604080820181528e8252602082018d905251806040016040528085815260200184815250613f8a565b6124e161209e565b6001600160a01b0316636c00f3108e8e878e8c8f6040516001600160e01b031960e089901b1681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152608483015290911660a482015260c4016000604051808303816000878061255661509c565b15801561256b57600080612568614fd6565b50505b505a612575615219565b505050505050158015612595573d6000803e3d6000612592614fd6565b50505b505050506125a7898d868d8b88614297565b505050505b96509650969350505050565b6000821180156125d057506001600160a01b03811615155b80156125df57506125df61355c565b156115f1576125ec614554565b6001600160a01b03166321cad77483836040516001600160e01b031960e085901b16815260048101929092526001600160a01b031660248201526044016000604051808303816000878061263e61509c565b15801561265357600080612650614fd6565b50505b505a61265d615219565b505050505050158015611bc7573d6000803e3d600061267a614fd6565b5050505050505050565b6000610f516b53797374656d53746174757360a01b6136ef565b6000610f516524b9b9bab2b960d11b6136ef565b6000610f516c45786368616e6765526174657360981b6136ef565b6000816126dc575060016107d1565b60008381526004602052604081206126f2615041565b9050801561270c576127048184614570565b9150506107d1565b60606127166126b2565b6001600160a01b0316632d7371e18660046040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381868061275e61509c565b15801561277357600080612770614fd6565b50505b505a61277d6150e8565b505050505015801561279c573d6000803e3d6000612799614fd6565b50505b505050506040513d6000823e601f3d908101601f1916820160409081528110156127ce576000806127cb614fd6565b50505b81019080805160405193929190846401000000008211156127f7576000806127f4614fd6565b50505b90830190602082018581111561281557600080612812614fd6565b50505b825186602082028301116401000000008211171561283b57600080612838614fd6565b50505b825250602001908051906020019060200280838360005b8381101561286a578082015183820152602001612852565b505050509050016040526020018051604051939291908464010000000082111561289c57600080612899614fd6565b50505b9083019060208201858111156128ba576000806128b7614fd6565b50505b82518660208202830111640100000000821117156128e0576000806128dd614fd6565b50505b825250602001908051906020019060200280838360005b8381101561290f5780820151838201526020016128f7565b505050509050016040525050505090506000600190505b815181101561298357600082828151811061293d57fe5b602002602001015111801561296a575061296a82828151811061295c57fe5b602002602001015186614570565b1561297b57600193505050506107d1565b600101612926565b50600095945050505050565b60008061299a615041565b906101000a90046001600160a01b03166001600160a01b03165a6129bc6151d3565b6001600160a01b031614612a075760405162461bcd60e51b815260040180806020018281038252602f81526020018061544a602f9139604001915050604051809103906115f1614fd6565b565b60008060006060612a18612014565b6001600160a01b031663b44e975387876040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680612a6761509c565b158015612a7c57600080612a79614fd6565b50505b505a612a866150e8565b5050505050158015612aa5573d6000803e3d6000612aa2614fd6565b50505b505050506040513d6020811015612ac457600080612ac1614fd6565b50505b8101908080519450606092508491506040905051908082528060200260200182016040528015612b0e57816020015b612afb615373565b815260200190600190039081612af35790505b50905060005b83811015612d2657600080612b27615373565b612b328b8b866145cf565b9050600080612b4083614741565b915091506000612b4e6126b2565b6001600160a01b031663266da16b85518660200151876040015187876040516001600160e01b031960e088901b1681526004810195909552602485019390935260448401919091526064830152608482015260a4016020604051808303818680612bb661509c565b158015612bcb57600080612bc8614fd6565b50505b505a612bd56150e8565b5050505050158015612bf4573d6000803e3d6000612bf1614fd6565b50505b505050506040513d6020811015612c1357600080612c10614fd6565b50505b810190808051935060009250612c31915083905060808701516148f8565b9050612c41856060015182614570565b612cb5578085606001511115612c7f57612c668186606001519063ffffffff6137f016565b9650612c788d8863ffffffff6132a316565b9c50612cb5565b8460600151811115612cb557612ca08560600151829063ffffffff6137f016565b9550612cb28c8763ffffffff6132a316565b9b505b6040516101008101604052808651815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a001519052898981518110612d0757fe5b6020026020010181905250505050505050508080600101915050612b14565b50905092959194509250565b6000612d3d826149c1565b9050631cd554d160e21b831480612d5a5750631cd554d160e21b82145b15612d64576107d1565b607360f81b6001600160f81b0319600085901a60f81b16148015612d9c5750606960f81b6001600160f81b0319600084901a60f81b16145b80612dda5750606960f81b6001600160f81b0319600085901a60f81b16148015612dda5750607360f81b6001600160f81b0319600084901a60f81b16145b156107d1576107ce81600263ffffffff614acf16565b6000806000612dff8686610705565b15612e445760405162461bcd60e51b81526004018080602001828103825260238152602001806154bc6023913960400191505060405180910390612e41614fd6565b50505b60008060006060612e558a8a612a09565b935093509350935082841115612e8757612e75848463ffffffff6137f016565b9650612e828a8a89614b2e565b612eac565b83831115612eac57612e9f838563ffffffff6137f016565b9550612eac8a8a88614cd6565b8715612fc75760606001604051908082528060200260200182016040528015612edf578160200160208202803883390190505b5090508981600081518110612ef057fe5b602002602001018181525050612f04614e7e565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612f62578082015183820152602001612f4a565b505050509050019250505060006040518083038160008780612f8261509c565b158015612f9757600080612f94614fd6565b50505b505a612fa1615219565b505050505050158015612fc1573d6000803e3d6000612fbe614fd6565b50505b50505050505b60005b8151811015613109578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811061300a57fe5b60200260200101515184848151811061301f57fe5b60200260200101516020015185858151811061303757fe5b60200260200101516040015186868151811061304f57fe5b60200260200101516060015187878151811061306757fe5b60200260200101516080015188888151811061307f57fe5b602002602001015160a0015189898151811061309757fe5b602002602001015160c001518a8a815181106130af57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612fca565b50819450613115612014565b6001600160a01b031663d0d3d62a8b8b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016000604051808303816000878061316661509c565b15801561317b57600080613178614fd6565b50505b505a613185615219565b5050505050501580156131a5573d6000803e3d60006131a2614fd6565b50505b505050505050505093509350939050565b60006131c0614e95565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381868061323861509c565b15801561324d5760008061324a614fd6565b50505b505a6132576150e8565b5050505050158015613276573d6000803e3d6000613273614fd6565b50505b505050506040513d602081101561329557600080613292614fd6565b50505b810190808051935050505090565b6000828201838110156107ce5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390613302614fd6565b50509392505050565b6000610f517044656c6567617465417070726f76616c7360781b6136ef565b61333261209e565b6001600160a01b031663ddd03a3f8484846040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016000604051808303816000878061338461509c565b15801561339957600080613396614fd6565b50505b505a6133a3615219565b505050505050158015610c60573d6000803e3d60006133c0614fd6565b505050505050505050565b60006133d5614e95565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381868061323861509c565b6060600160405190808252806020026020018201604052801561346e578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061349157fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156134d0578160200160208202803883390190505b50905060005b8351811015613512578381815181106134eb57fe5b60200260200101518282815181106134ff57fe5b60209081029190910101526001016134d6565b5060005b82518110156135555782818151811061352b57fe5b602002602001015182828651018151811061354257fe5b6020908102919091010152600101613516565b5092915050565b6000613566614e95565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040516001600160e01b031960e085901b16815260048101929092526024820152604401602060405180830381868061323861509c565b6000806000806000806135e76126b2565b6001600160a01b0316638295016a898b8a6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401606060405180830381868061363761509c565b15801561364c57600080613649614fd6565b50505b505a6136566150e8565b5050505050158015613675573d6000803e3d6000613672614fd6565b50505b505050506040513d606081101561369457600080613691614fd6565b50505b810190808051929190602001805192919060200180519397509295509293506136c392508a9150899050612d32565b93506136cf81856148f8565b95506136e1818763ffffffff6137f016565b945050939792965093509350565b600081815260036020528060408120600090613709615041565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906135555760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137a657808201518382015260200161378e565b50505050905090810190601f1680156137d35780820380516001836020036101000a031916815260200191505b5092505050604051809103906137e7614fd6565b50505092915050565b60008282111561384f5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039061384c614fd6565b50505b50900390565b808314156138a85760405162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b6044820152606401604051809103906138a5614fd6565b50505b600082116138f35760405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606401604051809103906138f0614fd6565b50505b60606002604051908082528060200260200182016040528015613920578160200160208202803883390190505b509050838160008151811061393157fe5b602002602001018181525050818160018151811061394b57fe5b60200260200101818152505061395f6126b2565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156139bd5780820151838201526020016139a5565b505050509050019250505060206040518083038186806139db61509c565b1580156139f0576000806139ed614fd6565b50505b505a6139fa6150e8565b5050505050158015613a19573d6000803e3d6000613a16614fd6565b50505b505050506040513d6020811015613a3857600080613a35614fd6565b50505b810190808051159250613a859150505760405162461bcd60e51b815260040180806020018281038252602281526020018061549a6022913960400191505060405180910390611bc7614fd6565b50505050565b6000806000613a9c85856000612df0565b889550909350915050801561330257613ab785858885610f5b565b9695505050505050565b6000613acd83836126cd565b15613b7057613ada612684565b6001600160a01b031663abc0bb6e8460416040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780613b2461509c565b158015613b3957600080613b36614fd6565b50505b505a613b43615219565b505050505050158015613b63573d6000803e3d6000613b60614fd6565b50505b50505050600190506107d1565b6000838152600460205282906040902081906137e76152df565b6000613b9461269e565b6001600160a01b03166332608039896040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680613bd561509c565b158015613bea57600080613be7614fd6565b50505b505a613bf46150e8565b5050505050158015613c13573d6000803e3d6000613c10614fd6565b50505b505050506040513d6020811015613c3257600080613c2f614fd6565b50505b8101908080516001600160a01b03169250639dc29fac9150899050886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613c8f61509c565b158015613ca457600080613ca1614fd6565b50505b505a613cae615219565b505050505050158015613cce573d6000803e3d6000613ccb614fd6565b50505b505050506000613cdc61269e565b6001600160a01b03166332608039876040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680613d1d61509c565b158015613d3257600080613d2f614fd6565b50505b505a613d3c6150e8565b5050505050158015613d5b573d6000803e3d6000613d58614fd6565b50505b505050506040513d6020811015613d7a57600080613d77614fd6565b50505b81019080805193505084159150613ed390505780613e366001600160a01b03821663ec5568896040518163ffffffff1660e01b81526004016020604051808303818680613dc561509c565b158015613dda57600080613dd7614fd6565b50505b505a613de46150e8565b5050505050158015613e03573d6000803e3d6000613e00614fd6565b50505b505050506040513d6020811015613e2257600080613e1f614fd6565b50505b81019080805192508891508990508a614eb2565b9250816001600160a01b031663867904b484886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613e8a61509c565b158015613e9f57600080613e9c614fd6565b50505b505a613ea9615219565b505050505050158015613ec9573d6000803e3d6000613ec6614fd6565b50505b5050505050613f69565b806001600160a01b031663867904b485876040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613f2561509c565b158015613f3a57600080613f37614fd6565b50505b505a613f44615219565b505050505050158015613f64573d6000803e3d6000613f61614fd6565b50505b505050505b50979650505050505050565b6000610f5166119959541bdbdb60ca1b6136ef565b6000631cd554d160e21b83511480613fac5750631cd554d160e21b6020840151145b9050600081613fbc576003613fbf565b60025b60ff169050606081604051908082528060200260200182016040528015613ff0578160200160208202803883390190505b50905084518160008151811061400257fe5b602090810291909101015284600160200201518160018151811061402257fe5b60200260200101818152505060608260405190808252806020026020018201604052801561405a578160200160208202803883390190505b50905084518160008151811061406c57fe5b602090810291909101015284600160200201518160018151811061408c57fe5b6020026020010181815250508361418057631cd554d160e21b826002815181106140b257fe5b60200260200101818152505073__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186806140fd61509c565b1580156141125760008061410f614fd6565b50505b505a61411c6153be565b505050505015801561413b573d6000803e3d6000614138614fd6565b50505b505050506040513d602081101561415a57600080614157614fd6565b50505b8101908080519250839150600290508151811061417357fe5b6020026020010181815250505b614188614e7e565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156141eb5780820151838201526020016141d3565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561422a578082015183820152602001614212565b505050509050019450505050506000604051808303816000878061424c61509c565b1580156142615760008061425e614fd6565b50505b505a61426b615219565b50505050505015801561428b573d6000803e3d6000614288614fd6565b50505b50505050505050505050565b60006142a16126b2565b90506000816001600160a01b0316637a018a1e886040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806142e761509c565b1580156142fc576000806142f9614fd6565b50505b505a6143066150e8565b5050505050158015614325573d6000803e3d6000614322614fd6565b50505b505050506040513d602081101561434457600080614341614fd6565b50505b81019080805193506000925050506001600160a01b038316637a018a1e876040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061439461509c565b1580156143a9576000806143a6614fd6565b50505b505a6143b36150e8565b50505050501580156143d2573d6000803e3d60006143cf614fd6565b50505b505050506040513d60208110156143f1576000806143ee614fd6565b50505b81019080805193506144069250612014915050565b6001600160a01b0316633ca9d85c8a8a8a8a8a8a5a61442361532d565b8a8a6040516001600160e01b031960e08c901b1681526001600160a01b0390991660048a0152602489019790975260448801959095526064870193909352608486019190915260a485015260c484015260e4830152610104820152610124016000604051808303816000878061449761509c565b1580156144ac576000806144a9614fd6565b50505b505a6144b6615219565b5050505050501580156144d6573d6000803e3d60006144d3614fd6565b50505b50505050886001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce94623988989898989888860405196875260208701959095526040808701949094526060860192909252608085015260a084015260c083019190915260e0909101905180910390a2505050505050505050565b6000610f516d54726164696e675265776172647360901b6136ef565b600082158061457d575081155b1561458a575060016107d1565b6000838311156145ab576145a4838563ffffffff614f1016565b90506145be565b6145bb848463ffffffff614f1016565b90505b6145c66131b6565b11159392505050565b6145d7615373565b6000806000806000806000806145eb612014565b6001600160a01b03166315987eb68d8d8d6040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640161010060405180830381868061464461509c565b15801561465957600080614656614fd6565b50505b505a6146636150e8565b5050505050158015614682573d6000803e3d600061467f614fd6565b50505b505050506040513d6101008110156146a25760008061469f614fd6565b50505b8101908080519291906020018051929190602001805192919060200180519291906020018051929190602001805192919060200180519291906020018051906020019092919050505097509750975097509750975097509750604051610100810160409081529881526020810197909752968601949094526060850192909252608084015260a083015260c082015260e0810191909152949350505050565b600080600061474e6126b2565b9050600061475a6133cb565b90506001600160a01b03821663109e46a286518760c001518860a00151856040516001600160e01b031960e087901b168152600481019490945260248401929092526044830152606482015260840160206040518083038186806147bc61509c565b1580156147d1576000806147ce614fd6565b50505b505a6147db6150e8565b50505050501580156147fa573d6000803e3d60006147f7614fd6565b50505b505050506040513d602081101561481957600080614816614fd6565b50505b810190808051965050506001600160a01b038316905063109e46a260408701518760e001518860a00151856040516001600160e01b031960e087901b1681526004810194909452602484019290925260448301526064820152608401602060405180830381868061488861509c565b15801561489d5760008061489a614fd6565b50505b505a6148a76150e8565b50505050501580156148c6573d6000803e3d60006148c3614fd6565b50505b505050506040513d60208110156148e5576000806148e2614fd6565b50505b8101908080519698969750505050505050565b60006107ce6149b48373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b8152600401602060405180830381868061494061509c565b15801561495557600080614952614fd6565b50505b505a61495f6153be565b505050505015801561497e573d6000803e3d600061497b614fd6565b50505b505050506040513d602081101561499d5760008061499a614fd6565b50505b8101908080519392505063ffffffff6137f0169050565b849063ffffffff614f3a16565b60006149cb614e95565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680614a6361509c565b158015614a7857600080614a75614fd6565b50505b505a614a826150e8565b5050505050158015614aa1573d6000803e3d6000614a9e614fd6565b50505b505050506040513d6020811015614ac057600080614abd614fd6565b50505b81019080805195945050505050565b600082614ade575060006107d1565b82820282848281614aeb57fe5b04146107ce5760405162461bcd60e51b81526004018080602001828103825260218152602001806154796021913960400191505060405180910390613302614fd6565b614b3661269e565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680614b7761509c565b158015614b8c57600080614b89614fd6565b50505b505a614b966150e8565b5050505050158015614bb5573d6000803e3d6000614bb2614fd6565b50505b505050506040513d6020811015614bd457600080614bd1614fd6565b50505b8101908080516001600160a01b03169250639dc29fac9150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614c3161509c565b158015614c4657600080614c43614fd6565b50505b505a614c50615219565b505050505050158015614c70573d6000803e3d6000614c6d614fd6565b50505b50505050614c7c61209e565b6001600160a01b031663ace88afd8484846040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260448201526064016000604051808303816000878061338461509c565b614cde61269e565b6001600160a01b03166332608039836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680614d1f61509c565b158015614d3457600080614d31614fd6565b50505b505a614d3e6150e8565b5050505050158015614d5d573d6000803e3d6000614d5a614fd6565b50505b505050506040513d6020811015614d7c57600080614d79614fd6565b50505b8101908080516001600160a01b0316925063867904b49150859050836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614dd961509c565b158015614dee57600080614deb614fd6565b50505b505a614df8615219565b505050505050158015614e18573d6000803e3d6000614e15614fd6565b50505b50505050614e2461209e565b6001600160a01b0316636f01a9868484846040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260448201526064016000604051808303816000878061338461509c565b6000610f516844656274436163686560b81b6136ef565b6000610f516e466c657869626c6553746f7261676560881b6136ef565b600060405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000604482015260640160405180910390614f06614fd6565b5050949350505050565b60006107ce82614f2e85670de0b6b3a764000063ffffffff614acf16565b9063ffffffff614f6416565b6000670de0b6b3a7640000614f55848463ffffffff614acf16565b81614f5c57fe5b049392505050565b6000808211614fc25760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390614fbf614fd6565b50505b6000828481614fcd57fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561500e578086015182820160400152602001614ff3565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561177357600082820152602001615085565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020615085565b638540661f598160e01b8152615119565b80808311156107d1575090919050565b80808310156107d1575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015615151578088015182820152602001615139565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596151a68d3d615109565b8c016151b281876150f9565b5b828110156151c757600081526020016151b3565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020615085565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b8981101561525d578089015182820152602001615245565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596152b28e3d615109565b8d016152be81876150f9565b5b828110156152d357600081526020016152bf565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020615085565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020615085565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b63ffe73914598160e01b815261511956fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntryAppended",
					"type": "event",
					"signature": "0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reclaim",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rebate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeTimestamp",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntrySettled",
					"type": "event",
					"signature": "0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdfffca76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86baa45c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3995224"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57af302c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dd1a57a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x059c29ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce096940"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b16802c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19d5c665"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "suspendPynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b9e31c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0x56df5e59b420795ddc4d5e323bd353a7dbd5a998049f03df65c57785e04813ef",
				"urls": [
					"bzz-raw://459aa34b4de585093ca6e571c0a29d3eb17ea9a54f2b2e61fcee8fe9078aa154",
					"dweb:/ipfs/QmWbQNwaBJAPHgvZbVRc8WkkU6scwGgn3K3KoUwFfaDSH4"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Exchanger.sol": "Exchanger"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Exchanger.sol": {
						"keccak256": "0x56df5e59b420795ddc4d5e323bd353a7dbd5a998049f03df65c57785e04813ef",
						"urls": [
							"bzz-raw://459aa34b4de585093ca6e571c0a29d3eb17ea9a54f2b2e61fcee8fe9078aa154",
							"dweb:/ipfs/QmWbQNwaBJAPHgvZbVRc8WkkU6scwGgn3K3KoUwFfaDSH4"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c6004620000126200024e565b50503480156200002c5760008062000029620002b2565b50505b506040516200128938038062001289833981810160405260408110156200005d576000806200005a620002b2565b50505b810190808051929190602001805192508291508390506001600160a01b038116620000d95760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000d6620002b2565b50505b806000600181620000e96200031f565b816001600160a01b0302191690836001600160a01b03160217906200010d6200024e565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620001666200031f565b906101000a90046001600160a01b03166001600160a01b03161415620001d15760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620001ce620002b2565b50505b806002600181620001e16200031f565b816001600160a01b0302191690836001600160a01b0316021790620002056200024e565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a15050506200036c565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60005b6040811015620002ad5760008282015260200162000294565b505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620002ec578086015182820160400152602001620002cf565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000294565b610f0d806200037c6000396000f3fe608060405234801561001957600080610016610c45565b50505b50600436106100f35760003560e01c806379ba509711610095578063b44e97531161006f578063b44e9753146102d5578063cd8b94dc1461030a578063d0d3d62a14610330578063f1406dc814610365576100f3565b806379ba5097146102bd5780638da5cb5b146102c5578063aefc4ccb146102cd576100f3565b80633ca9d85c116100d15780633ca9d85c146101ce57806352f445ca1461022f57806353a47bb71461025e5780636e13fe7614610282576100f3565b80630d40d0cf1461010157806315987eb61461011b5780631627540c1461019d575b6000806100fe610c45565b50505b61010961039a565b60405190815260200160405180910390f35b6101566004803603606081101561013a57600080610137610c45565b50505b506001600160a01b0381351690602081013590604001356103a7565b604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390f35b6101cc600480360360208110156101bc576000806101b9610c45565b50505b50356001600160a01b0316610474565b005b6101cc60048036036101208110156101ee576000806101eb610c45565b50505b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e08101359061010001356104ee565b6101cc6004803603602081101561024e5760008061024b610c45565b50505b50356001600160a01b0316610735565b6102666107b0565b6040516001600160a01b03909116815260200160405180910390f35b610156600480360360608110156102a15760008061029e610c45565b50505b506001600160a01b0381351690602081013590604001356107cf565b6101cc610879565b6102666109fc565b610266610a07565b610109600480360360408110156102f4576000806102f1610c45565b50505b506001600160a01b038135169060200135610a13565b6101cc6004803603602081101561032957600080610326610c45565b50505b5035610a4b565b6101cc6004803603604081101561034f5760008061034c610c45565b50505b506001600160a01b038135169060200135610a65565b6101096004803603604081101561038457600080610381610c45565b50505b506001600160a01b038135169060200135610b17565b60046103a4610cb0565b81565b6001600160a01b0383166000908152600360205280808080808080806040812060008c8152602091909152604090208a816103e0610cb0565b81106103e857fe5b906000526020600020600890910201905080610402610cb0565b8160010161040e610cb0565b8260020161041a610cb0565b83600301610426610cb0565b84600401610432610cb0565b8560050161043e610cb0565b8660060161044a610cb0565b87600701610456610cb0565b98509850985098509850985098509850509397509397509397509397565b61047c610bcb565b8060018080610489610cb0565b816001600160a01b0302191690836001600160a01b03160217906104ab610d0b565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600060026104fa610cb0565b906101000a90046001600160a01b03166001600160a01b03165a61051c610d59565b6001600160a01b03161461056a5760405162461bcd60e51b8152600401808060200182810382526034815260200180610ed96034913960400191505060405180910390610567610c45565b50505b6004610574610cb0565b6001600160a01b038a166000908152600360205260409020600088815260209190915260409020806105a4610cb0565b9050106106005760405162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e677468207265616368656400000000000000006044820152606401604051809103906105fd610c45565b50505b6001600160a01b03891660009081526003602052604090206000878152602091909152604090206040518061010001604052808a815260200189815260200188815260200187815260200186815260200185815260200184815260200183815250908060018161066e610cb0565b018082610679610d0b565b505060009283529160001983019150602090209192916008909102018151816106a0610d0b565b50506020820151816001016106b3610d0b565b50506040820151816002016106c6610d0b565b50506060820151816003016106d9610d0b565b50506080820151816004016106ec610d0b565b505060a0820151816005016106ff610d0b565b505060c082015181600601610712610d0b565b505060e082015181600701610725610d0b565b5050505050505050505050505050565b61073d610bcb565b80600260018161074b610cb0565b816001600160a01b0302191690836001600160a01b031602179061076d610d0b565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b600060016107bc610cb0565b906101000a90046001600160a01b031681565b600360205282600052604060002060205281600052604060002081816107f3610cb0565b81106107fb57fe5b90600052602060002060089091020192508291506108199050610cb0565b9080600101610826610cb0565b9080600201610833610cb0565b9080600301610840610cb0565b908060040161084d610cb0565b908060050161085a610cb0565b9080600601610867610cb0565b9080600701610874610cb0565b905088565b60006001610885610cb0565b906101000a90046001600160a01b03166001600160a01b03165a6108a7610d59565b6001600160a01b0316146108f55760405162461bcd60e51b8152600401808060200182810382526035815260200180610e7560359139604001915050604051809103906108f2610c45565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610921610cb0565b906101000a90046001600160a01b0316600160009061093e610cb0565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a16000600161097d610cb0565b906101000a90046001600160a01b03166000806101000a8161099d610cb0565b816001600160a01b0302191690836001600160a01b03160217906109bf610d0b565b5050506000600160006101000a816109d5610cb0565b816001600160a01b0302191690836001600160a01b03160217906109f7610d0b565b505050565b6000806107bc610cb0565b600060026107bc610cb0565b6001600160a01b038216600090815260036020526040812060008381526020919091526040902080610a43610cb0565b949350505050565b610a53610bcb565b80806004610a5f610d0b565b50505050565b60006002610a71610cb0565b906101000a90046001600160a01b03166001600160a01b03165a610a93610d59565b6001600160a01b031614610ae15760405162461bcd60e51b8152600401808060200182810382526034815260200180610ed96034913960400191505060405180910390610ade610c45565b50505b6001600160a01b0382166000908152600360205260409020600082815260209190915260409020610b13906000610d9f565b5050565b6001600160a01b03821660009081526003602052806040812060008481526020919091526040902090506000805b8280610b4f610cb0565b9050811015610bc25781838281610b64610cb0565b8110610b6c57fe5b9060005260206000209060080201600501610b85610cb0565b1115610bba57828181610b96610cb0565b8110610b9e57fe5b9060005260206000209060080201600501610bb7610cb0565b91505b600101610b45565b50949350505050565b600080610bd6610cb0565b906101000a90046001600160a01b03166001600160a01b03165a610bf8610d59565b6001600160a01b031614610c435760405162461bcd60e51b815260040180806020018281038252602f815260200180610eaa602f913960400191505060405180910390610b13610c45565b565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610c7d578086015182820160400152602001610c62565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156109f757600082820152602001610cf4565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610cf4565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020610cf4565b5080610da9610cb0565b600082610db4610d0b565b5050600802906000526020600020610dce91810190610dd1565b50565b610e7191905b80821115610e6d5760008082610deb610d0b565b505060018201600090610dfc610d0b565b505060028201600090610e0d610d0b565b505060038201600090610e1e610d0b565b505060048201600090610e2f610d0b565b505060058201600090610e40610d0b565b505060068201600090610e51610d0b565b505060078201600090610e62610d0b565b505050600801610dd7565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "appendExchangeEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ca9d85c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchanges",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6e13fe76"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getEntryAt",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15987eb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getLengthOfEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb44e9753"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getMaxTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1406dc8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d40d0cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0d3d62a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd8b94dc"
				}
			],
			"source": {
				"keccak256": "0xb45293ceab8871f61c1a0ca446cedfac191c87b106ac1a7feef1a3ffe5fc2679",
				"urls": [
					"bzz-raw://442f33b7ec865a41616f76e1e9f600b44b29758bafbf126c460559a223ed2f8e",
					"dweb:/ipfs/QmNQW54TkMrmYntk2L3jcjFY9vb2zgC3cRKQkagPghNGUv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0xb45293ceab8871f61c1a0ca446cedfac191c87b106ac1a7feef1a3ffe5fc2679",
						"urls": [
							"bzz-raw://442f33b7ec865a41616f76e1e9f600b44b29758bafbf126c460559a223ed2f8e",
							"dweb:/ipfs/QmNQW54TkMrmYntk2L3jcjFY9vb2zgC3cRKQkagPghNGUv"
						]
					}
				},
				"version": 1
			}
		},
		"IssuerWithoutLiquidations": {
			"bytecode": "60806040523480156200001c57600080620000196200018e565b50505b506040516200563138038062005631833981810160405260408110156200004d576000806200004a6200018e565b50505b810190808051929190602001805192508391508290508080836001600160a01b038116620000cc5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000c96200018e565b50505b806000600181620000dc620001fb565b816001600160a01b0302191690836001600160a01b0316021790620001006200025d565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1508060026001816200015b620001fb565b816001600160a01b0302191690836001600160a01b03160217906200017f6200025d565b505050505050505050620002ac565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620001c8578086015182820160400152602001620001ab565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101562000258576000828201526020016200023f565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206200023f565b61537580620002bc6000396000f3fe608060405234801561001957600080610016614ea8565b50505b506004361061025c5760003560e01c806372cb051f1161014f578063a5fdc5de116100cc578063bff4fdfc11610090578063bff4fdfc14610947578063c897713214610976578063d37c4d8b146109a5578063dbf63340146109da578063dd3d2b2e146109e2578063fd864ccf14610a115761025c565b8063a5fdc5de14610855578063a63c4df414610884578063ae3bbbbb146108db578063b06e8c651461090a578063b410a0341461093f5761025c565b8063849cf58811610113578063849cf588146107a8578063899ffef4146107d75780638da5cb5b146107df5780639a5154b4146107e7578063a311c7c2146108265761025c565b806372cb051f1461073c578063741853601461074457806379ba50971461074c5780637b1001b714610754578063835e119c146107825761025c565b806332608039116101dd5780634e99bda9116101a15780634e99bda91461064357806353a47bb71461064b578063614d08f8146106535780636bed04151461065b5780637168d2c2146106aa5761025c565b806332608039146104385780633b6afe401461045e57806344ec6b621461054357806347a9b6db14610582578063497d704a146106145761025c565b80631627540c116102245780631627540c1461037f57806316b2213f146103ae578063242df9e1146103dd5780632af64bd3146103e55780632b3f41aa146104015761025c565b8063042e06881461026a57806304f3bcec146102a157806305b3c1c9146102c55780630b887dae146103065780631137aedf1461032c575b600080610267614ea8565b50505b61029f6004803603604081101561028957600080610286614ea8565b50505b506001600160a01b038135169060200135610a48565b005b6102a9610a60565b6040516001600160a01b03909116815260200160405180910390f35b6102f4600480360360208110156102e4576000806102e1614ea8565b50505b50356001600160a01b0316610a7f565b60405190815260200160405180910390f35b61029f6004803603602081101561032557600080610322614ea8565b50505b5035610a93565b61035b6004803603602081101561034b57600080610348614ea8565b50505b50356001600160a01b0316610bc6565b60405180848152602001838152602001828152602001935050505060405180910390f35b61029f6004803603602081101561039e5760008061039b614ea8565b50505b50356001600160a01b0316610be2565b6102f4600480360360208110156103cd576000806103ca614ea8565b50505b50356001600160a01b0316610c5c565b6102f4610c77565b6103ed610c87565b604051901515815260200160405180910390f35b61029f600480360360408110156104205760008061041d614ea8565b50505b506001600160a01b0381358116916020013516610e16565b6102a96004803603602081101561045757600080610454614ea8565b50505b5035610e35565b6104f06004803603602081101561047d5760008061047a614ea8565b50505b810190602081018135600160201b8111156104a05760008061049d614ea8565b50505b8201836020820111156104bb576000806104b8614ea8565b50505b803590602001918460208302840111600160201b831117156104e5576000806104e2614ea8565b50505b509092509050610e4f565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561052f578082015183820152602001610517565b505050509050019250505060405180910390f35b61029f600480360360608110156105625760008061055f614ea8565b50505b506001600160a01b03813581169160208101359091169060400135610f02565b61029f600480360360208110156105a15760008061059e614ea8565b50505b810190602081018135600160201b8111156105c4576000806105c1614ea8565b50505b8201836020820111156105df576000806105dc614ea8565b50505b803590602001918460208302840111600160201b8311171561060957600080610606614ea8565b50505b509092509050610f25565b61029f6004803603602081101561063357600080610630614ea8565b50505b50356001600160a01b0316610ffa565b6103ed611012565b6102a96111c3565b6102f46111cf565b6106906004803603604081101561067a57600080610677614ea8565b50505b506001600160a01b0381351690602001356111dc565b604051918252151560208201526040908101905180910390f35b61029f600480360360208110156106c9576000806106c6614ea8565b50505b810190602081018135600160201b8111156106ec576000806106e9614ea8565b50505b82018360208201111561070757600080610704614ea8565b50505b803590602001918460208302840111600160201b831117156107315760008061072e614ea8565b50505b509092509050611240565b6104f0611437565b61029f611443565b61029f611672565b6102f46004803603604081101561077357600080610770614ea8565b50505b508035906020013515156117f0565b6102a9600480360360208110156107a15760008061079e614ea8565b50505b50356117fc565b61029f600480360360208110156107c7576000806107c4614ea8565b50505b50356001600160a01b0316611826565b6104f06118c6565b6102a9611b37565b61029f6004803603606081101561080657600080610803614ea8565b50505b506001600160a01b03813581169160208101359091169060400135611b42565b6102f46004803603602081101561084557600080610842614ea8565b50505b50356001600160a01b0316611b60565b6102f46004803603602081101561087457600080610871614ea8565b50505b50356001600160a01b0316611b72565b6108c3600480360360608110156108a3576000806108a0614ea8565b50505b506001600160a01b03813581169160208101359160409091013516611b7d565b60405191825260208201526040908101905180910390f35b610690600480360360208110156108fa576000806108f7614ea8565b50505b50356001600160a01b0316611b90565b61029f6004803603604081101561092957600080610926614ea8565b50505b506001600160a01b038135169060200135611ba6565b6102f4611bba565b6103ed6004803603602081101561096657600080610963614ea8565b50505b50356001600160a01b0316611bc4565b61029f6004803603602081101561099557600080610992614ea8565b50505b50356001600160a01b0316611bcf565b6102f4600480360360408110156109c4576000806109c1614ea8565b50505b506001600160a01b038135169060200135611be4565b6102f4611cd7565b6102f460048036036020811015610a01576000806109fe614ea8565b50505b50356001600160a01b0316611cea565b61029f60048036036040811015610a3057600080610a2d614ea8565b50505b506001600160a01b0381358116916020013516611cf5565b610a50611d14565b610a5c82826000611d7b565b5050565b60006002610a6c614f13565b906101000a90046001600160a01b031681565b600080610a8b8361201d565b509392505050565b610a9b612122565b6000610aa561219a565b9050806001600160a01b031663d685743a8360006040516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780610af2614f6e565b158015610b0757600080610b04614ea8565b50505b505a610b11614fba565b505050505050158015610b31573d6000803e3d6000610b2e614ea8565b50505b50505050806001600160a01b03166304bd11e560016040516001600160e01b031960e084901b168152901515600482015260240160006040518083038160008780610b7a614f6e565b158015610b8f57600080610b8c614ea8565b50505b505a610b99614fba565b505050505050158015610bb9573d6000803e3d6000610bb6614ea8565b50505b50505050610a5c826121b1565b6000806000610bd484612579565b509196909550909350915050565b610bea612122565b8060018080610bf7614f13565b816001600160a01b0302191690836001600160a01b0316021790610c196150a5565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60066020528060005260406000209050610c74614f13565b81565b6000610c816125e1565b90505b90565b60006060610c936118c6565b905060005b8151811015610e0d576000828281518110610caf57fe5b60200260200101516000818152600360205290915060409020600090610cd3614f13565b6001600160a01b036101009290920a90041660006002610cf1614f13565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610d42614f6e565b158015610d5757600080610d54614ea8565b50505b505a610d616150f3565b5050505050158015610d80573d6000803e3d6000610d7d614ea8565b50505b505050506040513d6020811015610d9f57600080610d9c614ea8565b50505b8101908080516001600160a01b031693909314159250829150610df3905057506000818152600360205260408120600090610dd8614f13565b906101000a90046001600160a01b03166001600160a01b0316145b15610e045760009350505050610c84565b50600101610c98565b50600191505090565b610e1e611d14565b610e2882826126c1565b610a5c82600060016127de565b600560205280600052604060002060009150610a6c614f13565b6060818181604051908082528060200260200182016040528015610e7d578160200160208202803883390190505b50905060005b82811015610ef75760056000878784818110610e9b57fe5b905060200201358152602001908152602001600020600090610ebb614f13565b906101000a90046001600160a01b0316828281518110610ed757fe5b6001600160a01b0390921660209283029190910190910152600101610e83565b509150505b92915050565b610f0a611d14565b610f148383612b77565b610f2083826000611d7b565b505050565b610f2d612122565b8060005b81811015610f6557610f5d848483818110610f4857fe5b905060200201356001600160a01b0316612bd0565b600101610f31565b50610f6e61219a565b6001600160a01b03166304bd11e560016040516001600160e01b031960e084901b168152901515600482015260240160006040518083038160008780610fb2614f6e565b158015610fc757600080610fc4614ea8565b50505b505a610fd1614fba565b505050505050158015610ff1573d6000803e3d6000610fee614ea8565b50505b50505050505050565b611002611d14565b61100f81600060016127de565b50565b600061101c612e77565b6001600160a01b031663c8e5bbd56110346001612e92565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561108357808201518382015260200161106b565b505050509050019250505060006040518083038186806110a1614f6e565b1580156110b6576000806110b3614ea8565b50505b505a6110c06150f3565b50505050501580156110df573d6000803e3d60006110dc614ea8565b50505b505050506040513d6000823e601f3d908101601f1916820160409081528110156111115760008061110e614ea8565b50505b8101908080516040519392919084600160201b82111561113957600080611136614ea8565b50505b90830190602082018581111561115757600080611154614ea8565b50505b82518660208202830111600160201b8211171561117c57600080611179614ea8565b50505b825250602001908051906020019060200280838360005b838110156111ab578082015183820152602001611193565b50505050905001604052602001805195945050505050565b60006001610a6c614f13565b6524b9b9bab2b960d11b81565b60008060006111f185620a69cb60eb1b612fb4565b93509091506000905061121261120561323a565b839063ffffffff6132ac16565b90508481106112245760009350611237565b611234858263ffffffff6132c816565b93505b50509250929050565b611248612122565b80600061125361219a565b9050606082604051908082528060200260200182016040528015611281578160200160208202803883390190505b509050816001600160a01b03166317b38db48686846040518463ffffffff1660e01b81526004018080602001806020018381038352868682818152602001925060200280828437600083820152601f01601f19169091018481038352905084818151815260200191508051906020019060200280838360005b838110156113125780820151838201526020016112fa565b505050509050019550505050505060006040518083038160008780611335614f6e565b15801561134a57600080611347614ea8565b50505b505a611354614fba565b505050505050158015611374573d6000803e3d6000611371614ea8565b50505b50505050816001600160a01b03166304bd11e560016040516001600160e01b031960e084901b1681529015156004820152602401600060405180830381600087806113bd614f6e565b1580156113d2576000806113cf614ea8565b50505b505a6113dc614fba565b5050505050501580156113fc573d6000803e3d60006113f9614ea8565b50505b506000925050505b8381101561142f5761142786868381811061141b57fe5b905060200201356121b1565b600101611404565b505050505050565b6060610c816000612e92565b606061144d6118c6565b905060005b8151811015610a5c57600082828151811061146957fe5b602002602001015190506000806002611480614f13565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561153557808201518382015260200161151d565b50505050905090810190601f1680156115625780820380516001836020036101000a031916815260200191505b509350505050602060405180830381868061157b614f6e565b1580156115905760008061158d614ea8565b50505b505a61159a6150f3565b50505050501580156115b9573d6000803e3d60006115b6614ea8565b50505b505050506040513d60208110156115d8576000806115d5614ea8565b50505b8101908080516000868152600360205290945084935060409250905020600181611600614f13565b816001600160a01b0302191690836001600160a01b03160217906116226150a5565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101611452565b6000600161167e614f13565b906101000a90046001600160a01b03166001600160a01b03165a6116a06151ba565b6001600160a01b0316146116ee5760405162461bcd60e51b81526004018080602001828103825260358152602001806152b560359139604001915050604051809103906116eb614ea8565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60008061171a614f13565b906101000a90046001600160a01b03166001600090611737614f13565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001611776614f13565b906101000a90046001600160a01b03166000806101000a81611796614f13565b816001600160a01b0302191690836001600160a01b03160217906117b86150a5565b5050506000600160006101000a816117ce614f13565b816001600160a01b0302191690836001600160a01b0316021790610f206150a5565b6000610a8b838361332d565b60048181611808614f13565b811061181057fe5b9060005260206000200160009150610a6c614f13565b61182e612122565b61183781612bd0565b61183f61219a565b6001600160a01b03166304bd11e560016040516001600160e01b031960e084901b168152901515600482015260240160006040518083038160008780611883614f6e565b15801561189857600080611895614ea8565b50505b505a6118a2614fba565b5050505050501580156118bf573d6000803e3d6000610ff1614ea8565b5050505050565b6060806118d1613839565b90506060600d604051908082528060200260200182016040528015611900578160200160208202803883390190505b509050680a6f2dce8d0cae8d2f60bb1b8160008151811061191d57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061194357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061196d57fe5b6020026020010181815250506d53796e746865746978537461746560901b8160038151811061199857fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106119bc57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816005815181106119ea57fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600681518110611a1657fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b81600781518110611a4657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600881518110611a7157fe5b6020026020010181815250506e53796e746865746978457363726f7760881b81600981518110611a9d57fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b81600a81518110611ac657fe5b6020026020010181815250506844656274436163686560b81b81600b81518110611aec57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600c81518110611b1a57fe5b602002602001018181525050611b308282613898565b9250505090565b600080610a6c614f13565b611b4a611d14565b611b5483836126c1565b610f20838260006127de565b6000611b6b8261394d565b5092915050565b6000610efc826139a7565b600080611b88611d14565b935093915050565b600080611b9c8361394d565b915091505b915091565b611bae611d14565b610a5c828260006127de565b6000610c8161323a565b6000610efc82613b6c565b611bd7611d14565b61100f8160006001611d7b565b600080611bef613b9f565b90506000816001600160a01b0316638b3f8088866040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680611c3c614f6e565b158015611c5157600080611c4e614ea8565b50505b505a611c5b6150f3565b5050505050158015611c7a573d6000803e3d6000611c77614ea8565b50505b505050506040513d6040811015611c9957600080611c96614ea8565b50505b81019080805192919060200180515092935050508115159050611cc157600092505050610efc565b611ccb8585612fb4565b50909695505050505050565b6000600480611ce4614f13565b91505090565b6000610efc82613bbb565b611cfd611d14565b611d078282612b77565b610a5c8260006001611d7b565b611d1c613cd5565b6001600160a01b03165a611d2e6151ba565b6001600160a01b031614611d795760405162461bcd60e51b815260040180806020018281038252603b8152602001806152ea603b913960400191505060405180910390610a5c614ea8565b565b600080600080611d8a87612579565b9350935093509350611d9b81613cec565b84611df55783861115611df05760405162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015260640160405180910390611ded614ea8565b50505b611df9565b8395505b611e0587878585613d44565b611e0e8761427c565b631cd554d160e21b6000908152600560205260409020600090611e2f614f13565b906101000a90046001600160a01b03166001600160a01b031663867904b488886040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780611e90614f6e565b158015611ea557600080611ea2614ea8565b50505b505a611eaf614fba565b505050505050158015611ecf573d6000803e3d6000611ecc614ea8565b50505b50505050611edb61219a565b6001600160a01b031663d685743a631cd554d160e21b73__$7f049114de1448f1f37beb78d0ca94acee$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680611f30614f6e565b158015611f4557600080611f42614ea8565b50505b505a611f4f615200565b5050505050158015611f6e573d6000803e3d6000611f6b614ea8565b50505b505050506040513d6020811015611f8d57600080611f8a614ea8565b50505b81019080805192506040915050516001600160e01b031960e085901b1681526004810192909252602482015260440160006040518083038160008780611fd1614f6e565b158015611fe657600080611fe3614ea8565b50505b505a611ff0614fba565b505050505050158015612010573d6000803e3d600061200d614ea8565b50505b50505050610ff18761433b565b60008060008061202b612e77565b6001600160a01b0316630c71cd23620a69cb60eb1b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680612071614f6e565b15801561208657600080612083614ea8565b50505b505a6120906150f3565b50505050501580156120af573d6000803e3d60006120ac614ea8565b50505b505050506040513d60408110156120ce576000806120cb614ea8565b50505b8101908080519291906020018051939550929350600092506120fc91506120f69050876139a7565b84614466565b905061211661210961323a565b829063ffffffff61447816565b94509092505050915091565b60008061212d614f13565b906101000a90046001600160a01b03166001600160a01b03165a61214f6151ba565b6001600160a01b031614611d795760405162461bcd60e51b815260040180806020018281038252602f815260200180615325602f913960400191505060405180910390610a5c614ea8565b6000610c816844656274436163686560b81b6144a2565b60008181526005602052604081206000906121ca614f13565b6001600160a01b036101009290920a90041690508061222f5760405162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b60448201526064016040518091039061222c614ea8565b50505b806001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680612263614f6e565b15801561227857600080612275614ea8565b50505b505a6122826150f3565b50505050501580156122a1573d6000803e3d600061229e614ea8565b50505b505050506040513d60208110156122c0576000806122bd614ea8565b50505b81019080805115925061231b9150505760405162461bcd60e51b815260206004820152601360248201527253796e746820737570706c792065786973747360681b604482015260640160405180910390612318614ea8565b50505b631cd554d160e21b8214156123755760405162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b604482015260640160405180910390612372614ea8565b50505b60005b600480612383614f13565b90508110156124dc57816001600160a01b0316600482816123a2614f13565b81106123aa57fe5b906000526020600020016000906123bf614f13565b906101000a90046001600160a01b03166001600160a01b031614156124d457600481816123ea614f13565b81106123f257fe5b90600052602060002001600181612407614f13565b906001600160a01b030219169061241c6150a5565b50506004600160048061242d614f13565b90500381612439614f13565b811061244157fe5b90600052602060002001600090612456614f13565b906101000a90046001600160a01b031660048281612472614f13565b811061247a57fe5b9060005260206000200160018161248f614f13565b816001600160a01b0302191690836001600160a01b03160217906124b16150a5565b5050506004806124bf614f13565b906124ce906000198301615211565b506124dc565b600101612378565b506001600160a01b03811660009081526006602052604090206000906125006150a5565b5050600082815260056020526040902060018161251b614f13565b906001600160a01b03021916906125306150a5565b50507f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d082826040519182526001600160a01b031660208201526040908101905180910390a15050565b60008060008061259085631cd554d160e21b612fb4565b919450925090506000806125a38761201d565b9150915081955082806125b35750805b92508585106125c557600095506125d8565b6125d5868663ffffffff6132c816565b95505b50509193509193565b60006125eb6145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612656614f6e565b15801561266b57600080612668614ea8565b50505b505a6126756150f3565b5050505050158015612694573d6000803e3d6000612691614ea8565b50505b505050506040513d60208110156126b3576000806126b0614ea8565b50505b810190808051935050505090565b6126c96145c1565b6001600160a01b0316637d3f0ba283836040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061271a614f6e565b15801561272f5760008061272c614ea8565b50505b505a6127396150f3565b5050505050158015612758573d6000803e3d6000612755614ea8565b50505b505050506040513d602081101561277757600080612774614ea8565b50505b8101908080519250610a5c9150505760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c660000006044820152606401604051809103906127d8614ea8565b50505050565b80612a07576127ec83613b6c565b6128455760405162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015260640160405180910390612842614ea8565b50505b6000806128506145e0565b6001600160a01b0316631b16802c86631cd554d160e21b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401606060405180830381600087806128a8614f6e565b1580156128bd576000806128ba614ea8565b50505b505a6128c7614fba565b5050505050501580156128e7573d6000803e3d60006128e4614ea8565b50505b505050506040513d606081101561290657600080612903614ea8565b50505b810190808051929190602001805192919060200180519396509294505083159250612a04915050576129366145e0565b6001600160a01b0316634c268fc886631cd554d160e21b87866040516001600160e01b031960e087901b1681526001600160a01b039094166004850152602484019290925260448301526064820152608401602060405180830381868061299b614f6e565b1580156129b0576000806129ad614ea8565b50505b505a6129ba6150f3565b50505050501580156129d9573d6000803e3d60006129d6614ea8565b50505b505050506040513d60208110156129f8576000806129f5614ea8565b50505b81019080805196505050505b50505b6000806000612a1d86631cd554d160e21b612fb4565b925092509250600080612a2f8861201d565b91509150612a448380612a3f5750815b613cec565b60008511612a965760405162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015260640160405180910390612a93614ea8565b50505b8515612aaf57612aac858363ffffffff6132c816565b96505b6000612abe898a8a89896145f7565b905082612ad1878363ffffffff6132c816565b11610fee57612ade61482e565b6001600160a01b031663974e9e7f8a6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160006040518083038160008780612b29614f6e565b158015612b3e57600080612b3b614ea8565b50505b505a612b48614fba565b505050505050158015612b68573d6000803e3d6000612b65614ea8565b50505b50505050505050505050505050565b612b7f6145c1565b6001600160a01b0316630487261783836040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061271a614f6e565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b81526004016020604051808303818680612c06614f6e565b158015612c1b57600080612c18614ea8565b50505b505a612c256150f3565b5050505050158015612c44573d6000803e3d6000612c41614ea8565b50505b505050506040513d6020811015612c6357600080612c60614ea8565b50505b8101908080516000818152600560205290945092506040915082905020600090612c8b614f13565b906101000a90046001600160a01b03166001600160a01b031614612ced5760405162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015260640160405180910390612cea614ea8565b50505b6001600160a01b0382166000908152600660205260408120612d0d614f13565b14612d675760405162461bcd60e51b815260206004820152601c60248201527f53796e7468206164647265737320616c72656164792065786973747300000000604482015260640160405180910390612d64614ea8565b50505b81600480600181612d76614f13565b018082612d816150a5565b5050600092835291600019830191506020902091929101600181612da3614f13565b816001600160a01b0302191690836001600160a01b0316021790612dc56150a5565b5050506000828152600560205283915060409020600181612de4614f13565b816001600160a01b0302191690836001600160a01b0316021790612e066150a5565b5050506001600160a01b038216600090815260066020528190604090208190612e2d6150a5565b5050507f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c6288481836040519182526001600160a01b031660208201526040908101905180910390a15050565b6000610c816c45786368616e6765526174657360981b6144a2565b60608082612ea1576000612ea4565b60015b60ff16600480612eb2614f13565b905001604051908082528060200260200182016040528015612ede578160200160208202803883390190505b50905060005b600480612eef614f13565b9050811015612f7c576006600060048381612f08614f13565b8110612f1057fe5b90600052602060002001600090612f25614f13565b906101000a90046001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020612f5d614f13565b828281518110612f6957fe5b6020908102919091010152600101612ee4565b508215610efc57620a69cb60eb1b81600480612f96614f13565b905081518110612fa257fe5b60200260200101818152505092915050565b600080600080612fc2613b9f565b9050600080826001600160a01b0316638b3f8088896040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160408051808303818680613010614f6e565b15801561302557600080613022614ea8565b50505b505a61302f6150f3565b505050505015801561304e573d6000803e3d600061304b614ea8565b50505b505050506040513d604081101561306d5760008061306a614ea8565b50505b810190808051929190602001805193955092935061309292508991506001905061332d565b9095509350816130a9575060009450613233915050565b600061320f83613203866001600160a01b03166308d95cd5866040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806130f4614f6e565b15801561310957600080613106614ea8565b50505b505a6131136150f3565b5050505050158015613132573d6000803e3d600061312f614ea8565b50505b505050506040513d60208110156131515760008061314e614ea8565b50505b810190808051925050506001600160a01b03881663463177126040518163ffffffff1660e01b8152600401602060405180830381868061318f614f6e565b1580156131a4576000806131a1614ea8565b50505b505a6131ae6150f3565b50505050501580156131cd573d6000803e3d60006131ca614ea8565b50505b505050506040513d60208110156131ec576000806131e9614ea8565b50505b8101908080519392505063ffffffff614848169050565b9063ffffffff61486116565b90506000613220826132038961487a565b905061322b81614890565b975050505050505b9250925092565b60006132446145a4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680612656614f6e565b60006132c18383670de0b6b3a76400006148b2565b9392505050565b6000828211156133275760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613324614ea8565b50505b50900390565b600080600080600061333d61219a565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b81526004016080604051808303818680613370614f6e565b15801561338557600080613382614ea8565b50505b505a61338f6150f3565b50505050501580156133ae573d6000803e3d60006133ab614ea8565b50505b505050506040513d60808110156133cd576000806133ca614ea8565b50505b8101908080519291906020018051929190602001805192919060200180519598509296509394508593508392506134049150505750805b93506000613410612e77565b905086613738576000806134226148f6565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b815260040160408051808303818680613454614f6e565b15801561346957600080613466614ea8565b50505b505a6134736150f3565b5050505050158015613492573d6000803e3d600061348f614ea8565b50505b505050506040513d60408110156134b1576000806134ae614ea8565b50505b81019080805192919060200180519395509293506134db925088915084905063ffffffff61491516565b955086806134e65750805b965061359a6134f361497d565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b81526004016020604051808303818680613526614f6e565b15801561353b57600080613538614ea8565b50505b505a6135456150f3565b5050505050158015613564573d6000803e3d6000613561614ea8565b50505b505050506040513d602081101561358357600080613580614ea8565b50505b8101908080518a935091505063ffffffff61491516565b9550600080846001600160a01b0316630c71cd23630e68aa8960e31b6040516001600160e01b031960e084901b1681526004810191909152602401604080518083038186806135e7614f6e565b1580156135fc576000806135f9614ea8565b50505b505a6136066150f3565b5050505050158015613625573d6000803e3d6000613622614ea8565b50505b505050506040513d604081101561364457600080613641614ea8565b50505b810190808051929190602001805193955092935060009250613713915084905061366c61499e565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b8152600401602060405180830381868061369f614f6e565b1580156136b4576000806136b1614ea8565b50505b505a6136be6150f3565b50505050501580156136dd573d6000803e3d60006136da614ea8565b50505b505050506040513d60208110156136fc576000806136f9614ea8565b50505b8101908080519392505063ffffffff6149bb169050565b9050613725898263ffffffff61491516565b985089806137305750815b995050505050505b631cd554d160e21b8814156137535750919350613832915050565b600080826001600160a01b0316630c71cd238b6040516001600160e01b031960e084901b168152600481019190915260240160408051808303818680613797614f6e565b1580156137ac576000806137a9614ea8565b50505b505a6137b66150f3565b50505050501580156137d5573d6000803e3d60006137d2614ea8565b50505b505050506040513d60408110156137f4576000806137f1614ea8565b50505b810190808051929190602001805193955092935061381e925088915084905063ffffffff6132ac16565b87806138275750815b975097505050505050505b9250929050565b60606001604051908082528060200260200182016040528015613866578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b8160008151811061388957fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156138c8578160200160208202803883390190505b50905060005b835181101561390a578381815181106138e357fe5b60200260200101518282815181106138f757fe5b60209081029190910101526001016138ce565b5060005b8251811015611b6b5782818151811061392357fe5b602002602001015182828651018151811061393a57fe5b602090810291909101015260010161390e565b600080600061395b846139a7565b905060008061397086620a69cb60eb1b612fb4565b9250509150826000141561398c57600094509250611ba1915050565b61399c828463ffffffff6132ac16565b945092505050915091565b6000806139b2613cd5565b6001600160a01b03166370a08231846040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806139fb614f6e565b158015613a1057600080613a0d614ea8565b50505b505a613a1a6150f3565b5050505050158015613a39573d6000803e3d6000613a36614ea8565b50505b505050506040513d6020811015613a5857600080613a55614ea8565b50505b810190808051935060009250613a7091506149d09050565b6001600160a01b031614613b4957613b46613a896149d0565b6001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680613ad2614f6e565b158015613ae757600080613ae4614ea8565b50505b505a613af16150f3565b5050505050158015613b10573d6000803e3d6000613b0d614ea8565b50505b505050506040513d6020811015613b2f57600080613b2c614ea8565b50505b81019080805185935091505063ffffffff61491516565b90505b6000613b536149ed565b6001600160a01b031614610efc576132c1613a896149ed565b6000613b8e613b796125e1565b613b8284613bbb565b9063ffffffff61491516565b5a613b97615245565b101592915050565b6000610c816d53796e746865746978537461746560901b6144a2565b6000613bc56145a4565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040516001600160e01b031960e085901b168152600481019290925260248201526044016020604051808303818680613c69614f6e565b158015613c7e57600080613c7b614ea8565b50505b505a613c886150f3565b5050505050158015613ca7573d6000803e3d6000613ca4614ea8565b50505b505050506040513d6020811015613cc657600080613cc3614ea8565b50505b81019080805195945050505050565b6000610c81680a6f2dce8d0cae8d2f60bb1b6144a2565b801561100f5760405162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015260640160405180910390610f20614ea8565b6000613d4e613b9f565b90506000613d62858463ffffffff61491516565b90506000613d76868363ffffffff61484816565b90506000613e318273__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680613dbd614f6e565b158015613dd257600080613dcf614ea8565b50505b505a613ddc615200565b5050505050158015613dfb573d6000803e3d6000613df8614ea8565b50505b505050506040513d6020811015613e1a57600080613e17614ea8565b50505b8101908080519392505063ffffffff6132c8169050565b90508515613e6057613e5983613e4d898963ffffffff61491516565b9063ffffffff61484816565b9150613eda565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b815260040160006040518083038160008780613e96614f6e565b158015613eab57600080613ea8614ea8565b50505b505a613eb5614fba565b505050505050158015613ed5573d6000803e3d6000613ed2614ea8565b50505b505050505b836001600160a01b031663a764eb4589846040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780613f2c614f6e565b158015613f4157600080613f3e614ea8565b50505b505a613f4b614fba565b505050505050158015613f6b573d6000803e3d6000613f68614ea8565b50505b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b81526004016020604051808303818680613fa5614f6e565b158015613fba57600080613fb7614ea8565b50505b505a613fc46150f3565b5050505050158015613fe3573d6000803e3d6000613fe0614ea8565b50505b505050506040513d602081101561400257600080613fff614ea8565b50505b81019080805193909311159250614144915050576001600160a01b038416633d31e97b6140c8838363463177126040518163ffffffff1660e01b81526004016020604051808303818680614054614f6e565b15801561406957600080614066614ea8565b50505b505a6140736150f3565b5050505050158015614092573d6000803e3d600061408f614ea8565b50505b505050506040513d60208110156140b1576000806140ae614ea8565b50505b8101908080519392505063ffffffff614861169050565b6040516001600160e01b031960e084901b1681526004810191909152602401600060405180830381600087806140fc614f6e565b1580156141115760008061410e614ea8565b50505b505a61411b614fba565b50505050505015801561413b573d6000803e3d6000614138614ea8565b50505b50505050614272565b836001600160a01b0316633d31e97b73__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680614192614f6e565b1580156141a7576000806141a4614ea8565b50505b505a6141b1615200565b50505050501580156141d0573d6000803e3d60006141cd614ea8565b50505b505050506040513d60208110156141ef576000806141ec614ea8565b50505b81019080805192506040915050516001600160e01b031960e084901b16815260048101919091526024016000604051808303816000878061422e614f6e565b15801561424357600080614240614ea8565b50505b505a61424d614fba565b50505050505015801561426d573d6000803e3d600061426a614ea8565b50505b505050505b5050505050505050565b6142846145a4565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001205a6142fa615245565b6040516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160006040518083038160008780611883614f6e565b600080614346613b9f565b6001600160a01b0316638b3f8088846040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016040805180830381868061438e614f6e565b1580156143a3576000806143a0614ea8565b50505b505a6143ad6150f3565b50505050501580156143cc573d6000803e3d60006143c9614ea8565b50505b505050506040513d60408110156143eb576000806143e8614ea8565b50505b810190808051929190602001805193955092935061440c9250614a09915050565b6001600160a01b031663866452748484846040516001600160e01b031960e086901b1681526001600160a01b0390931660048401526024830191909152604482015260640160006040518083038160008780610fb2614f6e565b60006132c1838363ffffffff6149bb16565b6000670de0b6b3a7640000614493848463ffffffff614a1e16565b8161449a57fe5b049392505050565b6000818152600360205280604081206000906144bc614f13565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b6020820152603181019190915260510160405160208183030381529060405290611b6b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614559578082015183820152602001614541565b50505050905090810190601f1680156145865780820380516001836020036101000a031916815260200191505b50925050506040518091039061459a614ea8565b5050509050919050565b6000610c816e466c657869626c6553746f7261676560881b6144a2565b6000610c817044656c6567617465417070726f76616c7360781b6144a2565b6000610c816822bc31b430b733b2b960b91b6144a2565b60008383106146065783614608565b825b905061461686828585614a7d565b631cd554d160e21b6000908152600560205260409020600090614637614f13565b906101000a90046001600160a01b03166001600160a01b0316639dc29fac86836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614698614f6e565b1580156146ad576000806146aa614ea8565b50505b505a6146b7614fba565b5050505050501580156146d7573d6000803e3d60006146d4614ea8565b50505b505050506146e361219a565b6001600160a01b031663d685743a631cd554d160e21b73__$7f049114de1448f1f37beb78d0ca94acee$__63907af6c06040518163ffffffff1660e01b81526004016020604051808303818680614738614f6e565b15801561474d5760008061474a614ea8565b50505b505a614757615200565b5050505050158015614776573d6000803e3d6000614773614ea8565b50505b505050506040513d602081101561479557600080614792614ea8565b50505b81019080805192506040915050516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806147d9614f6e565b1580156147ee576000806147eb614ea8565b50505b505a6147f8614fba565b505050505050158015614818573d6000803e3d6000614815614ea8565b50505b505050506148258661433b565b95945050505050565b6000610c816b4c69717569646174696f6e7360a01b6144a2565b60006132c183836b033b2e3c9fd0803ce80000006148b2565b60006132c183836b033b2e3c9fd0803ce8000000614e0b565b6000610efc82633b9aca0063ffffffff614a1e16565b60006305f5e10082046005600a8206106148a857600a015b600a900492915050565b6000806148d8846148cc87600a870263ffffffff614a1e16565b9063ffffffff614e3616565b90506005600a825b06106148ea57600a015b600a9004949350505050565b6000610c817021b7b63630ba32b930b626b0b730b3b2b960791b6144a2565b6000828201838110156132c15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390614974614ea8565b50509392505050565b6000610c8172115d1a195c90dbdb1b185d195c985b1cd554d1606a1b6144a2565b6000610c816e115d1a195c90dbdb1b185d195c985b608a1b6144a2565b60006132c18383670de0b6b3a7640000614e0b565b6000610c816e53796e746865746978457363726f7760881b6144a2565b6000610c816d2932bbb0b93222b9b1b937bbab1960911b6144a2565b6000610c8166119959541bdbdb60ca1b6144a2565b600082614a2d57506000610efc565b82820282848281614a3a57fe5b04146132c15760405162461bcd60e51b81526004018080602001828103825260218152602001806153546021913960400191505060405180910390614974614ea8565b6000614a87613b9f565b90506000614a9b838663ffffffff6132c816565b905060008115614b74576000614ab7878463ffffffff61484816565b9050614b708173__$7f049114de1448f1f37beb78d0ca94acee$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680614afc614f6e565b158015614b1157600080614b0e614ea8565b50505b505a614b1b615200565b5050505050158015614b3a573d6000803e3d6000614b37614ea8565b50505b505050506040513d6020811015614b5957600080614b56614ea8565b50505b8101908080519392505063ffffffff614915169050565b9150505b84861415614c9057826001600160a01b031663a764eb458860006040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614bcf614f6e565b158015614be457600080614be1614ea8565b50505b505a614bee614fba565b505050505050158015614c0e573d6000803e3d6000614c0b614ea8565b50505b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b815260040160006040518083038160008780614c48614f6e565b158015614c5d57600080614c5a614ea8565b50505b505a614c67614fba565b505050505050158015614c87573d6000803e3d6000614c84614ea8565b50505b50505050614d50565b6000614ca2868863ffffffff6132c816565b90506000614cb6828563ffffffff61484816565b9050846001600160a01b031663a764eb458a836040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780614d0a614f6e565b158015614d1f57600080614d1c614ea8565b50505b505a614d29614fba565b505050505050158015614d49573d6000803e3d6000614d46614ea8565b50505b5050505050505b6001600160a01b038316633d31e97b614d8e838363463177126040518163ffffffff1660e01b81526004016020604051808303818680614054614f6e565b6040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780614dc2614f6e565b158015614dd757600080614dd4614ea8565b50505b505a614de1614fba565b505050505050158015614dfe573d6000803e3d6000612b68614ea8565b5050505050505050505050565b600080600a8304614e22868663ffffffff614a1e16565b81614e2957fe5b0490506005600a826148e0565b6000808211614e945760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015260640160405180910390614e91614ea8565b50505b6000828481614e9f57fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015614ee0578086015182820160400152602001614ec5565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610f2057600082820152602001614f57565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f57565b6385979f76598160e01b8152614feb565b8080831115610efc575090919050565b8080831015610efc575090919050565b836004820152846024820152606060448201528760648201526084810160005b8981101561502357808901518282015260200161500b565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596150788e3d614fdb565b8d016150848187614fcb565b5b828110156150995760008152602001615085565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020614f57565b638540661f598160e01b81525b836004820152846024820152606060448201528660648201526084810160005b88811015615138578088015182820152602001615120565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af1505961518d8d3d614fdb565b8c016151998187614fcb565b5b828110156151ae576000815260200161519a565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f57565b63ffe73914598160e01b8152615100565b8161521a614f13565b81836152246150a5565b505081811115610f205781836000526020600020610f20928101910161528b565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020614f57565b610c8491905b808211156152b057600080826152a56150a5565b505050600101615291565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704973737565723a204f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0x0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "addPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x849cf588"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "pynthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x47a9b6db"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e99bda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x835e119c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb06e8c65"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9a5154b4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x497d704a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2b3f41aa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnPynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbff4fdfc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatioAndAnyRatesInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae3bbbbb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getPynths",
					"outputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b6afe40"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8977132"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd864ccf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x042e0688"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x44ec6b62"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd3d2b2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa63c4df4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05b3c1c9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1137aedf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b887dae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7168d2c2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b2213f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b1001b7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferablePeriFinanceAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6bed0415"
				}
			],
			"source": {
				"keccak256": "0x99427c7a4a9d24d9ba70b50c0673d2332583cb284a42a9ada75a2ac3ddf9a27f",
				"urls": [
					"bzz-raw://6bf5002bfd84db183416a93e2cb098d009cbeff9f94a0ffd3f917f02b82c6084",
					"dweb:/ipfs/QmPEzJvcnzE4aNHwnAbY8a1UXsumhpwAL8FfR9bYjhV1SD"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"IssuerWithoutLiquidations.sol": "IssuerWithoutLiquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"IssuerWithoutLiquidations.sol": {
						"keccak256": "0x99427c7a4a9d24d9ba70b50c0673d2332583cb284a42a9ada75a2ac3ddf9a27f",
						"urls": [
							"bzz-raw://6bf5002bfd84db183416a93e2cb098d009cbeff9f94a0ffd3f917f02b82c6084",
							"dweb:/ipfs/QmPEzJvcnzE4aNHwnAbY8a1UXsumhpwAL8FfR9bYjhV1SD"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "60806040523480156200001c5760008062000019620002ba565b50505b50604051620030fc380380620030fc833981810160405260608110156200004d576000806200004a620002ba565b50505b81019080805192919060200180519291906020018051925082915084905060018060006200007a62000327565b5050506001600160a01b038116620000e35760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000e0620002ba565b50505b8060018080620000f26200038b565b816001600160a01b0302191690836001600160a01b03160217906200011662000327565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a1506000806001620001706200038b565b906101000a90046001600160a01b03166001600160a01b03161415620001db5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620001d8620002ba565b50505b80600461010081620001ec6200038b565b816001600160a01b0302191690836001600160a01b03160217906200021062000327565b505050506001600160a01b0382166200027a5760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c65720000000000000060448201526064016040518091039062000277620002ba565b50505b8160096001816200028a6200038b565b816001600160a01b0302191690836001600160a01b0316021790620002ae62000327565b505050505050620003d8565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620002f4578086015182820160400152602001620002d7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60005b604081101562000386576000828201526020016200036d565b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206200036d565b612d1480620003e86000396000f3fe60806040523480156100195760008061001661288b565b50505b50600436106101f95760003560e01c80637418536011610118578063b225dbaa116100ab578063f32ffd691161007a578063f32ffd6914610575578063f61f5df614610609578063f6b584791461063e578063fc9c99ac146106e2576101f9565b8063b225dbaa14610512578063ccb6e043146102fb578063ce7fccba14610538578063dea021a51461056d576101f9565b806391b4ded9116100e757806391b4ded9146104a7578063937ffb8f146104af5780639865fdb7146104d5578063ae934a7a146104dd576101f9565b8063741853601461043457806379ba50971461043c578063899ffef4146104445780638da5cb5b1461049f576101f9565b80632af64bd31161019057806355aa41bf1161015f57806355aa41bf146103d85780635c975abb146103fe5780636fe4136b14610406578063706848d21461040e576101f9565b80632af64bd31461036a57806338dfa8cf146103725780633dbf12fa146103a157806353a47bb7146103d0576101f9565b806316841952116101cc57806316841952146102ad57806316c38b3c146102d3578063175c5189146102fb57806321cad77414610335576101f9565b806304f3bcec14610207578063056097ac1461022b578063086146d2146102645780631627540c1461027e575b60008061020461288b565b50505b61020f6106ea565b6040516001600160a01b03909116815260200160405180910390f35b6102626004803603604081101561024a5760008061024761288b565b50505b506001600160a01b0381358116916020013516610709565b005b61026c610961565b60405190815260200160405180910390f35b6102626004803603602081101561029d5760008061029a61288b565b50505b50356001600160a01b0316610973565b610262600480360360208110156102cc576000806102c961288b565b50505b50356109ee565b610262600480360360208110156102f2576000806102ef61288b565b50505b50351515610d44565b6103216004803603602081101561031a5760008061031761288b565b50505b5035610e1a565b604051901515815260200160405180910390f35b610262600480360360408110156103545760008061035161288b565b50505b50803590602001356001600160a01b0316610e44565b610321610fa3565b610262600480360360208110156103915760008061038e61288b565b50505b50356001600160a01b0316611132565b610262600480360360208110156103c0576000806103bd61288b565b50505b50356001600160a01b031661137b565b61020f611459565b61026c600480360360208110156103f7576000806103f461288b565b50505b5035611465565b610321611484565b61020f61149d565b61026c6004803603602081101561042d5760008061042a61288b565b50505b50356114a7565b6102626114c0565b6102626116f4565b61044c611879565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561048b578082015183820152602001610473565b505050509050019250505060405180910390f35b61020f6118f8565b61026c611904565b61026c600480360360208110156104ce576000806104cb61288b565b50505b5035611911565b61026c61192a565b610262600480360360408110156104fc576000806104f961288b565b50505b506001600160a01b038135169060200135611a56565b610262600480360360208110156105315760008061052e61288b565b50505b5035611c4a565b61026c600480360360408110156105575760008061055461288b565b50505b506001600160a01b038135169060200135611d4c565b61020f611d5f565b610262600480360360208110156105945760008061059161288b565b50505b8101906020810181356401000000008111156105b8576000806105b561288b565b50505b8201836020820111156105d3576000806105d061288b565b50505b803590602001918460208302840111640100000000831117156105fe576000806105fb61288b565b50505b509092509050611d81565b61026c600480360360408110156106285760008061062561288b565b50505b506001600160a01b038135169060200135611eb0565b61026c6004803603604081101561065d5760008061065a61288b565b50505b6001600160a01b0382351691908101906040810160208201356401000000008111156106915760008061068e61288b565b50505b8201836020820111156106ac576000806106a961288b565b50505b803590602001918460208302840111640100000000831117156106d7576000806106d461288b565b50505b509092509050611ee2565b61026c611f32565b600160046106f66128f6565b906101000a90046001600160a01b031681565b610711611f3e565b61071a81611fb9565b61072261208f565b6001600160a01b0316826001600160a01b031614156107905760405162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e0000000000000060448201526064016040518091039061078d61288b565b50505b8160006001600160a01b0382166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156107f8576000828201526020016107e1565b5050506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610835612951565b15801561084a5760008061084761288b565b50505b505a61085461299d565b5050505050158015610873573d6000803e3d600061087061288b565b50505b505050506040513d60208110156108925760008061088f61288b565b50505b8101908080519350505081151590506108f15760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b6044820152606401604051809103906108ee61288b565b50505b61090b6001600160a01b038316848363ffffffff6120a616565b7f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe68484836040516001600160a01b039384168152919092166020820152604080820192909252606001905180910390a150505050565b6000600661096d6128f6565b90505b90565b61097b611f3e565b8060026001816109896128f6565b816001600160a01b0302191690836001600160a01b03160217906109ab612a88565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b600060096109fa6128f6565b906101000a90046001600160a01b03166001600160a01b03165a610a1c612ad6565b6001600160a01b031614610a7f5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015260640160405180910390610a7c61288b565b50505b6000610a8961208f565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b6040811015610aed57600082820152602001610ad6565b5050506040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610b2a612951565b158015610b3f57600080610b3c61288b565b50505b505a610b4961299d565b5050505050158015610b68573d6000803e3d6000610b6561288b565b50505b505050506040513d6020811015610b8757600080610b8461288b565b50505b810190808051935060009250610bb1915060079050610ba46128f6565b839063ffffffff61210216565b905080831115610c105760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015260640160405180910390610c0d61288b565b50505b6000600860006006610c206128f6565b81526020019081526020016000209050838060028301610c3e612a88565b50505083816003018190610c50612a88565b50600191508290508181610c626128f6565b8160ff02191690831515021790610c77612a88565b505050610c94846007610c886128f6565b9063ffffffff61216716565b806007610c9f612a88565b5050507ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f6006610ccd6128f6565b8560405191825260208201526040908101905180910390a1610cf460016006610c886128f6565b806006610cff612a88565b5050507f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307326006610d2d6128f6565b60405190815260200160405180910390a150505050565b610d4c611f3e565b60006004610d586128f6565b906101000a900460ff1615158115151415610d7257610e17565b806004600181610d806128f6565b8160ff02191690831515021790610d95612a88565b5050506004600090610da56128f6565b906101000a900460ff1615610dcc575a610dbd612b1c565b806003610dc8612a88565b5050505b7f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec560006004610df96128f6565b906101000a900460ff16604051901515815260200160405180910390a15b50565b6000818152600860205260408120600090610e336128f6565b906101000a900460ff169050919050565b610e4c6121cf565b6001600160a01b03165a610e5e612ad6565b6001600160a01b031614610ec15760405162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015260640160405180910390610ebe61288b565b50505b6000600860006006610ed16128f6565b81526020019081526020016000206001600160a01b038316600090815260048201602052909150610f0a90849060409020610c886128f6565b6001600160a01b038316600090815260048301602052604090208190610f2e612a88565b505050610f418382600101610c886128f6565b8060018301610f4e612a88565b505050816001600160a01b03167f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866846006610f876128f6565b60405191825260208201526040908101905180910390a2505050565b60006060610faf611879565b905060005b8151811015611129576000828281518110610fcb57fe5b60200260200101516000818152600560205290915060409020600090610fef6128f6565b6001600160a01b036101009290920a9004166001600461100d6128f6565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061105e612951565b1580156110735760008061107061288b565b50505b505a61107d61299d565b505050505015801561109c573d6000803e3d600061109961288b565b50505b505050506040513d60208110156110bb576000806110b861288b565b50505b8101908080516001600160a01b03169390931415925082915061110f9050575060008181526005602052604081206000906110f46128f6565b906101000a90046001600160a01b03166001600160a01b0316145b156111205760009350505050610970565b50600101610fb4565b50600191505090565b61113a611f3e565b61114381611fb9565b600061114d61208f565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156111b15760008282015260200161119a565b5050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806111ee612951565b1580156112035760008061120061288b565b50505b505a61120d61299d565b505050505015801561122c573d6000803e3d600061122961288b565b50505b505050506040513d602081101561124b5760008061124861288b565b50505b8101908080519350505081151590506112aa5760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b6044820152606401604051809103906112a761288b565b50505b60006112b96007610ba46128f6565b90506000811161130f5760405162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b60448201526064016040518091039061130c61288b565b50505b611332838261131c61208f565b6001600160a01b0316919063ffffffff6120a616565b7f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee383826040516001600160a01b03909216825260208201526040908101905180910390a1505050565b611383611f3e565b6001600160a01b0381166113e65760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c6572000000000000006044820152606401604051809103906113e361288b565b50505b8060096001816113f46128f6565b816001600160a01b0302191690836001600160a01b0316021790611416612a88565b5050507fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc816040516001600160a01b03909116815260200160405180910390a150565b600060026106f66128f6565b600081815260086020526040812060010161147e6128f6565b92915050565b600060046114906128f6565b906101000a900460ff1681565b600061096d61208f565b600081815260086020526040812060030161147e6128f6565b60606114ca611879565b905060005b81518110156116f05760008282815181106114e657fe5b602002602001015190506000600160046114fe6128f6565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115b357808201518382015260200161159b565b50505050905090810190601f1680156115e05780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186806115f9612951565b15801561160e5760008061160b61288b565b50505b505a61161861299d565b5050505050158015611637573d6000803e3d600061163461288b565b50505b505050506040513d60208110156116565760008061165361288b565b50505b810190808051600086815260056020529094508493506040925090502060018161167e6128f6565b816001600160a01b0302191690836001600160a01b03160217906116a0612a88565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a150506001016114cf565b5050565b600060026117006128f6565b906101000a90046001600160a01b03166001600160a01b03165a611722612ad6565b6001600160a01b0316146117705760405162461bcd60e51b8152600401808060200182810382526035815260200180612c29603591396040019150506040518091039061176d61288b565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000600161179d6128f6565b906101000a90046001600160a01b031660026000906117ba6128f6565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060026117f96128f6565b906101000a90046001600160a01b0316600160006101000a8161181a6128f6565b816001600160a01b0302191690836001600160a01b031602179061183c612a88565b5050506000600260006101000a816118526128f6565b816001600160a01b0302191690836001600160a01b0316021790611874612a88565b505050565b606060026040519080825280602002602001820160405280156118a6578160200160208202803883390190505b5090506822bc31b430b733b2b960b91b816000815181106118c357fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106118e957fe5b60200260200101818152505090565b600060016106f66128f6565b600361190e6128f6565b81565b600081815260086020526040812060020161147e6128f6565b600061096d60076119396128f6565b61194161208f565b6001600160a01b03166370a082315a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156119a55760008282015260200161198e565b5050506040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186806119e2612951565b1580156119f7576000806119f461288b565b50505b505a611a0161299d565b5050505050158015611a20573d6000803e3d6000611a1d61288b565b50505b505050506040513d6020811015611a3f57600080611a3c61288b565b50505b8101908080519392505063ffffffff612102169050565b611a5e611f3e565b611a6782611fb9565b6006611a716128f6565b8110611acc5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015260640160405180910390611ac961288b565b50505b60008181526008602052604081209050600081600301611aea6128f6565b11611b445760405162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015260640160405180910390611b4161288b565b50505b600081600301611b526128f6565b9050611b61848261131c61208f565b611b7b816007611b6f6128f6565b9063ffffffff61210216565b806007611b86612a88565b5050506000838152600860205260409020600081600181611ba56128f6565b9060ff02191690611bb4612a88565b505060018201600090611bc5612a88565b505060028201600090611bd6612a88565b505060038201600090611be7612a88565b505050507f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c84828560405180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060405180910390a150505050565b60016000808282611c596128f6565b019250508190611c67612a88565b505050600080611c756128f6565b905060006004611c836128f6565b906101000a900460ff1615611cd25760405162461bcd60e51b815260040180806020018281038252603c815260200180612cae603c913960400191505060405180910390611ccf61288b565b50505b611ce45a611cde612ad6565b836121e6565b6000611cee6128f6565b81146116f05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390611d4661288b565b50505050565b6000611d588383612380565b9392505050565b6000806009611d6c6128f6565b906101000a90046001600160a01b0316905090565b60016000808282611d906128f6565b019250508190611d9e612a88565b505050600080611dac6128f6565b905060006004611dba6128f6565b906101000a900460ff1615611e095760405162461bcd60e51b815260040180806020018281038252603c815260200180612cae603c913960400191505060405180910390611e0661288b565b50505b60005b82811015611e46576000848483818110611e2257fe5b905060200201359050611e3d5a611e37612ad6565b826121e6565b50600101611e0c565b506000611e516128f6565b81146118745760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640160405180910390611ea961288b565b5050505050565b60008181526008602052604081206001600160a01b038416600090815260049190910160205260409020611d586128f6565b6000805b82811015611f2a576000848483818110611efc57fe5b905060200201359050611f1f611f128783612380565b849063ffffffff61216716565b925050600101611ee6565b509392505050565b6000600761096d6128f6565b60006001611f4a6128f6565b906101000a90046001600160a01b03166001600160a01b03165a611f6c612ad6565b6001600160a01b031614611fb75760405162461bcd60e51b815260040180806020018281038252602f815260200180612c5e602f9139604001915050604051809103906116f061288b565b565b6001600160a01b038116158061203857505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b604081101561202057600082820152602001612009565b5050506001600160a01b0316816001600160a01b0316145b15610e175760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f766572206164647265737300000000000000000060448201526064016040518091039061187461288b565b600061096d680a6f2dce8d0cae8d2f60bb1b612458565b6118748363a9059cbb60e01b84846040516001600160a01b0390921660248301526044820152606401604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0316909117905261255a565b6000828211156121615760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000060448201526064016040518091039061215e61288b565b50505b50900390565b600082820183811015611d585760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401604051809103906121c661288b565b50509392505050565b600061096d6822bc31b430b733b2b960b91b612458565b600081815260086020526040812090506000816122016128f6565b906101000a900460ff166122645760405162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a656400000000000000000060448201526064016040518091039061226161288b565b50505b60006122708484612380565b9050600081116122c65760405162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b6044820152606401604051809103906122c361288b565b50505b6001600160a01b0384166000908152600483016020526040812081906122ea612a88565b5050506122fd8183600301611b6f6128f6565b806003840161230a612a88565b50505061231b816007611b6f6128f6565b806007612326612a88565b505050612336848261131c61208f565b836001600160a01b03167fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325828560405191825260208201526040908101905180910390a250505050565b60008181526008602052806040812090508060030161239d6128f6565b15806123b25750806001016123b06128f6565b155b806123cf57506000816123c36128f6565b906101000a900460ff16155b156123de57600091505061147e565b6001600160a01b038416600090815260048201602052604081206124006128f6565b9050806124125760009250505061147e565b6000612430836001016124236128f6565b839063ffffffff61275116565b905061244e836002016124416128f6565b829063ffffffff61277b16565b9695505050505050565b6000818152600560205280604081206000906124726128f6565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b60208201526031810191909152605101604051602081830303815290604052906125535760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561250f5780820151838201526020016124f7565b50505050905090810190601f16801561253c5780820380516001836020036101000a031916815260200191505b50925050506040518091039061255061288b565b50505b5092915050565b61256c826001600160a01b03166127a5565b6125c55760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e7472616374006044820152606401604051809103906125c261288b565b50505b60006060836001600160a01b0316836040518082805190602001908083835b602083106126035780518252601f1990920191602091820191016125e4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865a61263d612b62565b5050505050509150503d8060008114612672576040513d603f01601f191681016040523d815291503d6000602084013e612677565b606091505b5091509150816126d65760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646044820152606401604051809103906126d361288b565b50505b600081511115611d465760208101815160208110156126fd576000806126fa61288b565b50505b8101908080519250611d469150505760405162461bcd60e51b815260040180806020018281038252602a815260200180612cea602a91396040019150506040518091039061274961288b565b505050505050565b6000611d588261276f85670de0b6b3a764000063ffffffff6127ba16565b9063ffffffff61281916565b6000670de0b6b3a7640000612796848463ffffffff6127ba16565b8161279d57fe5b049392505050565b600080826127b1612951565b15159392505050565b6000826127c95750600061147e565b828202828482816127d657fe5b0414611d585760405162461bcd60e51b8152600401808060200182810382526021815260200180612c8d60219139604001915050604051809103906121c661288b565b60008082116128775760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016040518091039061287461288b565b50505b600082848161288257fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156128c35780860151828201604001526020016128a8565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156118745760008282015260200161293a565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061293a565b638540661f598160e01b81526129ce565b808083111561147e575090919050565b808083101561147e575090919050565b836004820152846024820152606060448201528660648201526084810160005b88811015612a065780880151828201526020016129ee565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af15059612a5b8d3d6129be565b8c01612a6781876129ae565b5b82811015612a7c5760008152602001612a68565b50929c50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602061293a565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061293a565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061293a565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015612ba6578089015182820152602001612b8e565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059612bfb8e3d6129be565b8d01612c0781876129ae565b5b82811015612c1c5760008152602001612c08565b50929d5050505050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "periodController",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "AssignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeRecorded",
					"type": "event",
					"signature": "0x927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf866"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "NewPeriodStarted",
					"type": "event",
					"signature": "0x4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a230732"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "PeriodControllerChanged",
					"type": "event",
					"signature": "0xb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "PeriodFinalizedWithRewards",
					"type": "event",
					"signature": "0xfa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "RewardsClaimed",
					"type": "event",
					"signature": "0xdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "TokensRecovered",
					"type": "event",
					"signature": "0x401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "UnassignedRewardTokensRecovered",
					"type": "event",
					"signature": "0x14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "claimRewardsForPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb225dbaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "claimRewardsForPeriods",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf32ffd69"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rewards",
							"type": "uint256"
						}
					],
					"name": "closeCurrentPeriodWithRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16841952"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc9c99ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce7fccba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "periodIDs",
							"type": "uint256[]"
						}
					],
					"name": "getAvailableRewardsForAccountForPeriods",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRewards",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf6b58479"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrentPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086146d2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodAvailableRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x706848d2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPeriodController",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdea021a5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x175c5189"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodIsFinalized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xccb6e043"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodRecordedFees",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55aa41bf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getPeriodTotalRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x937ffb8f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardsToken",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6fe4136b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "getUnaccountedFeesForAccountForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf61f5df6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getUnassignedRewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9865fdb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdFeeAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "recordExchangeFeeForAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x21cad774"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodID",
							"type": "uint256"
						}
					],
					"name": "recoverAssignedRewardTokensAndDestroyPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xae934a7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x056097ac"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverUnassignedRewardTokens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38dfa8cf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newPeriodController",
							"type": "address"
						}
					],
					"name": "setPeriodController",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3dbf12fa"
				}
			],
			"source": {
				"keccak256": "0x3fbe8cf371e950c955a31dae617ca17fbeffc29d6c18039a533ad3325e9e42b2",
				"urls": [
					"bzz-raw://0334251902d803426e0864c0fdaefdd5b0efed7d337c37f61ca68101c1e4ae98",
					"dweb:/ipfs/QmTmrD9z8NcEParTggtDWVmPPgG8wnR63QqsdnSsQZQpWj"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TradingRewards.sol": "TradingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TradingRewards.sol": {
						"keccak256": "0x3fbe8cf371e950c955a31dae617ca17fbeffc29d6c18039a533ad3325e9e42b2",
						"urls": [
							"bzz-raw://0334251902d803426e0864c0fdaefdd5b0efed7d337c37f61ca68101c1e4ae98",
							"dweb:/ipfs/QmTmrD9z8NcEParTggtDWVmPPgG8wnR63QqsdnSsQZQpWj"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "60806040523480156100195760008061001661008a565b50505b506040516106f43803806106f4833981810160405260208110156100455760008061004261008a565b50505b81019080805192508291506000905060018161005f6100f5565b816001600160a01b0302191690836001600160a01b0316021790610081610155565b505050506101a3565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156100c25780860151828201604001526020016100a7565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561015057600082820152602001610139565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020610139565b610542806101b26000396000f3fe608060405234801561001957600080610016610306565b50505b506004361061003f5760003560e01c8063449d0eb11461004d5780639514c232146100b5575b60008061004a610306565b50505b61007c6004803603602081101561006c57600080610069610306565b50505b50356001600160a01b03166100d9565b604051808261020080838360005b838110156100a257808201518382015260200161008a565b5050505090500191505060405180910390f35b6100bd6102e8565b6040516001600160a01b03909116815260200160405180910390f35b6100e1610371565b6100e9610371565b600080806100f561038e565b906101000a90046001600160a01b03166001600160a01b031663204b676a856040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061014e6103ee565b15801561016357600080610160610306565b50505b505a61016d61043a565b505050505015801561018c573d6000803e3d6000610189610306565b50505b505050506040513d60208110156101ab576000806101a8610306565b50505b81019080805193506000925050505b818110156102df576101ca610527565b6000806101d561038e565b906101000a90046001600160a01b03166001600160a01b031663da7bd3e987846040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401604080518083038186806102336103ee565b15801561024857600080610245610306565b50505b505a61025261043a565b5050505050158015610271573d6000803e3d600061026e610306565b50505b50505050604051601f3d908101601f19168201604090815281101561029e5760008061029b610306565b50505b50905080518483600202601081106102b257fe5b602002015280600160200201518483600202600101601081106102d157fe5b6020020152506001016101ba565b50909392505050565b6000806102f361038e565b906101000a90046001600160a01b031681565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561033e578086015182820160400152602001610323565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b604051610200808201604052601090829080388339509192915050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156103e9576000828201526020016103d2565b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206103d2565b638540661f598160e01b815261046d565b80808311156104575750815b92915050565b8080831015610457575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156104a557808801518282015260200161048d565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596104fa8d3d61045d565b8c01610506818761044b565b5b8281101561051b5760008152602001610507565b50929c50505050505050565b6040516040808201815260029082908038833950919291505056",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[16]",
							"name": "",
							"type": "uint256[16]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance_escrow",
					"outputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9514c232"
				}
			],
			"source": {
				"keccak256": "0x0f4ba7bb7e5e1693c90c7133fd0e50e9a2e1e09d8b73dbbf639e36643ac2c66e",
				"urls": [
					"bzz-raw://b1f1aa9169f9bb4e85571f2a515bc737b0374f92c7860de51f7b3d183a18cebf",
					"dweb:/ipfs/QmS3bn3uiHrKQcVe6mTDvsYzRXLDt7m7wqqmcb3vPHVQJt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0x0f4ba7bb7e5e1693c90c7133fd0e50e9a2e1e09d8b73dbbf639e36643ac2c66e",
						"urls": [
							"bzz-raw://b1f1aa9169f9bb4e85571f2a515bc737b0374f92c7860de51f7b3d183a18cebf",
							"dweb:/ipfs/QmS3bn3uiHrKQcVe6mTDvsYzRXLDt7m7wqqmcb3vPHVQJt"
						]
					}
				},
				"version": 1
			}
		},
		"Pynth": {
			"bytecode": "60806040523480156200001c5760008062000019620005c0565b50505b50604051620040cf380380620040cf83398181016040526101008110156200004e576000806200004b620005c0565b50505b8101908080519291906020018051929190602001805160405193929190846401000000008211156200008a5760008062000087620005c0565b50505b908301906020820185811115620000ab57600080620000a8620005c0565b50505b8251640100000000811182820188101715620000d157600080620000ce620005c0565b50505b825250602001908051906020019080838360005b83811015620000ff578082015183820152602001620000e5565b50505050905090810190601f1680156200012d5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200015c5760008062000159620005c0565b50505b9083019060208201858111156200017d576000806200017a620005c0565b50505b8251640100000000811182820188101715620001a357600080620001a0620005c0565b50505b825250602001908051906020019080838360005b83811015620001d1578082015183820152602001620001b7565b50505050905090810190601f168015620001ff5780820380516001836020036101000a031916815260200191505b50604052602001805192919060200180519291906020018051929190602001805192508291508990508888888660128a86816001600160a01b038116620002975760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f7420626520300000000000000060448201526064016040518091039062000294620005c0565b50505b806000600181620002a76200062d565b816001600160a01b0302191690836001600160a01b0316021790620002cb6200068f565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a15060008080620003246200062d565b906101000a90046001600160a01b03166001600160a01b031614156200038f5760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b6044820152606401604051809103906200038c620005c0565b50505b8060026001816200039f6200062d565b816001600160a01b0302191690836001600160a01b0316021790620003c36200068f565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150856005600181620004146200062d565b816001600160a01b0302191690836001600160a01b0316021790620004386200068f565b50505084600690805162000451929160200190620006de565b50600784805162000467929160200190620006de565b5082806008620004766200068f565b50505081600960006101000a816200048d6200062d565b8160ff021916908360ff16021790620004a56200068f565b5050505050505050505080600960016101000a81620004c36200062d565b816001600160a01b0302191690836001600160a01b0316021790620004e76200068f565b505050506001600160a01b038816620005465760405162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b60448201526064016040518091039062000543620005c0565b50505b6001600160a01b038416620005a15760405162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b6044820152606401604051809103906200059e620005c0565b50505b8280600b620005af6200068f565b5050505050505050505050620007ba565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620005fa578086015182820160400152602001620005dd565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200068a5760008282015260200162000671565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000671565b8280620006ea6200062d565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200073557805160ff191683800117856200072d6200068f565b50506200077b565b82800160010185620007466200068f565b505082156200077b579182015b828111156200077b57825182620007696200068f565b50509160200191906001019062000753565b50620007899291506200078d565b5090565b620007b791905b80821115620007895760008082620007ab6200068f565b50505060010162000794565b90565b61390580620007ca6000396000f3fe608060405234801561001957600080610016613480565b50505b506004361061020f5760003560e01c806395d89b4111610123578063d67bdd25116100b6578063e90dd9e211610085578063e90dd9e214610691578063eb1edd6114610699578063ec556889146106a1578063f7ea7a3d146106a9578063ffff51d6146106cf5761020f565b8063d67bdd251461060b578063dbd06c8514610613578063dd62ed3e1461061b578063e73cced3146106525761020f565b80639f769807116100f25780639f76980714610543578063a9059cbb14610572578063b014c3a3146105a7578063bc67f832146105dc5761020f565b806395d89b41146104cf57806397107d6d146104d75780639cbdaeb6146105065780639dc29fac1461050e5761020f565b80632e0f2625116101a65780637418536011610175578063741853601461042757806379ba50971461042f578063867904b414610437578063899ffef41461046c5780638da5cb5b146104c75761020f565b80632e0f2625146103ca578063313ce567146103e857806353a47bb7146103f057806370a08231146103f85761020f565b80631627540c116101e25780631627540c1461033a57806318160ddd1461036957806323b872dd146103835780632af64bd3146103c25761020f565b806304f3bcec1461021d57806306fdde0314610241578063095ea7b3146102c0578063131b0ae714610309575b60008061021a613480565b50505b6102256106fe565b6040516001600160a01b03909116815260200160405180910390f35b61024961071d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561028557808201518382015260200161026d565b50505050905090810190601f1680156102b25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102f5600480360360408110156102df576000806102dc613480565b50505b506001600160a01b0381351690602001356107d6565b604051901515815260200160405180910390f35b6103386004803603602081101561032857600080610325613480565b50505b50356001600160a01b03166108d4565b005b6103386004803603602081101561035957600080610356613480565b50505b50356001600160a01b0316610912565b61037161098c565b60405190815260200160405180910390f35b6102f5600480360360608110156103a25760008061039f613480565b50505b506001600160a01b03813581169160208101359091169060400135610999565b6102f56109c0565b6103d2610b50565b60405160ff909116815260200160405180910390f35b6103d2610b55565b610225610b6e565b6103716004803603602081101561041757600080610414613480565b50505b50356001600160a01b0316610b7a565b610338610c4e565b610338610e82565b6103386004803603604081101561045657600080610453613480565b50505b506001600160a01b038135169060200135611005565b6104746110e3565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156104b357808201518382015260200161049b565b505050509050019250505060405180910390f35b6102256111ac565b6102496111b7565b610338600480360360208110156104f6576000806104f3613480565b50505b50356001600160a01b0316611259565b6102256112d4565b6103386004803603604081101561052d5760008061052a613480565b50505b506001600160a01b0381351690602001356112e0565b610338600480360360208110156105625760008061055f613480565b50505b50356001600160a01b03166113bf565b6102f5600480360360408110156105915760008061058e613480565b50505b506001600160a01b038135169060200135611406565b6102f5600480360360408110156105c6576000806105c3613480565b50505b506001600160a01b0381351690602001356114cb565b610338600480360360208110156105fb576000806105f8613480565b50505b50356001600160a01b03166116fb565b610225611711565b61037161171d565b6103716004803603604081101561063a57600080610637613480565b50505b506001600160a01b0381358116916020013516611727565b6102f5600480360360608110156106715760008061066e613480565b50505b506001600160a01b03813581169160208101359091169060400135611802565b6102256119ea565b6102256119f6565b610225611a0e565b610338600480360360208110156106c8576000806106c5613480565b50505b5035611a1a565b610371600480360360208110156106ee576000806106eb613480565b50505b50356001600160a01b0316611a2e565b6001600961070a6134eb565b906101000a90046001600160a01b031681565b6006806107286134eb565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806107626134eb565b600181600116156101000203166002900480156107ce5780601f1061079c57610100808361078e6134eb565b0402835291602001916107ce565b820191906000526020600020905b816107b36134eb565b815290600101906020018083116107aa57829003601f168201915b505050505081565b60006107e0611c0a565b60008060046107ed6134eb565b906101000a90046001600160a01b03169050600560009061080c6134eb565b906101000a90046001600160a01b03166001600160a01b031663da46098c8286866040516001600160e01b031960e086901b1681526001600160a01b03938416600482015291909216602482015260448101919091526064016000604051808303816000878061087a613546565b15801561088f5760008061088c613480565b50505b505a610899613592565b5050505050501580156108b9573d6000803e3d60006108b6613480565b50505b505050506108c8818585611ce2565b60019150505b92915050565b6108dc611e5b565b8060036001816108ea6134eb565b816001600160a01b0302191690836001600160a01b031602179061090c61367d565b50505050565b61091a611e5b565b80600180806109276134eb565b816001600160a01b0302191690836001600160a01b031602179061094961367d565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b60086109966134eb565b81565b60006109a3611c0a565b6109ad8483611ed3565b6109b88484846120c7565b949350505050565b600060606109cc6110e3565b905060005b8151811015610b465760008282815181106109e857fe5b60200260200101516000818152600a60205290915060409020600090610a0c6134eb565b6001600160a01b036101009290920a90041660016009610a2a6134eb565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610a7b613546565b158015610a9057600080610a8d613480565b50505b505a610a9a6136cb565b5050505050158015610ab9573d6000803e3d6000610ab6613480565b50505b505050506040513d6020811015610ad857600080610ad5613480565b50505b8101908080516001600160a01b031693909314159250829150610b2c905057506000818152600a60205260408120600090610b116134eb565b906101000a90046001600160a01b03166001600160a01b0316145b15610b3d5760009350505050610b4d565b506001016109d1565b5060019150505b90565b601281565b60006009610b616134eb565b906101000a900460ff1681565b6000600161070a6134eb565b6000806005610b876134eb565b906101000a90046001600160a01b03166001600160a01b03166370a08231836040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680610be0613546565b158015610bf557600080610bf2613480565b50505b505a610bff6136cb565b5050505050158015610c1e573d6000803e3d6000610c1b613480565b50505b505050506040513d6020811015610c3d57600080610c3a613480565b50505b81019080805193505050505b919050565b6060610c586110e3565b905060005b8151811015610e7e576000828281518110610c7457fe5b60200260200101519050600060016009610c8c6134eb565b906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040517f5265736f6c766572206d697373696e67207461726765743a2000000000000000602082015260398101919091526059016040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d41578082015183820152602001610d29565b50505050905090810190601f168015610d6e5780820380516001836020036101000a031916815260200191505b5093505050506020604051808303818680610d87613546565b158015610d9c57600080610d99613480565b50505b505a610da66136cb565b5050505050158015610dc5573d6000803e3d6000610dc2613480565b50505b505050506040513d6020811015610de457600080610de1613480565b50505b8101908080516000868152600a60205290945084935060409250905020600181610e0c6134eb565b816001600160a01b0302191690836001600160a01b0316021790610e2e61367d565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6882826040519182526001600160a01b031660208201526040908101905180910390a15050600101610c5d565b5050565b60006001610e8e6134eb565b906101000a90046001600160a01b03166001600160a01b03165a610eb0613791565b6001600160a01b031614610efe5760405162461bcd60e51b81526004018080602001828103825260358152602001806137d86035913960400191505060405180910390610efb613480565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610f2a6134eb565b906101000a90046001600160a01b03166001600090610f476134eb565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610f866134eb565b906101000a90046001600160a01b03166000806101000a81610fa66134eb565b816001600160a01b0302191690836001600160a01b0316021790610fc861367d565b5050506000600160006101000a81610fde6134eb565b816001600160a01b0302191690836001600160a01b031602179061100061367d565b505050565b600061100f612392565b6001600160a01b03165a611021613791565b6001600160a01b031614905060006110376123ac565b6001600160a01b03165a611049613791565b6001600160a01b0316149050600061105f6123c3565b6001600160a01b03165a611071613791565b6001600160a01b031614905082806110865750815b8061108e5750805b6110d25760405162461bcd60e51b815260040180806020018281038252603381526020018061383c60339139604001915050604051809103906110cf613480565b50505b6110dc85856123d7565b5050505050565b60606004604051908082528060200260200182016040528015611110578160200160208202803883390190505b5090506b53797374656d53746174757360a01b8160008151811061113057fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061115657fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061117957fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061119d57fe5b60200260200101818152505090565b60008061070a6134eb565b6007806111c26134eb565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806111fc6134eb565b600181600116156101000203166002900480156107ce5780601f1061122857610100808361078e6134eb565b820191906000526020600020905b8161123f6134eb565b815290600101906020018083116112365750859350505050565b611261611e5b565b80600260018161126f6134eb565b816001600160a01b0302191690836001600160a01b031602179061129161367d565b5050507ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e816040516001600160a01b03909116815260200160405180910390a150565b6000600361070a6134eb565b60006112ea612392565b6001600160a01b03165a6112fc613791565b6001600160a01b031614905060006113126123ac565b6001600160a01b03165a611324613791565b6001600160a01b0316149050600061133a6123c3565b6001600160a01b03165a61134c613791565b6001600160a01b031614905082806113615750815b806113695750805b6113ad5760405162461bcd60e51b815260040180806020018281038252603381526020018061383c60339139604001915050604051809103906113aa613480565b50505b6113b7858561259a565b505050505050565b6113c76126f3565b8060056001816113d56134eb565b816001600160a01b0302191690836001600160a01b03160217906113f761367d565b5050506114038161287e565b50565b6000611410611c0a565b6114356000600461141f6134eb565b906101000a90046001600160a01b031683611ed3565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561146b576114648383612a02565b90506108ce565b6001600160a01b03831661149e57611464600060046114886134eb565b906101000a90046001600160a01b03168361259a565b6114c4600060046114ad6134eb565b906101000a90046001600160a01b03168484612c00565b9392505050565b60006114d5611c0a565b60006114df6123ac565b6001600160a01b0316631b16802c600060046114f96134eb565b906101000a90046001600160a01b0316600b6115136134eb565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160606040518083038160008780611554613546565b15801561156957600080611566613480565b50505b505a611573613592565b505050505050158015611593573d6000803e3d6000611590613480565b50505b505050506040513d60608110156115b2576000806115af613480565b50505b81019080805192919060200180519291906020018051955087945050841592506116bb91505057600060056115e56134eb565b6001600160a01b036101009290920a9004166370a08231600060046116086134eb565b906101000a90046001600160a01b03166040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611652613546565b15801561166757600080611664613480565b50505b505a6116716136cb565b5050505050158015611690573d6000803e3d600061168d613480565b50505b505050506040513d60208110156116af576000806116ac613480565b50505b81019080805193505050505b8084116116c857836116ca565b805b93506116f2600060046116db6134eb565b906101000a90046001600160a01b03168686612c00565b95945050505050565b611703612f4e565b8060046001816108ea6134eb565b6000600461070a6134eb565b600b6109966134eb565b60008060056117346134eb565b906101000a90046001600160a01b03166001600160a01b031663dd62ed3e84846040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680611795613546565b1580156117aa576000806117a7613480565b50505b505a6117b46136cb565b50505050501580156117d3573d6000803e3d60006117d0613480565b50505b505050506040513d60208110156117f2576000806117ef613480565b50505b8101908080519695505050505050565b600061180c611c0a565b60006118166123ac565b6001600160a01b0316631b16802c86600b61182f6134eb565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160606040518083038160008780611870613546565b15801561188557600080611882613480565b50505b505a61188f613592565b5050505050501580156118af573d6000803e3d60006118ac613480565b50505b505050506040513d60608110156118ce576000806118cb613480565b50505b81019080805192919060200180519291906020018051955087945050841592506119c391505057600060056119016134eb565b906101000a90046001600160a01b03166001600160a01b03166370a08231876040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061195a613546565b15801561196f5760008061196c613480565b50505b505a6119796136cb565b5050505050158015611998573d6000803e3d6000611995613480565b50505b505050506040513d60208110156119b7576000806119b4613480565b50505b81019080805193505050505b808410156119d157836119d3565b805b93506119e08686866120c7565b9695505050505050565b6000600561070a6134eb565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6000600261070a6134eb565b611a226126f3565b8080600861090c61367d565b600080611a396123ac565b6001600160a01b03166319d5c66584600b611a526134eb565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016060604051808303818680611a91613546565b158015611aa657600080611aa3613480565b50505b505a611ab06136cb565b5050505050158015611acf573d6000803e3d6000611acc613480565b50505b505050506040513d6060811015611aee57600080611aeb613480565b50505b81019080805192919060200180519291906020018051509394506000935083925060059150611b1d90506134eb565b906101000a90046001600160a01b03166001600160a01b03166370a08231856040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680611b76613546565b158015611b8b57600080611b88613480565b50505b505a611b956136cb565b5050505050158015611bb4573d6000803e3d6000611bb1613480565b50505b505050506040513d6020811015611bd357600080611bd0613480565b50505b810190808051935050505080821115611bf157600092505050610c49565b611c01818363ffffffff61301b16565b92505050610c49565b60006002611c166134eb565b906101000a90046001600160a01b03166001600160a01b03165a611c38613791565b6001600160a01b031614158015611c84575060006003611c566134eb565b906101000a90046001600160a01b03166001600160a01b03165a611c78613791565b6001600160a01b031614155b8015611cc557505a611c94613791565b6001600160a01b031660006004611ca96134eb565b906101000a90046001600160a01b03166001600160a01b031614155b15611ce0575a611cd3613791565b6004600181610fde6134eb565b565b60006002611cee6134eb565b906101000a90046001600160a01b03166001600160a01b031663907dff978260405160200180828152602001915050604051602081830303815290604052600360405180602161389e823960210190506040518091039020611d4f88613080565b611d5888613080565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015611dc7578082015183820152602001611daf565b50505050905090810190601f168015611df45780820380516001836020036101000a031916815260200191505b5097505050505050505060006040518083038160008780611e13613546565b158015611e2857600080611e25613480565b50505b505a611e32613592565b505050505050158015611e52573d6000803e3d6000611e4f613480565b50505b50505050505050565b600080611e666134eb565b906101000a90046001600160a01b03166001600160a01b03165a611e88613791565b6001600160a01b031614611ce05760405162461bcd60e51b815260040180806020018281038252602f81526020018061386f602f913960400191505060405180910390610e7e613480565b611edb6123ac565b6001600160a01b031663059c29ec83600b611ef46134eb565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303818680611f33613546565b158015611f4857600080611f45613480565b50505b505a611f526136cb565b5050505050158015611f71573d6000803e3d6000611f6e613480565b50505b505050506040513d6020811015611f9057600080611f8d613480565b50505b810190808051159250611fe09150505760405162461bcd60e51b81526004018080602001828103825260258152602001806138bf6025913960400191505060405180910390611fdd613480565b50505b80611fea83611a2e565b10156120305760405162461bcd60e51b815260040180806020018281038252602f81526020018061380d602f91396040019150506040518091039061202d613480565b50505b61203861308c565b6001600160a01b03166342a28e21600b6120506134eb565b6040516001600160e01b031960e084901b16815260048101919091526024016000604051808303818680612082613546565b15801561209757600080612094613480565b50505b505a6120a16136cb565b50505050501580156113b7573d6000803e3d60006120bd613480565b5050505050505050565b60006000198160056120d76134eb565b6001600160a01b036101009290920a90041663dd62ed3e86600060046120fb6134eb565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381868061214c613546565b1580156121615760008061215e613480565b50505b505a61216b6136cb565b505050505015801561218a573d6000803e3d6000612187613480565b50505b505050506040513d60208110156121a9576000806121a6613480565b50505b81019080805193909314925061238791505057600060056121c86134eb565b6001600160a01b036101009290920a90041663da46098c85600060046121ec6134eb565b906101000a90046001600160a01b03166122f686600560009061220d6134eb565b6001600160a01b036101009290920a90041663dd62ed3e8b600060046122316134eb565b906101000a90046001600160a01b03166040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303818680612282613546565b15801561229757600080612294613480565b50505b505a6122a16136cb565b50505050501580156122c0573d6000803e3d60006122bd613480565b50505b505050506040513d60208110156122df576000806122dc613480565b50505b8101908080519392505063ffffffff61301b169050565b6040516001600160e01b031960e086901b1681526001600160a01b039384166004820152919092166024820152604481019190915260640160006040518083038160008780612343613546565b15801561235857600080612355613480565b50505b505a612362613592565b505050505050158015612382573d6000803e3d600061237f613480565b50505b505050505b6109b8848484612c00565b60006123a766119959541bdbdb60ca1b6130a2565b905090565b60006123a76822bc31b430b733b2b960b91b6130a2565b60006123a76524b9b9bab2b960d11b6130a2565b600060056123e36134eb565b6001600160a01b036101009290920a90041663b46310f6836124d8846000600561240b6134eb565b906101000a90046001600160a01b03166001600160a01b03166370a08231886040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612464613546565b15801561247957600080612476613480565b50505b505a6124836136cb565b50505050501580156124a2573d6000803e3d600061249f613480565b50505b505050506040513d60208110156124c1576000806124be613480565b50505b8101908080519392505063ffffffff6131a4169050565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612519613546565b15801561252e5760008061252b613480565b50505b505a612538613592565b505050505050158015612558573d6000803e3d6000612555613480565b50505b5050505061257681600861256a6134eb565b9063ffffffff6131a416565b80600861258161367d565b5050506125906000838361320c565b610e7e8282613279565b60008060056125a76134eb565b6001600160a01b036101009290920a90041663b46310f68461262885600060056125cf6134eb565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612282613546565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612669613546565b15801561267e5760008061267b613480565b50505b505a612688613592565b5050505050501580156126a8573d6000803e3d60006126a5613480565b50505b505050506126c68260086126ba6134eb565b9063ffffffff61301b16565b8060086126d161367d565b5050506126e08360008461320c565b6126ea83836133fa565b50600192915050565b600060026126ff6134eb565b906101000a90046001600160a01b03166001600160a01b03165a612721613791565b6001600160a01b03161415801561276d57506000600361273f6134eb565b906101000a90046001600160a01b03166001600160a01b03165a612761613791565b6001600160a01b031614155b80156127ae57505a61277d613791565b6001600160a01b0316600060046127926134eb565b906101000a90046001600160a01b03166001600160a01b031614155b156127ef575a6127bc613791565b60046001816127c96134eb565b816001600160a01b0302191690836001600160a01b03160217906127eb61367d565b5050505b6000806127fa6134eb565b6001600160a01b036101009290920a900416600060046128186134eb565b906101000a90046001600160a01b03166001600160a01b031614611ce05760405162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015260640160405180910390610e7e613480565b6000600261288a6134eb565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516001600160a01b0390911660208201526040908101905160208183030381529060405260016040517f546f6b656e5374617465557064617465642861646472657373290000000000008152601a01604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561297a578082015183820152602001612962565b50505050905090810190601f1680156129a75780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806129c6613546565b1580156129db576000806129d8613480565b50505b505a6129e5613592565b5050505050501580156110dc573d6000803e3d6000611e52613480565b600080600b612a0f6134eb565b631cd554d160e21b1415612a4b575081612a4560006004612a2e6134eb565b906101000a90046001600160a01b03168585612c00565b50612b68565b612a536123ac565b6001600160a01b0316630a1e187d60006004612a6d6134eb565b906101000a90046001600160a01b0316600b612a876134eb565b8673feefeefeefeefeefeefeefeefeefeefeefeefeef6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015260248101939093526044830191909152631cd554d160e21b6064830152909116608482015260a40160206040518083038160008780612afe613546565b158015612b1357600080612b10613480565b50505b505a612b1d613592565b505050505050158015612b3d573d6000803e3d6000612b3a613480565b50505b505050506040513d6020811015612b5c57600080612b59613480565b50505b81019080805193505050505b612b70612392565b6001600160a01b03166322bf55ef826040516001600160e01b031960e084901b168152600481019190915260240160006040518083038160008780612bb3613546565b158015612bc857600080612bc5613480565b50505b505a612bd2613592565b505050505050158015612bf2573d6000803e3d6000612bef613480565b50505b506001979650505050505050565b60006001600160a01b03831615801590612c8457505a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b6040811015612c6b57600082820152602001612c54565b5050506001600160a01b0316836001600160a01b031614155b8015612cbd575060006002612c976134eb565b906101000a90046001600160a01b03166001600160a01b0316836001600160a01b031614155b612d165760405162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015260640160405180910390612d13613480565b50505b60006005612d226134eb565b6001600160a01b036101009290920a90041663b46310f685612da38560006005612d4a6134eb565b906101000a90046001600160a01b03166001600160a01b03166370a082318a6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612282613546565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612de4613546565b158015612df957600080612df6613480565b50505b505a612e03613592565b505050505050158015612e23573d6000803e3d6000612e20613480565b50505b505050506005600090612e346134eb565b6001600160a01b036101009290920a90041663b46310f684612eb58560006005612e5c6134eb565b906101000a90046001600160a01b03166001600160a01b03166370a08231896040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024016020604051808303818680612464613546565b6040516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482015260440160006040518083038160008780612ef6613546565b158015612f0b57600080612f08613480565b50505b505a612f15613592565b505050505050158015612f35573d6000803e3d6000612f32613480565b50505b50505050612f4484848461320c565b5060019392505050565b60006002612f5a6134eb565b906101000a90046001600160a01b03166001600160a01b03165a612f7c613791565b6001600160a01b03161480612fc5575060006003612f986134eb565b906101000a90046001600160a01b03166001600160a01b03165a612fba613791565b6001600160a01b0316145b611ce05760405162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015260640160405180910390610e7e613480565b60008282111561307a5760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015260640160405180910390613077613480565b50505b50900390565b6001600160a01b031690565b60006123a76b53797374656d53746174757360a01b5b6000818152600a60205280604081206000906130bc6134eb565b6001600160a01b036101009290920a90041690508015158360405170026b4b9b9b4b7339030b2323932b9b99d1607d1b602082015260318101919091526051016040516020818303038152906040529061319d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613159578082015183820152602001613141565b50505050905090810190601f1680156131865780820380516001836020036101000a031916815260200191505b50925050506040518091039061319a613480565b50505b5092915050565b6000828201838110156114c45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390613203613480565b50509392505050565b600060026132186134eb565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260036040518060216138e4823960210190506040518091039020611d4f88613080565b600060026132856134eb565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260026040517f49737375656428616464726573732c75696e7432353629000000000000000000815260170160405180910390206132ff87613080565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561337257808201518382015260200161335a565b50505050905090810190601f16801561339f5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087806133be613546565b1580156133d3576000806133d0613480565b50505b505a6133dd613592565b5050505050501580156113b7573d6000803e3d60006120bd613480565b600060026134066134eb565b906101000a90046001600160a01b03166001600160a01b031663907dff97826040516020018082815260200191505060405160208183030381529060405260026040517f4275726e656428616464726573732c75696e7432353629000000000000000000815260170160405180910390206132ff87613080565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156134b857808601518282016040015260200161349d565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156110005760008282015260200161352f565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061352f565b6385979f76598160e01b81526135c3565b80808311156108ce575090919050565b80808310156108ce575090919050565b836004820152846024820152606060448201528760648201526084810160005b898110156135fb5780890151828201526020016135e3565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596136508e3d6135b3565b8d0161365c81876135a3565b5b82811015613671576000815260200161365d565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602061352f565b638540661f598160e01b8152836004820152846024820152606060448201528660648201526084810160005b8881101561370f5780880151828201526020016136f7565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596137648d3d6135b3565b8c0161377081876135a3565b5b828110156137855760008152602001613771565b50929c50505050505050565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602061352f56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7ea7a3d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb014c3a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFromAndSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe73cced3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			],
			"source": {
				"keccak256": "0x46ea3a53d11e9a3e1dcbb57dc0c282dcd37f3dea3d25fc83d2849d9da9055074",
				"urls": [
					"bzz-raw://097ce86063de286d47ac50d46b4699ce7748b9a6fda2b3f74312f85fc9ac5fd5",
					"dweb:/ipfs/QmUuqDroQ7P1it9Qdic6NJ26SN4dFntiWcMJpknXo4K4eZ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Pynth.sol": "Pynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Pynth.sol": {
						"keccak256": "0x46ea3a53d11e9a3e1dcbb57dc0c282dcd37f3dea3d25fc83d2849d9da9055074",
						"urls": [
							"bzz-raw://097ce86063de286d47ac50d46b4699ce7748b9a6fda2b3f74312f85fc9ac5fd5",
							"dweb:/ipfs/QmUuqDroQ7P1it9Qdic6NJ26SN4dFntiWcMJpknXo4K4eZ"
						]
					}
				},
				"version": 1
			}
		},
		"EmptyEtherCollateral": {
			"bytecode": "60806040523480156100195760008061001661001f565b50505b5061008a565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561005757808601518282016040015260200161003c565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b60c1806100986000396000f3fe608060405234801560165760008060136058565b50505b5060043610602f5760003560e01c8063ee5f3f5c14603b575b60008060386058565b50505b60416053565b60405190815260200160405180910390f35b600090565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015608e5780860151828201604001526020016075565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b50505056",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xee5f3f5c"
				}
			],
			"source": {
				"keccak256": "0x7a479ab85e4661d4f1eb57135d710b20bd2e4ab066a37a1c1b7b9eeb536da3f6",
				"urls": [
					"bzz-raw://c986b3a565f90c19164f3ea1f0def46856f37c28877945bc786ce1914f66ecb8",
					"dweb:/ipfs/QmdcyYaC7th51gC57uTnmx7ffyUFu8AddqKayxh9Qn5F9r"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EmptyEtherCollateral.sol": "EmptyEtherCollateral"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EmptyEtherCollateral.sol": {
						"keccak256": "0x7a479ab85e4661d4f1eb57135d710b20bd2e4ab066a37a1c1b7b9eeb536da3f6",
						"urls": [
							"bzz-raw://c986b3a565f90c19164f3ea1f0def46856f37c28877945bc786ce1914f66ecb8",
							"dweb:/ipfs/QmdcyYaC7th51gC57uTnmx7ffyUFu8AddqKayxh9Qn5F9r"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceBridgeToBase": {
			"bytecode": "60806040523480156200001c576000806200001962000134565b50505b50604051620022c5380380620022c58339810160408190526200003f9162000269565b8080836001600160a01b0381166200007f5760405162461bcd60e51b81526004016200006b9062000330565b604051809103906200007c62000134565b50505b8060006001816200008f620001a1565b816001600160a01b0302191690836001600160a01b0316021790620000b362000203565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600082604051620000ea9291906200030a565b60405180910390a15080600260018162000103620001a1565b816001600160a01b0302191690836001600160a01b03160217906200012762000203565b5050505050505062000393565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200016e57808601518282016040015260200162000151565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620001fe57600082820152602001620001e5565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620001e5565b600081519050620002638162000371565b92915050565b6000806040838503121562000288576000806200028562000134565b50505b600062000296858562000252565b9250506020620002a98582860162000252565b9150509250929050565b620002be816200035d565b82525050565b620002be816200034b565b6000620002de60198362000342565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200031a8285620002b3565b620003296020830184620002c4565b9392505050565b602080825281016200026381620002cf565b90815260200190565b60006001600160a01b03821662000263565b60006200026382600062000263826200034b565b6200037c816200034b565b81146200039057600080620001fe62000134565b50565b611f2280620003a36000396000f3fe608060405234801561001957600080610016611353565b50505b50600436106100bd5760003560e01c80636ab7e1c21161007a5780636ab7e1c21461014e578063741853601461016157806379ba509714610169578063899ffef4146101715780638da5cb5b14610186578063f69053c51461018e576100bd565b806304f3bcec146100cb57806312edde5e146100e9578063130a75fe146100fe5780631627540c146101115780632af64bd31461012457806353a47bb714610139575b6000806100c8611353565b50505b6100d36101a1565b6040516100e09190611d92565b60405180910390f35b6100fc6100f7366004611862565b6101c0565b005b6100fc61010c3660046117a5565b61047c565b6100fc61011f36600461174f565b610556565b61012c6105ca565b6040516100e09190611d3a565b61014161074c565b6040516100e09190611c5b565b6100fc61015c3660046117e8565b610758565b6100fc6108cf565b6100fc610a66565b610179610bc6565b6040516100e09190611d29565b610141610cc9565b6100fc61019c366004611862565b610cd4565b600060026101ad6113be565b906101000a90046001600160a01b031681565b806101c9610d96565b6001600160a01b0316636ac0bf9c5a6101e0611419565b6040518263ffffffff1660e01b81526004016101fc9190611c69565b602060405180830381868061020f61145f565b15801561022457600080610221611353565b50505b505a61022e6114ab565b505050505015801561024d573d6000803e3d600061024a611353565b50505b50505050604051601f3d908101601f191682016040526102709190810190611889565b10156102a05760405162461bcd60e51b815260040161028e90611e01565b6040518091039061029d611353565b50505b6102a8610d96565b6001600160a01b031663edef719a5a6102bf611419565b836040518363ffffffff1660e01b81526004016102dd929190611c99565b600060405180830381600087806102f261145f565b15801561030757600080610304611353565b50505b505a610311611598565b505050505050158015610331573d6000803e3d600061032e611353565b50505b50600092506060915063e2ff2d4360e01b90505a61034d611419565b8460405160240161035f929190611c77565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b031690911790529050610397610db2565b6001600160a01b0316633dbb202b6103ad610dcd565b836103b86003610df8565b6040518463ffffffff1660e01b81526004016103d693929190611cc2565b600060405180830381600087806103eb61145f565b158015610400576000806103fd611353565b50505b505a61040a611598565b50505050505015801561042a573d6000803e3d6000610427611353565b50505b505050505a610437611419565b6001600160a01b03167f6d92f7d3303f995bf21956bb0c51b388bae348eaf45c23debd2cfa3fcd9ec6468460405161046f9190611d48565b60405180910390a2505050565b610484610ec4565b61048c610d96565b6001600160a01b031663666ed4f183836040518363ffffffff1660e01b81526004016104b9929190611c77565b600060405180830381600087806104ce61145f565b1580156104e3576000806104e0611353565b50505b505a6104ed611598565b50505050505015801561050d573d6000803e3d600061050a611353565b50505b50505050816001600160a01b03167f8bee677ce808ba08aedfdf407cbf9c4414e77f8b66c0d96f335b275cbf5341448260405161054a9190611d48565b60405180910390a25050565b61055e610ff9565b806001808061056b6113be565b816001600160a01b0302191690836001600160a01b031602179061058d61165e565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516105bf9190611c5b565b60405180910390a150565b600060606105d6610bc6565b905060005b81518110156107425760008282815181106105f257fe5b602002602001015160008181526003602052909150604090206000906106166113be565b6001600160a01b036101009290920a900416600060026106346113be565b906101000a90046001600160a01b03166001600160a01b03166321f8a721836040518263ffffffff1660e01b815260040161066f9190611d48565b602060405180830381868061068261145f565b15801561069757600080610694611353565b50505b505a6106a16114ab565b50505050501580156106c0573d6000803e3d60006106bd611353565b50505b50505050604051601f3d908101601f191682016040526106e3919081019061177e565b6001600160a01b03161415806107285750600081815260036020526040812060009061070d6113be565b906101000a90046001600160a01b03166001600160a01b0316145b156107395760009350505050610749565b506001016105db565b5060019150505b90565b600060016101ad6113be565b610760610ec4565b600061076a61105d565b9050610774610d96565b6001600160a01b031663666ed4f182866040518363ffffffff1660e01b81526004016107a1929190611c77565b600060405180830381600087806107b661145f565b1580156107cb576000806107c8611353565b50505b505a6107d5611598565b5050505050501580156107f5573d6000803e3d60006107f2611353565b50505b50505050806001600160a01b031663cd7b43dd868686866040518563ffffffff1660e01b815260040161082b9493929190611cf1565b6000604051808303816000878061084061145f565b15801561085557600080610852611353565b50505b505a61085f611598565b50505050505015801561087f573d6000803e3d600061087c611353565b50505b50505050846001600160a01b03167f7538b9bce825b4555048bb2f80c04ee79b5ffc422f39b959994a27c21c32c8d18585856040516108c093929190611e11565b60405180910390a25050505050565b60606108d9610bc6565b905060005b8151811015610a625760008282815181106108f557fe5b60200260200101519050600080600261090c6113be565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161093c9190611c50565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610968929190611d72565b602060405180830381868061097b61145f565b1580156109905760008061098d611353565b50505b505a61099a6114ab565b50505050501580156109b9573d6000803e3d60006109b6611353565b50505b50505050604051601f3d908101601f191682016040526109dc919081019061177e565b600083815260036020529091508190604090206001816109fa6113be565b816001600160a01b0302191690836001600160a01b0316021790610a1c61165e565b5050507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa688282604051610a50929190611d56565b60405180910390a150506001016108de565b5050565b60006001610a726113be565b906101000a90046001600160a01b03166001600160a01b03165a610a94611419565b6001600160a01b031614610acc5760405162461bcd60e51b8152600401610aba90611db1565b60405180910390610ac9611353565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c600080610af86113be565b906101000a90046001600160a01b03166001600090610b156113be565b906101000a90046001600160a01b0316604051610b33929190611ca7565b60405180910390a160006001610b476113be565b906101000a90046001600160a01b03166000806101000a81610b676113be565b816001600160a01b0302191690836001600160a01b0316021790610b8961165e565b5050506000600160006101000a81610b9f6113be565b816001600160a01b0302191690836001600160a01b0316021790610bc161165e565b505050565b606080610bd1611079565b905060606004604051908082528060200260200182016040528015610c00578160200160208202803883390190505b5090506c32bc3a1d26b2b9b9b2b733b2b960991b81600081518110610c2157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610c4757fe5b6020026020010181815250507f626173653a53796e746865746978427269646765546f4f7074696d69736d000081600281518110610c8157fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600381518110610cac57fe5b602002602001018181525050610cc282826110d8565b9250505090565b6000806101ad6113be565b610cdc610ec4565b610ce4610d96565b6001600160a01b031663d8a1f76f826040518263ffffffff1660e01b8152600401610d0f9190611d48565b60006040518083038160008780610d2461145f565b158015610d3957600080610d36611353565b50505b505a610d43611598565b505050505050158015610d63573d6000803e3d6000610d60611353565b50505b505050507f4c867b72baae24147e49f29f47f17923bea3b5d1a076dff11e0bac8c180a84c1816040516105bf9190611d48565b6000610dad680a6f2dce8d0cae8d2f60bb1b611194565b905090565b6000610dad6c32bc3a1d26b2b9b9b2b733b2b960991b611194565b6000610dad7f626173653a53796e746865746978427269646765546f4f7074696d69736d0000611194565b6000610e0261121b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b610e2b85611238565b6040518363ffffffff1660e01b8152600401610e48929190611d64565b6020604051808303818680610e5b61145f565b158015610e7057600080610e6d611353565b50505b505a610e7a6114ab565b5050505050158015610e99573d6000803e3d6000610e96611353565b50505b50505050604051601f3d908101601f19168201604052610ebc9190810190611889565b90505b919050565b6000610ece610db2565b9050806001600160a01b03165a610ee3611419565b6001600160a01b031614610f1b5760405162461bcd60e51b8152600401610f0990611dd1565b60405180910390610f18611353565b50505b610f23610dcd565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b81526004016020604051808303818680610f6061145f565b158015610f7557600080610f72611353565b50505b505a610f7f6114ab565b5050505050158015610f9e573d6000803e3d6000610f9b611353565b50505b50505050604051601f3d908101601f19168201604052610fc1919081019061177e565b6001600160a01b031614610ff65760405162461bcd60e51b8152600401610fe790611de1565b60405180910390610bc1611353565b50565b6000806110046113be565b906101000a90046001600160a01b03166001600160a01b03165a611026611419565b6001600160a01b03161461105b5760405162461bcd60e51b815260040161104c90611dc1565b60405180910390610a62611353565b565b6000610dad6d2932bbb0b93222b9b1b937bbab1960911b611194565b606060016040519080825280602002602001820160405280156110a6578160200160208202803883390190505b5090506e466c657869626c6553746f7261676560881b816000815181106110c957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611108578160200160208202803883390190505b50905060005b835181101561114a5783818151811061112357fe5b602002602001015182828151811061113757fe5b602090810291909101015260010161110e565b5060005b825181101561118d5782818151811061116357fe5b602002602001015182828651018151811061117a57fe5b602090810291909101015260010161114e565b5092915050565b6000818152600360205280604081206000906111ae6113be565b6001600160a01b036101009290920a9004169050801515836040516020016111d69190611c30565b6040516020818303038152906040529061118d5760405162461bcd60e51b81526004016112039190611da0565b60405180910390611212611353565b50505092915050565b6000610dad6e466c657869626c6553746f7261676560881b611194565b60008082600381111561124757fe5b141561127457507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610ebf565b600182600381111561128257fe5b14156112af57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610ebf565b60028260038111156112bd57fe5b14156112ea57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610ebf565b60038260038111156112f857fe5b141561132557507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610ebf565b60405162461bcd60e51b815260040161133d90611df1565b6040518091039061134c611353565b5050919050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561138b578086015182820160400152602001611370565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610bc157600082820152602001611402565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611402565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611402565b638540661f598160e01b81526114de565b80808311156114c85750815b92915050565b80808310156114c8575090919050565b836004820152846024820152606060448201528660648201526084810160005b888110156115165780880151828201526020016114fe565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af1505961156b8d3d6114ce565b8c0161157781876114bc565b5b8281101561158c5760008152602001611578565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b898110156115dc5780890151828201526020016115c4565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af150596116318e3d6114ce565b8d0161163d81876114bc565b5b82811015611652576000815260200161163e565b50929d50505050505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611402565b80356114c881611ef6565b6000815190506114c881611ef6565b60008083601f8401126116e1576000806116de611353565b50505b50813567ffffffffffffffff811115611702576000806116ff611353565b50505b60208301915083604082028301111561172357600080611720611353565b50505b9250929050565b80356114c881611f10565b6000815190506114c881611f10565b80356114c881611f19565b60006020828403121561176a57600080611767611353565b50505b600061177684846116ac565b949350505050565b60006020828403121561179957600080611796611353565b50505b600061177684846116b7565b600080604083850312156117c1576000806117be611353565b50505b60006117cd85856116ac565b92505060206117de8582860161172a565b9150509250929050565b6000806000806060858703121561180757600080611804611353565b50505b600061181387876116ac565b94505060206118248782880161172a565b935050604085013567ffffffffffffffff81111561184a57600080611847611353565b50505b611856878288016116c6565b95989497509550505050565b60006020828403121561187d5760008061187a611353565b50505b6000611776848461172a565b6000602082840312156118a4576000806118a1611353565b50505b60006117768484611735565b60006118bc838361199f565b505060200190565b60006118d08383611be5565b505060400190565b6118e181611eae565b82525050565b6118e181611e7c565b60006118fb82611e41565b6119058185611e51565b935061191083611e3b565b8060005b8381101561193e57815161192888826118b0565b975061193383611e3b565b925050600101611914565b509495945050505050565b60006119558385611e51565b935061196082610749565b8060005b8581101561193e576119768284611e5a565b61198088826118c4565b975061198b83611e4b565b925050600101611964565b6118e181611e87565b6118e181610749565b6118e16119b482610749565b610749565b60006119c482611e41565b6119ce8185611e51565b93506119de818560208601611ec0565b6119e781611eec565b9093019392505050565b6118e181611eb5565b6000611a07603583611e51565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611a5e601183610ebf565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611a8b602f83611e51565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611adc601e83611e51565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000611b15601d83611e51565b7f4f6e6c7920746865204c31206272696467652063616e20696e766f6b65000000815260200192915050565b6000611b4e601983610ebf565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611b87601683611e51565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000611bb9601b83611e51565b7f4e6f7420656e6f756768207472616e7366657261626c6520534e580000000000815260200192915050565b60408201611bf38280611e6d565b611bfd8482611c27565b50611c0b6020830183611e5e565b611c18602085018261199f565b50505050565b6118e181611e98565b6118e181611ea1565b6000611c3b82611a51565b9150611c4782846119a8565b50602001919050565b6000611c3b82611b41565b602081016114c882846118e7565b602081016114c882846118d8565b60408101611c8582856118e7565b611c92602083018461199f565b9392505050565b60408101611c8582856118d8565b60408101611cb582856118e7565b611c9260208301846118e7565b60608101611cd082866118e7565b8181036020830152611ce281856119b9565b90506117766040830184611c1e565b60608101611cff82876118e7565b611d0c602083018661199f565b8181036040830152611d1f818486611949565b9695505050505050565b60208082528101611c9281846118f0565b602081016114c88284611996565b602081016114c8828461199f565b60408101611cb5828561199f565b60408101611c85828561199f565b60408101611d80828561199f565b818103602083015261177681846119b9565b602081016114c882846119f1565b60208082528101611c9281846119b9565b60208082528101610ebc816119fa565b60208082528101610ebc81611a7e565b60208082528101610ebc81611acf565b60208082528101610ebc81611b08565b60208082528101610ebc81611b7a565b60208082528101610ebc81611bac565b60408101611e1f828661199f565b8181036020830152611e32818486611949565b95945050505050565b60200190565b6000815192915050565b60400190565b90815260200190565b5090565b6000611c92602084018461172a565b6000611c926020840184611744565b6000610ebc82611e8c565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000610ebc825b6000610ebc82611e7c565b60005b83811015611edb578082015183820152602001611ec3565b83811115611c185750506000910152565b601f01601f191690565b611eff81611e7c565b8114610ff657600080610bc1611353565b611eff81610749565b611eff81611ea156",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"indexed": false,
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "ImportedVestingEntries",
					"type": "event",
					"signature": "0x7538b9bce825b4555048bb2f80c04ee79b5ffc422f39b959994a27c21c32c8d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MintedSecondary",
					"type": "event",
					"signature": "0x8bee677ce808ba08aedfdf407cbf9c4414e77f8b66c0d96f335b275cbf534144"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MintedSecondaryRewards",
					"type": "event",
					"signature": "0x4c867b72baae24147e49f29f47f17923bea3b5d1a076dff11e0bac8c180a84c1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "WithdrawalInitiated",
					"type": "event",
					"signature": "0x6d92f7d3303f995bf21956bb0c51b388bae348eaf45c23debd2cfa3fcd9ec646"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "depositAmount",
							"type": "uint256"
						}
					],
					"name": "completeDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x130a75fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "completeEscrowMigration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6ab7e1c2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "completeRewardDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf69053c5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "initiateWithdrawal",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x12edde5e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0x2944b039b1a2ca003f444a14bb73121cc308bd3461e5382935c17d85d3d651e2",
				"urls": [
					"bzz-raw://a01d7e1a83c9c724478455cfebcde776b6f92bac44cadca7cf9c8a0dbcbb6b97",
					"dweb:/ipfs/QmW2wrTYtbTDXUMUEzeRexwVAEBT4ZdbWK5s8vuHoUT5WP"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceBridgeToBase.sol": "PeriFinanceBridgeToBase"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceBridgeToBase.sol": {
						"keccak256": "0x2944b039b1a2ca003f444a14bb73121cc308bd3461e5382935c17d85d3d651e2",
						"urls": [
							"bzz-raw://a01d7e1a83c9c724478455cfebcde776b6f92bac44cadca7cf9c8a0dbcbb6b97",
							"dweb:/ipfs/QmW2wrTYtbTDXUMUEzeRexwVAEBT4ZdbWK5s8vuHoUT5WP"
						]
					}
				},
				"version": 1
			}
		},
		"EmptyCollateralManager": {
			"bytecode": "60806040523480156100195760008061001661001f565b50505b5061008a565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561005757808601518282016040015260200161003c565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b610773806100996000396000f3fe608060405234801561001957600080610016610708565b50505b50600436106101975760003560e01c8063b4d6cb40116100e7578063e31f27c1116100a0578063eb94bbde1161007a578063eb94bbde14610317578063ee81f79014610669578063f53037b61461068f578063ffa749cd1461053757610197565b8063e31f27c114610317578063e32261fe1461064d578063e50a31b31461031757610197565b8063b4d6cb40146104ef578063ba1c5e80146101f6578063bbb601cd14610537578063c88b412e146105c9578063ca969f2314610537578063d2f004751461064d57610197565b806372e18b6a11610154578063ad79a8581161012e578063ad79a858146101f6578063af07aa9d1461047a578063b38988f7146104a6578063b3b46732146104d557610197565b806372e18b6a146103435780638471db131461045457806393a72fbe1461034357610197565b806303f048b0146101a55780631e33fc6b146101f657806323d60e2e1461021857806324620639146103175780635246f2b914610317578063710388d114610218575b6000806101a2610708565b50505b6101cb600480360360208110156101c4576000806101c1610708565b50505b50356106b5565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b6101fe6106c1565b604051918252151560208201526040908101905180910390f35b6103156004803603604081101561023757600080610234610708565b50505b810190602081018135600160201b81111561025a57600080610257610708565b50505b82018360208201111561027557600080610272610708565b50505b803590602001918460208302840111600160201b8311171561029f5760008061029c610708565b50505b919390929091602081019035600160201b8111156102c5576000806102c2610708565b50505b8201836020820111156102e0576000806102dd610708565b50505b803590602001918460208302840111600160201b8311171561030a57600080610307610708565b50505b5090925090506106c8565b005b6103156004803603604081101561033657600080610333610708565b50505b50803590602001356106ce565b610440600480360360408110156103625760008061035f610708565b50505b810190602081018135600160201b81111561038557600080610382610708565b50505b8201836020820111156103a05760008061039d610708565b50505b803590602001918460208302840111600160201b831117156103ca576000806103c7610708565b50505b919390929091602081019035600160201b8111156103f0576000806103ed610708565b50505b82018360208201111561040b57600080610408610708565b50505b803590602001918460208302840111600160201b8311171561043557600080610432610708565b50505b5090925090506106d2565b604051901515815260200160405180910390f35b6104406004803603602081101561047357600080610470610708565b50505b50356106dc565b6101cb6004803603604081101561049957600080610496610708565b50505b50803590602001356106e2565b610440600480360360208110156104c5576000806104c2610708565b50505b50356001600160a01b03166106dc565b6104dd6106ef565b60405190815260200160405180910390f35b61051b6004803603604081101561050e5760008061050b610708565b50505b50803590602001356106f4565b6040519115158252151560208201526040908101905180910390f35b6103156004803603602081101561055657600080610553610708565b50505b810190602081018135600160201b81111561057957600080610576610708565b50505b82018360208201111561059457600080610591610708565b50505b803590602001918460208302840111600160201b831117156105be576000806105bb610708565b50505b5090925090506106ce565b610315600480360360408110156105e8576000806105e5610708565b50505b810190602081018135600160201b81111561060b57600080610608610708565b50505b82018360208201111561062657600080610623610708565b50505b803590602001918460408302840111600160201b8311171561029f5760008061029c610708565b6104dd6004803603602081101561047357600080610470610708565b6101fe6004803603602081101561068857600080610685610708565b50505b50356106fd565b610315600480360360208110156106ae576000806106ab610708565b50505b5035610705565b60008080809193509193565b6000809091565b50505050565b5050565b6000949350505050565b50600090565b5060009182915081908190565b600090565b50600091829150565b600080915091565b50565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610740578086015182820160400152602001610725565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b50505056",
			"abi": [
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"name": "addCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbbb601cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[2][]",
							"name": "",
							"type": "bytes32[2][]"
						},
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"name": "addShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc88b412e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23d60e2e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"name": "areShortablePynthsSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93a72fbe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72e18b6a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exceedsDebtLimit",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canIssue",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb4d6cb40"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "borrowRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba1c5e80"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getNewLoanId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3b46732"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "getShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "shortRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee81f790"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "hasCollateral",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb38988f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "isPynthManaged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8471db13"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"name": "removeCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xffa749cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"name": "removeShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xca969f23"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x710388d1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLong",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e33fc6b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalShort",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad79a858"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				}
			],
			"source": {
				"keccak256": "0x3eedbdeab0075f47cc27608fae5b6476d80980b44b838e3381381ae0563a8ce4",
				"urls": [
					"bzz-raw://8efd44aab63a5b65ef456cb133c642a001c1a55042d4c24d2bcae801f9dd3c0d",
					"dweb:/ipfs/QmbBQ4A1VYooTuvFBrLFZSKxNbXKnjbtnMN9sSxfGDqDHM"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EmptyCollateralManager.sol": "EmptyCollateralManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EmptyCollateralManager.sol": {
						"keccak256": "0x3eedbdeab0075f47cc27608fae5b6476d80980b44b838e3381381ae0563a8ce4",
						"urls": [
							"bzz-raw://8efd44aab63a5b65ef456cb133c642a001c1a55042d4c24d2bcae801f9dd3c0d",
							"dweb:/ipfs/QmbBQ4A1VYooTuvFBrLFZSKxNbXKnjbtnMN9sSxfGDqDHM"
						]
					}
				},
				"version": 1
			}
		},
		"PynthUtil": {
			"bytecode": "60806040523480156200001c576000806200001962000097565b50505b5060405162001be638038062001be6833981810160405260208110156200004d576000806200004a62000097565b50505b8101908080519250829150600090506001816200006962000104565b816001600160a01b0302191690836001600160a01b03160217906200008d62000166565b50505050620001b5565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015620000d1578086015182820160400152602001620000b4565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620001615760008282015260200162000148565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000148565b611a2180620001c56000396000f3fe60806040523480156100195760008061001661181f565b50505b506004361061006b5760003560e01c80630120be331461007957806327fe55a6146100c0578063492dbcdd14610161578063a827bf4814610247578063d18ab37614610276578063eade6d2d1461029a575b60008061007661181f565b50505b6100ae600480360360408110156100985760008061009561181f565b50505b506001600160a01b0381351690602001356102f5565b60405190815260200160405180910390f35b6100c861067f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561010c5780820151838201526020016100f4565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561014b578082015183820152602001610133565b5050505090500194505050505060405180910390f35b610169610981565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156101b1578082015183820152602001610199565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101f05780820151838201526020016101d8565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561022f578082015183820152602001610217565b50505050905001965050505050505060405180910390f35b610169600480360360208110156102665760008061026361181f565b50505b50356001600160a01b0316610e06565b61027e6112a2565b6040516001600160a01b03909116815260200160405180910390f35b6102a26112c0565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156102e15780820151838201526020016102c9565b505050509050019250505060405180910390f35b60008061030061166e565b9050600061030c61177a565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b8152600401602060405180830381868061034461188a565b1580156103595760008061035661181f565b50505b505a6103636118ea565b5050505050158015610382573d6000803e3d600061037f61181f565b50505b505050506040513d60208110156103a15760008061039e61181f565b50505b81019080805193506000925050505b81811015610674576000846001600160a01b031663835e119c836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806103fc61188a565b1580156104115760008061040e61181f565b50505b505a61041b6118ea565b505050505015801561043a573d6000803e3d600061043761181f565b50505b505050506040513d60208110156104595760008061045661181f565b50505b8101908080519350506001600160a01b03808716925063654a60ac9150831663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186806104a261188a565b1580156104b7576000806104b461181f565b50505b505a6104c16118ea565b50505050501580156104e0573d6000803e3d60006104dd61181f565b50505b505050506040513d60208110156104ff576000806104fc61181f565b50505b810190808051925050506001600160a01b0384166370a082318c6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061055361188a565b1580156105685760008061056561181f565b50505b505a6105726118ea565b5050505050158015610591573d6000803e3d600061058e61181f565b50505b505050506040513d60208110156105b0576000806105ad61181f565b50505b81019080805192508c915060409050516001600160e01b031960e086901b16815260048101939093526024830191909152604482015260640160206040518083038186806105fc61188a565b1580156106115760008061060e61181f565b50505b505a61061b6118ea565b505050505015801561063a573d6000803e3d600061063761181f565b50505b505050506040513d60208110156106595760008061065661181f565b50505b81019080805198909801975050600190920191506103b09050565b505050505b92915050565b606080606061068c61166e565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186806106bf61188a565b1580156106d4576000806106d161181f565b50505b505a6106de6118ea565b50505050501580156106fd573d6000803e3d60006106fa61181f565b50505b505050506040513d6000823e601f3d908101601f19168201604052602081101561072f5760008061072c61181f565b50505b81019080805160405193929190846401000000008211156107585760008061075561181f565b50505b9083019060208201858111156107765760008061077361181f565b50505b825186602082028301116401000000008211171561079c5760008061079961181f565b50505b825250602001908051906020019060200280838360005b838110156107cb5780820151838201526020016107b3565b505050509050016040525050509050806107e361177a565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610841578082015183820152602001610829565b5050505090500192505050600060405180830381868061085f61188a565b1580156108745760008061087161181f565b50505b505a61087e6118ea565b505050505015801561089d573d6000803e3d600061089a61181f565b50505b505050506040513d6000823e601f3d908101601f1916820160405260208110156108cf576000806108cc61181f565b50505b81019080805160405193929190846401000000008211156108f8576000806108f561181f565b50505b9083019060208201858111156109165760008061091361181f565b50505b825186602082028301116401000000008211171561093c5760008061093961181f565b50505b825250602001908051906020019060200280838360005b8381101561096b578082015183820152602001610953565b5050505090500160405250505092509250509091565b6060806060600061099061166e565b9050600061099c61177a565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186806109d461188a565b1580156109e9576000806109e661181f565b50505b505a6109f36118ea565b5050505050158015610a12573d6000803e3d6000610a0f61181f565b50505b505050506040513d6020811015610a3157600080610a2e61181f565b50505b8101908080519350606092508391506040905051908082528060200260200182016040528015610a6b578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610a9a578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610ac9578160200160208202803883390190505b50905060005b84811015610df6576000876001600160a01b031663835e119c836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610b1b61188a565b158015610b3057600080610b2d61181f565b50505b505a610b3a6118ea565b5050505050158015610b59573d6000803e3d6000610b5661181f565b50505b505050506040513d6020811015610b7857600080610b7561181f565b50505b8101908080519350506001600160a01b038316915063dbd06c8590506040518163ffffffff1660e01b81526004016020604051808303818680610bb961188a565b158015610bce57600080610bcb61181f565b50505b505a610bd86118ea565b5050505050158015610bf7573d6000803e3d6000610bf461181f565b50505b505050506040513d6020811015610c1657600080610c1361181f565b50505b810190808051925087915084905081518110610c2e57fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b81526004016020604051808303818680610c6e61188a565b158015610c8357600080610c8061181f565b50505b505a610c8d6118ea565b5050505050158015610cac573d6000803e3d6000610ca961181f565b50505b505050506040513d6020811015610ccb57600080610cc861181f565b50505b810190808051925086915084905081518110610ce357fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610d0a57fe5b6020026020010151868581518110610d1e57fe5b6020026020010151631cd554d160e21b6040516001600160e01b031960e086901b1681526004810193909352602483019190915260448201526064016020604051808303818680610d6d61188a565b158015610d8257600080610d7f61181f565b50505b505a610d8c6118ea565b5050505050158015610dab573d6000803e3d6000610da861181f565b50505b505050506040513d6020811015610dca57600080610dc761181f565b50505b810190808051925085915084905081518110610de257fe5b602090810291909101015250600101610acf565b5091975095509350505050909192565b60608060606000610e1561166e565b90506000610e2161177a565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b81526004016020604051808303818680610e5961188a565b158015610e6e57600080610e6b61181f565b50505b505a610e786118ea565b5050505050158015610e97573d6000803e3d6000610e9461181f565b50505b505050506040513d6020811015610eb657600080610eb361181f565b50505b8101908080519350606092508391506040905051908082528060200260200182016040528015610ef0578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610f1f578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610f4e578160200160208202803883390190505b50905060005b84811015611291576000876001600160a01b031663835e119c836040516001600160e01b031960e084901b16815260048101919091526024016020604051808303818680610fa061188a565b158015610fb557600080610fb261181f565b50505b505a610fbf6118ea565b5050505050158015610fde573d6000803e3d6000610fdb61181f565b50505b505050506040513d6020811015610ffd57600080610ffa61181f565b50505b8101908080519350506001600160a01b038316915063dbd06c8590506040518163ffffffff1660e01b8152600401602060405180830381868061103e61188a565b1580156110535760008061105061181f565b50505b505a61105d6118ea565b505050505015801561107c573d6000803e3d600061107961181f565b50505b505050506040513d602081101561109b5760008061109861181f565b50505b8101908080519250879150849050815181106110b357fe5b602002602001018181525050806001600160a01b03166370a082318d6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381868061110961188a565b15801561111e5760008061111b61181f565b50505b505a6111286118ea565b5050505050158015611147573d6000803e3d600061114461181f565b50505b505050506040513d60208110156111665760008061116361181f565b50505b81019080805192508691508490508151811061117e57fe5b602002602001018181525050866001600160a01b031663654a60ac8684815181106111a557fe5b60200260200101518685815181106111b957fe5b6020026020010151631cd554d160e21b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381868061120861188a565b15801561121d5760008061121a61181f565b50505b505a6112276118ea565b5050505050158015611246573d6000803e3d600061124361181f565b50505b505050506040513d60208110156112655760008061126261181f565b50505b81019080805192508591508490508151811061127d57fe5b602090810291909101015250600101610f54565b509199909850909650945050505050565b6000806112ad6119d5565b906101000a90046001600160a01b031681565b606060006112cc61166e565b905060006112d861177a565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b8152600401602060405180830381868061131061188a565b1580156113255760008061132261181f565b50505b505a61132f6118ea565b505050505015801561134e573d6000803e3d600061134b61181f565b50505b505050506040513d602081101561136d5760008061136a61181f565b50505b81019080805193506060925083915060409050519080825280602002602001820160405280156113a7578160200160208202803883390190505b50905060005b82811015611665576000856001600160a01b031663835e119c836040516001600160e01b031960e084901b168152600481019190915260240160206040518083038186806113f961188a565b15801561140e5760008061140b61181f565b50505b505a6114186118ea565b5050505050158015611437573d6000803e3d600061143461181f565b50505b505050506040513d60208110156114565760008061145361181f565b50505b8101908080519350506001600160a01b03808816925063af3aea869150831663dbd06c856040518163ffffffff1660e01b8152600401602060405180830381868061149f61188a565b1580156114b4576000806114b161181f565b50505b505a6114be6118ea565b50505050501580156114dd573d6000803e3d60006114da61181f565b50505b505050506040513d60208110156114fc576000806114f961181f565b50505b81019080805192506040915050516001600160e01b031960e084901b1681526004810191909152602401602060405180830381868061153961188a565b15801561154e5760008061154b61181f565b50505b505a6115586118ea565b5050505050158015611577573d6000803e3d600061157461181f565b50505b505050506040513d60208110156115965760008061159361181f565b50505b81019080805115925061165c91505057806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186806115da61188a565b1580156115ef576000806115ec61181f565b50505b505a6115f96118ea565b5050505050158015611618573d6000803e3d600061161561181f565b50505b505050506040513d60208110156116375760008061163461181f565b50505b81019080805192508591508490508151811061164f57fe5b6020026020010181815250505b506001016113ad565b50935050505090565b6000808061167a6119d5565b906101000a90046001600160a01b03166001600160a01b031663dacb2d01680a6f2dce8d0cae8d2f60bb1b6040516001600160e01b031960e084901b1681526004810191909152604060248201819052601960448301527f4d697373696e672053796e74686574697820616464726573730000000000000060648301526084909101906020905180830381868061170f61188a565b1580156117245760008061172161181f565b50505b505a61172e6118ea565b505050505015801561174d573d6000803e3d600061174a61181f565b50505b505050506040513d602081101561176c5760008061176961181f565b50505b810190808051935050505090565b600080806117866119d5565b906101000a90046001600160a01b03166001600160a01b031663dacb2d016c45786368616e6765526174657360981b6040516001600160e01b031960e084901b1681526004810191909152604060248201819052601d60448301527f4d697373696e672045786368616e67655261746573206164647265737300000060648301526084909101906020905180830381868061170f61188a565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561185757808601518282016040015260200161183c565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156118e5576000828201526020016118ce565b505050565b638540661f598160e01b815261191b565b8080831115610679575090919050565b8080831015610679575090919050565b836004820152846024820152606060448201528660648201526084810160005b8881101561195357808801518282015260200161193b565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596119a88d3d61190b565b8c016119b481876118fb565b5b828110156119c957600081526020016119b5565b50929c50505050505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206118ce56",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressResolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd18ab376"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "frozenPynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeade6d2d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "pynthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa827bf48"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27fe55a6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x492dbcdd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalPynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0120be33"
				}
			],
			"source": {
				"keccak256": "0x44655c6a86c04622a686ca33ad3ecf3eb22997d891fd789b70dd2816c2406fa9",
				"urls": [
					"bzz-raw://f949f2d118dbbc2629508a7ecfbef30774c777a565f3498ddc149b68d0ab4cb9",
					"dweb:/ipfs/QmbtYcPdHJXDepYipX5UuL2MTdM9GKdtPbMWf3YN9WJen1"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PynthUtil.sol": "PynthUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PynthUtil.sol": {
						"keccak256": "0x44655c6a86c04622a686ca33ad3ecf3eb22997d891fd789b70dd2816c2406fa9",
						"urls": [
							"bzz-raw://f949f2d118dbbc2629508a7ecfbef30774c777a565f3498ddc149b68d0ab4cb9",
							"dweb:/ipfs/QmbtYcPdHJXDepYipX5UuL2MTdM9GKdtPbMWf3YN9WJen1"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "608060405260006001600160a01b816200001862000264565b8160ff021916908315150217906200002f620002c6565b5050506000600160156101000a816200004762000264565b8160ff021916908315150217906200005e620002c6565b50505034801562000079576000806200007662000315565b50505b5060405162000b8b38038062000b8b83398181016040526020811015620000aa57600080620000a762000315565b50505b8101908080519250829150506001600160a01b0381166200011c5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f742062652030000000000000006044820152606401604051809103906200011962000315565b50505b8060006001816200012c62000264565b816001600160a01b0302191690836001600160a01b031602179062000150620002c6565b50505060008051602062000b6b8339815191526000826040516001600160a01b039283168152911660208201526040908101905180910390a1506001600160a01b038116620001f05760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620001ed62000315565b50505b8060006001816200020062000264565b816001600160a01b0302191690836001600160a01b031602179062000224620002c6565b50505060008051602062000b6b8339815191526000826040516001600160a01b039283168152911660208201526040908101905180910390a15062000382565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015620002c157600082820152602001620002a8565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020620002a8565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200034f57808601518282016040015260200162000332565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6107d980620003926000396000f3fe60806040523480156100195760008061001661061a565b50505b506004361061009c5760003560e01c80638da5cb5b1161006f5780638da5cb5b1461012f57806393c2212514610137578063b33a5a0014610153578063c65a0ea21461017b578063ee02f27c146101835761009c565b80631627540c146100aa5780631d008652146100db57806353a47bb71461010357806379ba509714610127575b6000806100a761061a565b50505b6100d9600480360360208110156100c9576000806100c661061a565b50505b50356001600160a01b03166101ab565b005b6100d9600480360360208110156100fa576000806100f761061a565b50505b50351515610225565b61010b6102ed565b6040516001600160a01b03909116815260200160405180910390f35b6100d961030c565b61010b61048f565b61013f61049a565b604051901515815260200160405180910390f35b6100d9600480360360208110156101725760008061016f61061a565b50505b503515156104b3565b61013f610532565b6100d9600480360360208110156101a25760008061019f61061a565b50505b5035151561053e565b6101b361059d565b80600180806101c0610685565b816001600160a01b0302191690836001600160a01b03160217906101e26106e0565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b61022d61059d565b806001600160a01b8161023e610685565b8160ff021916908315150217906102536106e0565b50505080600160156101000a81610268610685565b8160ff0219169083151502179061027d6106e0565b5050507f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea3281604051901515815260200160405180910390a17f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c681604051901515815260200160405180910390a150565b600060016102f9610685565b906101000a90046001600160a01b031681565b60006001610318610685565b906101000a90046001600160a01b03166001600160a01b03165a61033a61072e565b6001600160a01b0316146103885760405162461bcd60e51b8152600401808060200182810382526035815260200180610775603591396040019150506040518091039061038561061a565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806103b4610685565b906101000a90046001600160a01b031660016000906103d1610685565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610410610685565b906101000a90046001600160a01b03166000806101000a81610430610685565b816001600160a01b0302191690836001600160a01b03160217906104526106e0565b5050506000600160006101000a81610468610685565b816001600160a01b0302191690836001600160a01b031602179061048a6106e0565b505050565b6000806102f9610685565b601560016104a6610685565b906101000a900460ff1681565b6104bb61059d565b806001600160a01b816104cc610685565b8160ff021916908315150217906104e16106e0565b5050507f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea326001601490610512610685565b906101000a900460ff16604051901515815260200160405180910390a150565b601460016104a6610685565b61054661059d565b806001600160a81b81610557610685565b8160ff0219169083151502179061056c6106e0565b5050507f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c66001601590610512610685565b6000806105a8610685565b906101000a90046001600160a01b03166001600160a01b03165a6105ca61072e565b6001600160a01b0316146106185760405162461bcd60e51b815260040180806020018281038252602f8152602001806107aa602f91396040019150506040518091039061061561061a565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b86811015610652578086015182820160400152602001610637565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561048a576000828201526020016106c9565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206106c9565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206106c956fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6eb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "SXMaintenance",
					"type": "event",
					"signature": "0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "StakingMaintenance",
					"type": "event",
					"signature": "0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedSX",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93c22125"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedStaking",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc65a0ea2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d008652"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeSX",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee02f27c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeStaking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb33a5a00"
				}
			],
			"source": {
				"keccak256": "0x6af8351e5f36ac8b77fb2ed83792f985fabea076beaa38e2d5056c29c0682308",
				"urls": [
					"bzz-raw://241a57b2fe5543ea5a11261bc2803f827a568ef376aecd916d03790b230ebf95",
					"dweb:/ipfs/QmWZ7H6Mcw2WzbgrroQhj1pBZWR67E7Tar4WYbfffZCJeH"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0x6af8351e5f36ac8b77fb2ed83792f985fabea076beaa38e2d5056c29c0682308",
						"urls": [
							"bzz-raw://241a57b2fe5543ea5a11261bc2803f827a568ef376aecd916d03790b230ebf95",
							"dweb:/ipfs/QmWZ7H6Mcw2WzbgrroQhj1pBZWR67E7Tar4WYbfffZCJeH"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceStateWithLimitedSetup": {
			"bytecode": "60806040523480156200001c576000806200001962000264565b50505b5060405162001c8638038062001c86833981810160405260408110156200004d576000806200004a62000264565b50505b8101908080519291906020018051925062093a8091508390508280826001600160a01b038116620000cf5760405162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015260640160405180910390620000cc62000264565b50505b806000600181620000df620002d1565b816001600160a01b0302191690836001600160a01b03160217906200010362000333565b5050507fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000826040516001600160a01b039283168152911660208201526040908101905180910390a150600080806200015c620002d1565b906101000a90046001600160a01b03166001600160a01b03161415620001c75760405162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015260640160405180910390620001c462000264565b50505b806002600181620001d7620002d1565b816001600160a01b0302191690836001600160a01b0316021790620001fb62000333565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a1505050805a6200024a62000382565b018060066200025862000333565b505050505050620003c9565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156200029e57808601518282016040015260200162000281565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b60408110156200032e5760008282015260200162000315565b505050565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b60008152602062000315565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051600082529350602062000315565b6118ad80620003d96000396000f3fe60806040523480156100195760008061001661142d565b50505b506004361061014b5760003560e01c80638da5cb5b116100c1578063aefc4ccb11610085578063aefc4ccb1461041f578063b16c09f014610427578063b992812e14610456578063ba08f29914610499578063cd92eba9146104a1578063dd9da1da146104a95761014b565b80638da5cb5b146102d15780639371bede146102d95780639e49e976146102e1578063a764eb45146103e2578063ae2e933b146104175761014b565b80634631771211610113578063463177121461021f57806346ba2d901461022757806352f445ca1461022f57806353a47bb71461025e57806379ba5097146102825780638b3f80881461028a5761014b565b806308d95cd5146101595780631627540c1461019157806319db2228146101c25780631bfba595146101f15780633d31e97b146101f9575b60008061015661142d565b50505b61017f600480360360208110156101785760008061017561142d565b50505b50356104b1565b60405190815260200160405180910390f35b6101c0600480360360208110156101b0576000806101ad61142d565b50505b50356001600160a01b03166104dc565b005b6101c0600480360360208110156101e1576000806101de61142d565b50505b50356001600160a01b0316610556565b6101c06105d1565b6101c0600480360360208110156102185760008061021561142d565b50505b5035610678565b61017f610733565b61017f61076f565b6101c06004803603602081101561024e5760008061024b61142d565b50505b50356001600160a01b0316610779565b6102666107f4565b6040516001600160a01b03909116815260200160405180910390f35b6101c0610813565b6102b9600480360360208110156102a9576000806102a661142d565b50505b50356001600160a01b0316610991565b60405191825260208201526040908101905180910390f35b6102666109bc565b61017f6109c7565b6101c060048036036040811015610300576000806102fd61142d565b50505b8101906020810181356401000000008111156103245760008061032161142d565b50505b82018360208201111561033f5760008061033c61142d565b50505b8035906020019184602083028401116401000000008311171561036a5760008061036761142d565b50505b9193909290916020810190356401000000008111156103915760008061038e61142d565b50505b8201836020820111156103ac576000806103a961142d565b50505b803590602001918460208302840111640100000000831117156103d7576000806103d461142d565b50505b5090925090506109d1565b6101c060048036036040811015610401576000806103fe61142d565b50505b506001600160a01b038135169060200135610ad9565b610266610baf565b610266610bbb565b6101c0600480360360208110156104465760008061044361142d565b50505b50356001600160a01b0316610bc7565b610485600480360360208110156104755760008061047261142d565b50505b50356001600160a01b0316610c78565b604051901515815260200160405180910390f35b6101c0610ca0565b61017f610d37565b61017f610d4a565b600581816104bd611498565b81106104c557fe5b9060005260206000200190506104d9611498565b81565b6104e4610d54565b80600180806104f1611498565b816001600160a01b0302191690836001600160a01b03160217906105136114f3565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b61055e610d54565b80600760018161056c611498565b816001600160a01b0302191690836001600160a01b031602179061058e6114f3565b5050507f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295816040516001600160a01b03909116815260200160405180910390a150565b600060026105dd611498565b906101000a90046001600160a01b03166001600160a01b03165a6105ff611541565b6001600160a01b03161461064d5760405162461bcd60e51b8152600401808060200182810382526034815260200180611850603491396040019150506040518091039061064a61142d565b50505b6106686001600461065c611498565b9063ffffffff610dd116565b8060046106736114f3565b505050565b60006002610684611498565b906101000a90046001600160a01b03166001600160a01b03165a6106a6611541565b6001600160a01b0316146106f45760405162461bcd60e51b815260040180806020018281038252603481526020018061185060349139604001915050604051809103906106f161142d565b50505b80600580600181610703611498565b01808261070e6114f3565b505060009283529160001983019150602090209192910161072d6114f3565b50505050565b600060056001600580610744611498565b90500381610750611498565b811061075857fe5b9060005260206000200161076a611498565b905090565b60066104d9611498565b610781610d54565b80600260018161078f611498565b816001600160a01b0302191690836001600160a01b03160217906107b16114f3565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610800611498565b906101000a90046001600160a01b031681565b6000600161081f611498565b906101000a90046001600160a01b03166001600160a01b03165a610841611541565b6001600160a01b03161461088f5760405162461bcd60e51b81526004018080602001828103825260358152602001806117cb603591396040019150506040518091039061088c61142d565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806108bb611498565b906101000a90046001600160a01b031660016000906108d8611498565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a160006001610917611498565b906101000a90046001600160a01b03166000806101000a81610937611498565b816001600160a01b0302191690836001600160a01b03160217906109596114f3565b5050506000600160006101000a8161096f611498565b816001600160a01b0302191690836001600160a01b03160217906106736114f3565b60036020528060005260406000209050806109aa611498565b90806001016109b7611498565b905082565b600080610800611498565b60046104d9611498565b6109d9610d54565b60066109e3611498565b5a6109ec611587565b10610a315760405162461bcd60e51b81526004018080602001828103825260298152602001806118846029913960400191505060405180910390610a2e61142d565b50505b828114610a7f5760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015260640160405180910390610a7c61142d565b50505b60005b60ff8116841115610ad257610aca85858360ff16818110610a9f57fe5b905060200201356001600160a01b031684848460ff16818110610abe57fe5b90506020020135610e3c565b600101610a82565b5050505050565b60006002610ae5611498565b906101000a90046001600160a01b03166001600160a01b03165a610b07611541565b6001600160a01b031614610b555760405162461bcd60e51b81526004018080602001828103825260348152602001806118506034913960400191505060405180910390610b5261142d565b50505b6001600160a01b038216600090815260036020528190604090208190610b796114f3565b505050600580610b87611498565b6001600160a01b03841660009081526003602052909150604090206001018190610ad26114f3565b60006007610800611498565b60006002610800611498565b60006002610bd3611498565b906101000a90046001600160a01b03166001600160a01b03165a610bf5611541565b6001600160a01b031614610c435760405162461bcd60e51b81526004018080602001828103825260348152602001806118506034913960400191505060405180910390610c4061142d565b50505b6001600160a01b038116600090815260036020526040902060008082610c676114f3565b505060018201600090610ad26114f3565b6001600160a01b038116600090815260036020528060408120610c99611498565b1192915050565b60006002610cac611498565b906101000a90046001600160a01b03166001600160a01b03165a610cce611541565b6001600160a01b031614610d1c5760405162461bcd60e51b81526004018080602001828103825260348152602001806118506034913960400191505060405180910390610d1961142d565b50505b61066860016004610d2b611498565b9063ffffffff61125616565b6000600580610d44611498565b91505090565b60086104d9611498565b600080610d5f611498565b906101000a90046001600160a01b03166001600160a01b03165a610d81611541565b6001600160a01b031614610dcf5760405162461bcd60e51b815260040180806020018281038252602f815260200180611800602f913960400191505060405180910390610dcc61142d565b50505b565b600082820183811015610e335760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390610e3061142d565b50505b90505b92915050565b60006008610e48611498565b90506000610e5c838363ffffffff610dd116565b905080806008610e6a6114f3565b5060009150610e819050848363ffffffff6112bb16565b90506000610f3c8273__$6384d6e7209c632280b8ae53e4b0cb3fad$__63d5e5e6e66040518163ffffffff1660e01b81526004016020604051808303818680610ec86115cd565b158015610edd57600080610eda61142d565b50505b505a610ee7611619565b5050505050158015610f06573d6000803e3d6000610f0361142d565b50505b505050506040513d6020811015610f2557600080610f2261142d565b50505b8101908080519392505063ffffffff611256169050565b6001600160a01b0387166000908152600360205290915060409020610f5f611498565b610f8157610f726001600461065c611498565b806004610f7d6114f3565b5050505b6001600160a01b038616600090815260036020528290604090208190610fa56114f3565b505050600580610fb3611498565b6001600160a01b03881660009081526003602052909150604090206001018190610fdb6114f3565b5050506000600580610feb611498565b9050111561107957600561103a8260056001600580611008611498565b90500381611014611498565b811061101c57fe5b9060005260206000200161102e611498565b9063ffffffff6112d416565b9080600181611047611498565b0180826110526114f3565b50506000928352916000198301915060209020919291016110716114f3565b50505061115e565b600573__$6384d6e7209c632280b8ae53e4b0cb3fad$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186806110ba6115cd565b1580156110cf576000806110cc61142d565b50505b505a6110d9611619565b50505050501580156110f8573d6000803e3d60006110f561142d565b50505b505050506040513d60208110156111175760008061111461142d565b50505b8101908080519392508291506001905081611130611498565b01808261113b6114f3565b505060009283529160001983019150602090209192910161115a6114f3565b5050505b6000600761116a611498565b6001600160a01b03888116600090815260036020526101009390930a909104169063866452749088906040902061119f611498565b6001600160a01b038a1660009081526003602052604090206001016111c2611498565b6040516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915260448201526064016000604051808303816000878061120b6115cd565b1580156112205760008061121d61142d565b50505b505a61122a611704565b50505050505015801561124a573d6000803e3d600061124761142d565b50505b50505050505050505050565b6000828211156112b55760405162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700006044820152606401604051809103906112b261142d565b50505b50900390565b6000610e3383836b033b2e3c9fd0803ce80000006112ed565b6000610e3383836b033b2e3c9fd0803ce8000000611331565b6000806113138461130787600a870263ffffffff61135c16565b9063ffffffff6113bb16565b90506005600a825b061061132557600a015b600a9004949350505050565b600080600a8304611348868663ffffffff61135c16565b8161134f57fe5b0490506005600a8261131b565b60008261136b57506000610e36565b8282028284828161137857fe5b0414610e335760405162461bcd60e51b815260040180806020018281038252602181526020018061182f6021913960400191505060405180910390610e3061142d565b60008082116114195760405162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f00000000000060448201526064016040518091039061141661142d565b50505b600082848161142457fe5b04949350505050565b632a2a7adb598160e01b8152600481016020815285602082015260005b8681101561146557808601518282016040015260200161144a565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b6040811015610673576000828201526020016114dc565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b6000815260206114dc565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206114dc565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206114dc565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b805160008252935060206114dc565b63ffe73914598160e01b815261164a565b8080831115610e36575090919050565b8080831015610e36575090919050565b836004820152846024820152606060448201528660648201526084810160005b8881101561168257808801518282015260200161166a565b506060828960a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8b8b82606087013350600060045af150596116d78d3d61163a565b8c016116e3818761162a565b5b828110156116f857600081526020016116e4565b50929c50505050505050565b6385979f76598160e01b8152836004820152846024820152606060448201528760648201526084810160005b89811015611748578089015182820152602001611730565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af1505961179d8e3d61163a565b8d016117a9818761162a565b5b828110156117be57600081526020016117aa565b50929d5050505050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFeePool",
							"type": "address"
						}
					],
					"name": "FeePoolUpdated",
					"type": "event",
					"signature": "0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "contract IFeePool",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "pUSDAmounts",
							"type": "uint256[]"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9e49e976"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "importedDebtAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd9da1da"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			],
			"source": {
				"keccak256": "0x6895d7d0e0afa9c993a12c37739c4d34cafb44bb860c17377651ea2404b81573",
				"urls": [
					"bzz-raw://f6206ce37baf5cea03205b2609674538ec6ba11f7f3c6e76db248d126bbf9361",
					"dweb:/ipfs/QmYezPLeH8D5PsqzPBfqRPhwvTqCoaQiZzSFa8weifHakd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16-develop.2020.12.10+ovm+commit.25adf37d"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceStateWithLimitedSetup.sol": "PeriFinanceStateWithLimitedSetup"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceStateWithLimitedSetup.sol": {
						"keccak256": "0x6895d7d0e0afa9c993a12c37739c4d34cafb44bb860c17377651ea2404b81573",
						"urls": [
							"bzz-raw://f6206ce37baf5cea03205b2609674538ec6ba11f7f3c6e76db248d126bbf9361",
							"dweb:/ipfs/QmYezPLeH8D5PsqzPBfqRPhwvTqCoaQiZzSFa8weifHakd"
						]
					}
				},
				"version": 1
			}
		}
	}
}
