{
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x6bf0247C568f5979DB55731d3e8feEb438C13043",
			"source": "SafeDecimalMath",
			"link": "https://goerli.etherscan.io/address/0x6bf0247C568f5979DB55731d3e8feEb438C13043",
			"timestamp": "2020-10-07T00:16:13.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xd38c6fd190972ca9534b8b5ed6a2fc92d2897fd010a136a2d576aa1f94122119",
			"network": "goerli"
		},
		"Math": {
			"name": "Math",
			"address": "0xAc17d62CdA66dcC3301Cd5D99e1282708B105E16",
			"source": "Math",
			"link": "https://goerli.etherscan.io/address/0xAc17d62CdA66dcC3301Cd5D99e1282708B105E16",
			"timestamp": "2020-10-07T00:16:13.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xf9f424c123a8f7f86e8ee5a0bcb623b6443c57eb66cd46396257c650f3afb1aa",
			"network": "goerli"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0xcA434c47d476b20724985a9E1A54917A9338277C",
			"source": "AddressResolver",
			"link": "https://goerli.etherscan.io/address/0xcA434c47d476b20724985a9E1A54917A9338277C",
			"timestamp": "2020-10-07T00:16:28.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xf91f4ff0d451aad8e281b830e2edf50bc134a32bcc08932dd24310571969a74e",
			"network": "goerli"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x908196819E380A31bC270697CD8D4ee3471F8224",
			"source": "ReadProxy",
			"link": "https://goerli.etherscan.io/address/0x908196819E380A31bC270697CD8D4ee3471F8224",
			"timestamp": "2020-10-07T00:16:43.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xc5afd95aa948f6fdac4588a9eab31b581495bbabd87a5b85798ff21c0e4d3ae7",
			"network": "goerli"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0x5277D0A28A6f6B748E6F50ac3bF3f5f3F69D99Cc",
			"source": "FlexibleStorage",
			"link": "https://goerli.etherscan.io/address/0x5277D0A28A6f6B748E6F50ac3bF3f5f3F69D99Cc",
			"timestamp": "2020-10-07T00:17:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x0c28076ecb84369285ab98ed850293ef3f141e64776e15f31f22b0bcc9460aae",
			"network": "goerli"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F",
			"source": "SystemSettings",
			"link": "https://goerli.etherscan.io/address/0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F",
			"timestamp": "2020-10-13T20:01:43.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xfabc11d8d22da8608efa709169c4b59d065330532cdca76613b5f8bf1fa5a2b6",
			"network": "goerli"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0xFb9cAa9c468e32E0Efb5bF5Ea6E646BC3732FF24",
			"source": "SystemStatus",
			"link": "https://goerli.etherscan.io/address/0xFb9cAa9c468e32E0Efb5bF5Ea6E646BC3732FF24",
			"timestamp": "2020-10-07T00:18:14.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xb47568655de4b1f465af024f7939923c049ef4bbb88132310a3ab9381114ffaf",
			"network": "goerli"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x921283b04A4e09bcE87B24DA868d82F901267648",
			"source": "ExchangeRates",
			"link": "https://goerli.etherscan.io/address/0x921283b04A4e09bcE87B24DA868d82F901267648",
			"timestamp": "2020-11-20T15:39:48.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xadc53ca6a25428323e020d93019e465b56ca2c28f5562736b1cdf503d5201abb",
			"network": "goerli"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0x494d7777e7c03e0849A65082b370BAA545485f23",
			"source": "RewardEscrow",
			"link": "https://goerli.etherscan.io/address/0x494d7777e7c03e0849A65082b370BAA545485f23",
			"timestamp": "2020-10-07T00:18:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x6a71e477f35bcfed2b038e3aada948a02bc66479d21f59a8279dc0802d3d4ecb",
			"network": "goerli"
		},
		"SynthetixEscrow": {
			"name": "SynthetixEscrow",
			"address": "0x8A6a66eC1ebc666EC86270207A954Deb064d4609",
			"source": "SynthetixEscrow",
			"link": "https://goerli.etherscan.io/address/0x8A6a66eC1ebc666EC86270207A954Deb064d4609",
			"timestamp": "2020-10-07T00:19:14.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x8179ca5c0754350cede2b848f695a1c3902b95a4d706c022239186532e69b093",
			"network": "goerli"
		},
		"SynthetixState": {
			"name": "SynthetixState",
			"address": "0x858117dCcEF29DCDD0a47a2129b4cf00a964565b",
			"source": "SynthetixState",
			"link": "https://goerli.etherscan.io/address/0x858117dCcEF29DCDD0a47a2129b4cf00a964565b",
			"timestamp": "2020-10-07T00:19:29.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x103f192b5ff1987ac2d336392352a47c2d2c1a68fb6d00556f72e6091c64a69d",
			"network": "goerli"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0x1b07C9E5C98b272d90e890e20F36f37B2BBC7365",
			"source": "Proxy",
			"link": "https://goerli.etherscan.io/address/0x1b07C9E5C98b272d90e890e20F36f37B2BBC7365",
			"timestamp": "2020-10-07T00:20:29.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xf3c3cde1e755f88472f11d837854ab19f545c7e131fb859fe6689f726b8a824a",
			"network": "goerli"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0x308462997E4A147ac9e68456f7204d3BF4B9DFD8",
			"source": "EternalStorage",
			"link": "https://goerli.etherscan.io/address/0x308462997E4A147ac9e68456f7204d3BF4B9DFD8",
			"timestamp": "2020-10-07T00:20:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xda229ded4ac7b139708f42cd6a23ab336757b40c0a32667b98da10c343e2911c",
			"network": "goerli"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x799cCf9B8Aacf4692E65E6613F3709528b24813a",
			"source": "DelegateApprovals",
			"link": "https://goerli.etherscan.io/address/0x799cCf9B8Aacf4692E65E6613F3709528b24813a",
			"timestamp": "2020-10-07T00:20:59.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xde27ec95b9bb2d476f467a6bcdc142578f7675c209b846781654a37650cc2848",
			"network": "goerli"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0x8c24CD72A335D1Db705fF710EBfD1Cd177F77Add",
			"source": "Liquidations",
			"link": "https://goerli.etherscan.io/address/0x8c24CD72A335D1Db705fF710EBfD1Cd177F77Add",
			"timestamp": "2020-10-07T00:21:59.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xc076445ee740b662b73e2cae2d993683858d0b1e5513dd2ef9c651145fe921ca",
			"network": "goerli"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x773DAF0d86d2174112347b86d02281f7D1BF0217",
			"source": "EternalStorage",
			"link": "https://goerli.etherscan.io/address/0x773DAF0d86d2174112347b86d02281f7D1BF0217",
			"timestamp": "2020-10-07T00:22:05.164Z",
			"txn": "",
			"network": "goerli"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0x35680DD3e758607401cf5af837ADb5aF1B70dfbd",
			"source": "FeePoolEternalStorage",
			"link": "https://goerli.etherscan.io/address/0x35680DD3e758607401cf5af837ADb5aF1B70dfbd",
			"timestamp": "2020-10-07T00:23:59.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x55df43fda91044b793030412905fd25f8c758417794476ee24acf5c299fe49a4",
			"network": "goerli"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x0b25003050c0189e6929db37987b0A20Cc802539",
			"source": "FeePool",
			"link": "https://goerli.etherscan.io/address/0x0b25003050c0189e6929db37987b0A20Cc802539",
			"timestamp": "2020-10-07T00:24:14.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xe535471010e6a064bc3e850e19aa7aa07d35a6baa925af0352157de611c67f5b",
			"network": "goerli"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x95E852a2131DFA4280E226c8A49528C1691D4F8B",
			"source": "FeePoolState",
			"link": "https://goerli.etherscan.io/address/0x95E852a2131DFA4280E226c8A49528C1691D4F8B",
			"timestamp": "2020-10-07T00:25:29.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xc0ae71ecb04d6635f89f07bac98d58101aff3befd983697bb2bf058697d0a7fd",
			"network": "goerli"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0x32a5f3d439Dde23abfA6fEE5F440b19c46c32de9",
			"source": "RewardsDistribution",
			"link": "https://goerli.etherscan.io/address/0x32a5f3d439Dde23abfA6fEE5F440b19c46c32de9",
			"timestamp": "2020-10-07T00:25:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xc10e4192e919607df1a41336d6f28c1cc1a1cdf771a620d253603bae3094275e",
			"network": "goerli"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0x0ab8DCB1f5DA04CE8f41695c7685c949dC240918",
			"source": "ProxyERC20",
			"link": "https://goerli.etherscan.io/address/0x0ab8DCB1f5DA04CE8f41695c7685c949dC240918",
			"timestamp": "2020-10-07T00:26:29.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x94f4fc1e4b89f91a19c78d567be2ffa8f8dd092e22bcb0ca2a4282b2634907b4",
			"network": "goerli"
		},
		"TokenStateSynthetix": {
			"name": "TokenStateSynthetix",
			"address": "0xe6E2F6400F9Fc8464890A7770C95705E7719bcba",
			"source": "TokenState",
			"link": "https://goerli.etherscan.io/address/0xe6E2F6400F9Fc8464890A7770C95705E7719bcba",
			"timestamp": "2020-10-07T00:26:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x368925f07cfad3d63d4abd3ce90ca1c5b7e4548ebf2328ec710386c5738d8cf7",
			"network": "goerli"
		},
		"Synthetix": {
			"name": "Synthetix",
			"address": "0xC6f3DfFAF66457b46eaeFD7AEbE4b05d9e37Aa56",
			"source": "Synthetix",
			"link": "https://goerli.etherscan.io/address/0xC6f3DfFAF66457b46eaeFD7AEbE4b05d9e37Aa56",
			"timestamp": "2020-11-20T15:40:03.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xf6608a0250bacec5000663dd35110c45dfb43ab03f0586092515e6e7c0798c12",
			"network": "goerli"
		},
		"ProxySynthetix": {
			"name": "ProxySynthetix",
			"address": "0x8e3EB43f05bd9BEE26Ae47E6Fe2182Cb4FF7fad8",
			"source": "Proxy",
			"link": "https://goerli.etherscan.io/address/0x8e3EB43f05bd9BEE26Ae47E6Fe2182Cb4FF7fad8",
			"timestamp": "2020-10-07T00:27:46.126Z",
			"txn": "",
			"network": "goerli"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0xc449ce6cd726c0bf7373ecf4888E5f6Ee6dB5aF4",
			"source": "ExchangerWithVirtualSynth",
			"link": "https://goerli.etherscan.io/address/0xc449ce6cd726c0bf7373ecf4888E5f6Ee6dB5aF4",
			"timestamp": "2020-11-20T15:41:33.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x0d8c91678deb1a8d155ab22fe299f9f9966e4e3e56d92a64e9545a1bc42dec1d",
			"network": "goerli"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0xd7188691923871461a36D9bB373d283fe3a96363",
			"source": "ExchangeState",
			"link": "https://goerli.etherscan.io/address/0xd7188691923871461a36D9bB373d283fe3a96363",
			"timestamp": "2020-10-07T00:28:59.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xf4d4ce217e569b410a04064676c47f6432b7a41eef3772f4de24507b6ab1494f",
			"network": "goerli"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x5a807A6c260eA14cbe1E27264CdD01a95EC8eD9c",
			"source": "Issuer",
			"link": "https://goerli.etherscan.io/address/0x5a807A6c260eA14cbe1E27264CdD01a95EC8eD9c",
			"timestamp": "2020-11-20T15:42:48.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xa2ed784f4f2b4bac6382609a1ac3095cf31a87dacec743e4c5fe4e8474fb4739",
			"network": "goerli"
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x20BC10aC03Aa20E52BAc1D0f7beA230F29AF82E6",
			"source": "TradingRewards",
			"link": "https://goerli.etherscan.io/address/0x20BC10aC03Aa20E52BAc1D0f7beA230F29AF82E6",
			"timestamp": "2020-10-07T00:30:59.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x15eb3f3ea465e84633e209f5cbdcbc6d5d58986ff8452829b64d13010e12c1bd",
			"network": "goerli"
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0x356470bB336D03a12D2e303AB35bD52EfD76F0eb",
			"source": "EscrowChecker",
			"link": "https://goerli.etherscan.io/address/0x356470bB336D03a12D2e303AB35bD52EfD76F0eb",
			"timestamp": "2020-10-07T00:31:29.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xce7cad772c91250b3788cfcfe98ccabdbd1fb3866bfa1b48d1ee9739292c326a",
			"network": "goerli"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0x520cBE7960B123343abEc4Ef80eF0F1F4B14Cb79",
			"source": "SupplySchedule",
			"link": "https://goerli.etherscan.io/address/0x520cBE7960B123343abEc4Ef80eF0F1F4B14Cb79",
			"timestamp": "2020-10-07T00:32:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x96a6aaf220a3a2e64ea939013f0a906a0b297c53bfa6a4c1ddeef19bce1568d9",
			"network": "goerli"
		},
		"TokenStatesUSD": {
			"name": "TokenStatesUSD",
			"address": "0x96FDc785344B05a8a9d554985bfd51FAf5e1dF7D",
			"source": "TokenState",
			"link": "https://goerli.etherscan.io/address/0x96FDc785344B05a8a9d554985bfd51FAf5e1dF7D",
			"timestamp": "2020-10-07T00:34:17.579Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxysUSD": {
			"name": "ProxysUSD",
			"address": "0xbB4C265687E85c3847e58E1136A7cc4FE564A943",
			"source": "ProxyERC20",
			"link": "https://goerli.etherscan.io/address/0xbB4C265687E85c3847e58E1136A7cc4FE564A943",
			"timestamp": "2020-10-07T00:34:29.954Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxyERC20sUSD": {
			"name": "ProxyERC20sUSD",
			"address": "0x2C316bf4A0543C92D760c14fEbe2679Bb465B752",
			"source": "ProxyERC20",
			"link": "https://goerli.etherscan.io/address/0x2C316bf4A0543C92D760c14fEbe2679Bb465B752",
			"timestamp": "2020-10-07T00:35:00.255Z",
			"txn": "",
			"network": "goerli"
		},
		"SynthsUSD": {
			"name": "SynthsUSD",
			"address": "0x150380cA0685267A0390096821BD6659ffE4e732",
			"source": "Synth",
			"link": "https://goerli.etherscan.io/address/0x150380cA0685267A0390096821BD6659ffE4e732",
			"timestamp": "2020-10-07T00:35:14.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x67c549b657b1053e20fa553c1ff07f7ce97421ddc6e09e1f8ce361e0e7785320",
			"network": "goerli"
		},
		"TokenStatesETH": {
			"name": "TokenStatesETH",
			"address": "0xcaFE05Ae698a784396D21382339f92a2BFdB7adE",
			"source": "TokenState",
			"link": "https://goerli.etherscan.io/address/0xcaFE05Ae698a784396D21382339f92a2BFdB7adE",
			"timestamp": "2020-10-07T00:36:44.829Z",
			"txn": "",
			"network": "goerli"
		},
		"ProxysETH": {
			"name": "ProxysETH",
			"address": "0xa636F7B67561b624facBA2dDfc3a734CA7cB22cE",
			"source": "ProxyERC20",
			"link": "https://goerli.etherscan.io/address/0xa636F7B67561b624facBA2dDfc3a734CA7cB22cE",
			"timestamp": "2020-10-07T00:37:15.272Z",
			"txn": "",
			"network": "goerli"
		},
		"SynthsETH": {
			"name": "SynthsETH",
			"address": "0x268731ADc0122aC71A0d384b3B7fCcd28eB676c6",
			"source": "MultiCollateralSynth",
			"link": "https://goerli.etherscan.io/address/0x268731ADc0122aC71A0d384b3B7fCcd28eB676c6",
			"timestamp": "2020-10-07T00:37:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xba8d99f18797f49e8b9e86bd470daa5ad68297ac7768568d924d0ea191511577",
			"network": "goerli"
		},
		"Depot": {
			"name": "Depot",
			"address": "0xd781428091a09f9918455aF9093787BfFAB57f61",
			"source": "Depot",
			"link": "https://goerli.etherscan.io/address/0xd781428091a09f9918455aF9093787BfFAB57f61",
			"timestamp": "2020-10-07T00:38:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xcaabe671fc748b49ecc5dd91b09a9cafd4349066d57af3e7724f0c5f2f86908a",
			"network": "goerli"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0x97131A7a853c2e92Da10C0B0C7E79E78501ee026",
			"source": "EtherCollateral",
			"link": "https://goerli.etherscan.io/address/0x97131A7a853c2e92Da10C0B0C7E79E78501ee026",
			"timestamp": "2020-10-07T00:38:59.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x94c86de22468c167e917394f5cbf64c653b7c809b0361422791677724d4e7a06",
			"network": "goerli"
		},
		"EtherCollateralsUSD": {
			"name": "EtherCollateralsUSD",
			"address": "0x31F648eeCB0387cBCe269B2af0c320f6789c00C0",
			"source": "EtherCollateralsUSD",
			"link": "https://goerli.etherscan.io/address/0x31F648eeCB0387cBCe269B2af0c320f6789c00C0",
			"timestamp": "2020-10-07T00:39:59.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xbd9a110e8ec719076e8b88024fb659a94b77d4423f6584b2c9899addaf79f771",
			"network": "goerli"
		},
		"SynthUtil": {
			"name": "SynthUtil",
			"address": "0x4d34f640AF066ef7cc4A72AF98cD32150e7aFB00",
			"source": "SynthUtil",
			"link": "https://goerli.etherscan.io/address/0x4d34f640AF066ef7cc4A72AF98cD32150e7aFB00",
			"timestamp": "2020-10-07T00:40:29.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xd794b5d48c3e1e85f481f29eb028ab2eb2207ea87acc87ac7c9e7a302095bb7b",
			"network": "goerli"
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0xa91e673D0438BBA4D2Ef76aEcD5e8191Cb51CBeb",
			"source": "DappMaintenance",
			"link": "https://goerli.etherscan.io/address/0xa91e673D0438BBA4D2Ef76aEcD5e8191Cb51CBeb",
			"timestamp": "2020-10-07T00:40:44.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xeb61342f4a170cc89d4c1c34cff48460656b68a83db65e2fa9d4c9a5db79ef78",
			"network": "goerli"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0x4093eB7D7DeF2dcaE3e53555fc99CE46C8E458B1",
			"source": "DebtCache",
			"link": "https://goerli.etherscan.io/address/0x4093eB7D7DeF2dcaE3e53555fc99CE46C8E458B1",
			"timestamp": "2020-11-20T15:41:18.000Z",
			"txn": "https://goerli.etherscan.io/tx/0xe0e3b47a4a9cc388eececd052a2ef88032cb688b1820fbaaaa4006bba9311c27",
			"network": "goerli"
		},
		"SynthetixBridgeToOptimism": {
			"name": "SynthetixBridgeToOptimism",
			"address": "0x6104C44f0b895E37F94da84bF3127f7a635EE6Bd",
			"source": "SynthetixBridgeToOptimism",
			"link": "https://goerli.etherscan.io/address/0x6104C44f0b895E37F94da84bF3127f7a635EE6Bd",
			"timestamp": "2020-11-20T15:44:18.000Z",
			"txn": "https://goerli.etherscan.io/tx/0x1307a502435f68863e92c5a6cf45941da0ba28f3aa4ae4a61cd6459d0102d454",
			"network": "goerli"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a72315820cb0c622a803e17ecfaafbf0f24707e814bc226eb9263e3a0072143e5ff49a07a64736f6c63430005100032",
			"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": "0xbcc09d9e0a315788c29a9c5800737f6a4743b938f04628056a2640a63cb47715",
				"urls": [
					"bzz-raw://694e78fb8d5c57be39da4d8252801bbbe1fa76e00ba4002083878208e78709d0",
					"dweb:/ipfs/QmapHe8ZjoSx9PJvCBqxVHZaL5UyCJhch6hh7cYBECEsF8"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0xbcc09d9e0a315788c29a9c5800737f6a4743b938f04628056a2640a63cb47715",
						"urls": [
							"bzz-raw://694e78fb8d5c57be39da4d8252801bbbe1fa76e00ba4002083878208e78709d0",
							"dweb:/ipfs/QmapHe8ZjoSx9PJvCBqxVHZaL5UyCJhch6hh7cYBECEsF8"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820be5a94637ae1f92fc0419a8caaf8f34ed20550d7a216797be3e83b75798a230c64736f6c63430005100032",
			"abi": [],
			"source": {
				"keccak256": "0xa613ae2a85dbfbbad71e4b441b6c801f012a9e6690fd7dd7c2f9684ccd644799",
				"urls": [
					"bzz-raw://0727d0a172c6202350c9d489e84e9776f3240160684db318e6412b2e117b9266",
					"dweb:/ipfs/QmWDXTz8P6L5G52j4Wv8LQX4BQ276aV71LB8S3X6ACdKBv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Math.sol": "Math"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Math.sol": {
						"keccak256": "0xa613ae2a85dbfbbad71e4b441b6c801f012a9e6690fd7dd7c2f9684ccd644799",
						"urls": [
							"bzz-raw://0727d0a172c6202350c9d489e84e9776f3240160684db318e6412b2e117b9266",
							"dweb:/ipfs/QmWDXTz8P6L5G52j4Wv8LQX4BQ276aV71LB8S3X6ACdKBv"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b506040516108233803806108238339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050610729806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353a47bb71161006657806353a47bb71461013357806379ba50971461013b5780638da5cb5b14610143578063ab0b8f771461014b578063dacb2d011461020d57610093565b80631627540c14610098578063187f7935146100c057806321f8a721146100f95780635145606114610116575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610284565b005b6100dd600480360360208110156100d657600080fd5b50356102e0565b604080516001600160a01b039092168252519081900360200190f35b6100dd6004803603602081101561010f57600080fd5b50356102fb565b6100dd6004803603602081101561012c57600080fd5b5035610316565b6100dd61041e565b6100be61042d565b6100dd6104e9565b6100be6004803603604081101561016157600080fd5b81019060208101813564010000000081111561017c57600080fd5b82018360208201111561018e57600080fd5b803590602001918460208302840111640100000000831117156101b057600080fd5b9193909290916020810190356401000000008111156101ce57600080fd5b8201836020820111156101e057600080fd5b8035906020019184602083028401116401000000008311171561020257600080fd5b5090925090506104f8565b6100dd6004803603604081101561022357600080fd5b8135919081019060408101602082013564010000000081111561024557600080fd5b82018360208201111561025757600080fd5b8035906020019184600183028401116401000000008311171561027957600080fd5b5090925090506105d1565b61028c610645565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806103a7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103eb57600080fd5b505afa1580156103ff573d6000803e3d6000fd5b505050506040513d602081101561041557600080fd5b50519392505050565b6001546001600160a01b031681565b6001546001600160a01b031633146104765760405162461bcd60e51b81526004018080602001828103825260358152602001806106916035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b610500610645565b828114610554576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156105ca5782828281811061056b57fe5b905060200201356001600160a01b03166002600087878581811061058b57fe5b6020908102929092013583525081019190915260400160002080546001600160a01b0319166001600160a01b0392909216919091179055600101610557565b5050505050565b6000838152600260205260408120546001600160a01b031683838261063a5760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b0316331461068e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806106c6602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158202a71f17124364a7394cbe927bae8b72991266649fa4f4a084954cc7fb691516364736f6c63430005100032",
			"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"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"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": "getSynth",
					"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": 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": "0x9c12bd129e71f48aaea820e7617a561571ea25b10c6a90d69f9614bfb05556b3",
				"urls": [
					"bzz-raw://8478a08eeab609d91834bb3ea2562b3b528adb9167caeceb41299caf4746b0d2",
					"dweb:/ipfs/QmdE6Eemm6bwxRaQnaqxGMo8dajJ4FSHBAVMPHk4iLByEn"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"AddressResolver.sol": "AddressResolver"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"AddressResolver.sol": {
						"keccak256": "0x9c12bd129e71f48aaea820e7617a561571ea25b10c6a90d69f9614bfb05556b3",
						"urls": [
							"bzz-raw://8478a08eeab609d91834bb3ea2562b3b528adb9167caeceb41299caf4746b0d2",
							"dweb:/ipfs/QmdE6Eemm6bwxRaQnaqxGMo8dajJ4FSHBAVMPHk4iLByEn"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820ebb7e44d4271d1ecdf119b6a0fb481127f88d7310f81056c9f722efadb02ab9c64736f6c63430005100032",
			"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": "0xd2601016da827c10373daaf03fd5a2f07227cccc4db763a5165909c6d3cd56a9",
				"urls": [
					"bzz-raw://81fe1fce1c17ec640fd7ed214fe9e578af63a5c78e35c47780c5d8c8ac4f7922",
					"dweb:/ipfs/QmaN7DtNSjEmvU1ELaNqDfxs26JEZ4GdDWE9EyhtNQzXL4"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0xd2601016da827c10373daaf03fd5a2f07227cccc4db763a5165909c6d3cd56a9",
						"urls": [
							"bzz-raw://81fe1fce1c17ec640fd7ed214fe9e578af63a5c78e35c47780c5d8c8ac4f7922",
							"dweb:/ipfs/QmaN7DtNSjEmvU1ELaNqDfxs26JEZ4GdDWE9EyhtNQzXL4"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a72315820bdee8814580757614c4504a1be30463b164f9dfaa045b4dc6a6b21d80306408d64736f6c63430005100032",
			"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": "0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757",
				"urls": [
					"bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874",
					"dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FlexibleStorage.sol": "FlexibleStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FlexibleStorage.sol": {
						"keccak256": "0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757",
						"urls": [
							"bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874",
							"dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "60a0604052600060809081526200001b90600590600162000374565b503480156200002957600080fd5b5060405162002ef438038062002ef4833981810160405260408110156200004f57600080fd5b50805160209091015160408051610300810191829052829160059060189082845b8154815260200190600101908083116200007057508793505050506001600160a01b038116620000e7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000192576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620001fa576000828260188110620001ae57fe5b602002015114620001eb576004828260188110620001c857fe5b6020908102919091015182546001810184556000938452919092200155620001f1565b620001fa565b60010162000195565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620002396e466c657869626c6553746f7261676560881b62000241565b5050620003d7565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0182905554601811620002cb576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b1580156200031857600080fd5b505afa1580156200032d573d6000803e3d6000fd5b505050506040513d60208110156200034457600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b8260188101928215620003a5579160200282015b82811115620003a557825182559160200191906001019062000388565b50620003b3929150620003b7565b5090565b620003d491905b80821115620003b35760008155600101620003be565b90565b612b0d80620003e76000396000f3fe608060405234801561001057600080fd5b50600436106102f15760003560e01c8063635a38721161019d578063af5355d8116100e9578063d62ae399116100a2578063e94220461161007c578063e942204614610735578063f1076b2514610752578063f344da671461075a578063fb1b4c7e14610762576102f1565b8063d62ae399146106e0578063e0e6393d14610725578063e3235c911461072d576102f1565b8063af5355d8146106e8578063af8bc660146106f0578063b2ea7054146105f2578063b410a034146106f8578063c193f0d814610700578063c6c9d82814610708576102f1565b80638da5cb5b11610156578063a0cf745111610130578063a0cf74511461068f578063a4ce5b7114610697578063ab49848c1461069f578063add0989d146106e0576102f1565b80638da5cb5b1461064d578063946ce8cd14610655578063967706e914610672576102f1565b8063635a3872146105d5578063657c6dc7146105f257806379ba5097146105fa57806379cb657a146106025780637bf823051461061f5780638925711714610645576102f1565b806328a1170d1161025c57806353a47bb711610215578063580a975c116101ef578063580a975c146105595780635e0117d6146105615780636190dd7a1461057e578063631e14441461059b576102f1565b806353a47bb71461052c57806354b302c51461053457806357b154d51461053c576102f1565b806328a1170d146103f85780632cce0e54146104ba578063372a395a146104d75780633be99e6f146104df5780634641ab66146105055780634c36b83714610524576102f1565b80631775765f116102ae5780631775765f1461039e5780631e6e2190146103a657806322425fa4146103c357806323f5589a146103cb578063242df9e1146103d35780632806a743146103db576102f1565b806304c49f2c146102f657806304f3bcec14610315578063054be0b714610339578063085f95cd146103565780630ee4951b146103705780631627540c14610378575b600080fd5b6103136004803603602081101561030c57600080fd5b503561076a565b005b61031d6108f0565b604080516001600160a01b039092168252519081900360200190f35b6103136004803603602081101561034f57600080fd5b50356108ff565b61035e610a18565b60408051918252519081900360200190f35b61035e610a24565b6103136004803603602081101561038e57600080fd5b50356001600160a01b0316610a33565b61035e610a8f565b610313600480360360208110156103bc57600080fd5b5035610a99565b61035e610b7b565b61035e610b85565b61035e610b8f565b610313600480360360208110156103f157600080fd5b5035610b99565b6103136004803603604081101561040e57600080fd5b81019060208101813564010000000081111561042957600080fd5b82018360208201111561043b57600080fd5b8035906020019184602083028401116401000000008311171561045d57600080fd5b91939092909160208101903564010000000081111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111640100000000831117156104af57600080fd5b509092509050610cb7565b610313600480360360208110156104d057600080fd5b5035610ee2565b61035e611097565b610313600480360360208110156104f557600080fd5b50356001600160a01b03166110a1565b6103136004803603602081101561051b57600080fd5b503515156111ce565b61031d6112ad565b61031d6112b7565b61035e6112c6565b6103136004803603602081101561055257600080fd5b50356112d0565b61035e6113a3565b6103136004803603602081101561057757600080fd5b50356113aa565b6103136004803603602081101561059457600080fd5b503561152f565b6105c1600480360360208110156105b157600080fd5b50356001600160a01b0316611609565b604080519115158252519081900360200190f35b610313600480360360208110156105eb57600080fd5b5035611726565b61035e6117fc565b610313611808565b6103136004803603602081101561061857600080fd5b50356118c4565b6103136004803603602081101561063557600080fd5b50356001600160a01b0316611998565b61035e611ada565b61031d611ae4565b6103136004803603602081101561066b57600080fd5b5035611af3565b61035e6004803603602081101561068857600080fd5b5035611d09565b61035e611d1a565b61035e611d24565b6106a7611d30565b604051808261030080838360005b838110156106cd5781810151838201526020016106b5565b5050505090500191505060405180910390f35b61035e611d7a565b61035e611d81565b61035e611d8b565b61035e611d90565b6105c1611d9a565b61035e6004803603602081101561071e57600080fd5b5035611da4565b61035e611dc2565b61035e611dcc565b6103136004803603602081101561074b57600080fd5b5035611dd1565b61035e611efe565b61035e611f05565b61035e611f0c565b610772611f18565b620151808110156107ca576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610822576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b61082a611f63565b6001600160a01b0316631d5b277f600080516020612a5e833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156108a157600080fd5b505af11580156108b5573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610907611f18565b670de0b6b3a764000081111561094e5760405162461bcd60e51b8152600401808060200182810382526033815260200180612a7e6033913960400191505060405180910390fd5b610956611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526c69737375616e6365526174696f60981b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156109c957600080fd5b505af11580156109dd573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6703782dace9d9000081565b6000610a2e611fb6565b905090565b610a3b611f18565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610a2e61205c565b610aa1611f18565b610aa9611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610b2c57600080fd5b505af1158015610b40573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610a2e6120d2565b6000610a2e612149565b6000610a2e6121c1565b610ba1611f18565b6703782dace9d90000811115610be85760405162461bcd60e51b81526004018080602001828103825260218152602001806129806021913960400191505060405180910390fd5b610bf0611f63565b6001600160a01b0316631d5b277f600080516020612a5e833981519152716c69717569646174696f6e50656e616c747960701b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610c6857600080fd5b505af1158015610c7c573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b610cbf611f18565b828114610d13576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015610edb5767016345785d8a0000838383818110610d3357fe5b905060200201351115610d8d576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b610d95611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526e65786368616e67654665655261746560881b888886818110610dd157fe5b90506020020135604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120868686818110610e1157fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610e5c57600080fd5b505af1158015610e70573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e858583818110610ea157fe5b90506020020135848484818110610eb457fe5b604080519485526020918202939093013590840152508051918290030190a1600101610d16565b5050505050565b610eea611f18565b6032811115610f35576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b6000610fc86064610fbc73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8357600080fd5b505af4158015610f97573d6000803e3d6000fd5b505050506040513d6020811015610fad57600080fd5b5051859063ffffffff61223716565b9063ffffffff61229716565b9050610fd2611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561104757600080fd5b505af115801561105b573d6000803e3d6000fd5b50506040805184815290517fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab129350908190036020019150a15050565b6000610a2e612301565b6110a9611f18565b600280546001600160a01b0319166001600160a01b03831617905560005b6004548110156111ca576000600482815481106110e057fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b15801561116a57600080fd5b505afa15801561117e573d6000803e3d6000fd5b505050506040513d602081101561119457600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b039092169190911790556001016110c7565b5050565b6111d6611f18565b6111de611f63565b60408051630fca29bf60e21b8152600080516020612a5e8339815191526004820152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6024820152831515604482015290516001600160a01b039290921691633f28a6fc9160648082019260009290919082900301818387803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b6000610a2e612384565b6001546001600160a01b031681565b6000610a2e612400565b6112d8611f18565b6112e0611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526d1b585e1a5b5d5b51195c1bdcda5d60921b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561135457600080fd5b505af1158015611368573d6000803e3d6000fd5b50506040805184815290517f1e80a107fd5ba086e2a723ceec9a9263bdfaed7997f66db919c1e9d1cf64817f9350908190036020019150a150565b62093a8081565b6113b2611f18565b62278d0081111561140a576040805162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015290519081900360640190fd5b62015180811015611462576040805162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015290519081900360640190fd5b61146a611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526f6c69717569646174696f6e44656c617960801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b611537611f18565b61153f611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191527464656274536e617073686f745374616c6554696d6560581b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156115ba57600080fd5b505af11580156115ce573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b6002546000906001600160a01b0383811691161461162957506000611721565b60005b60045481101561171b5760006004828154811061164557fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b1580156116ab57600080fd5b505afa1580156116bf573d6000803e3d6000fd5b505050506040513d60208110156116d557600080fd5b50516001600160a01b031614158061170257506000818152600360205260409020546001600160a01b0316155b1561171257600092505050611721565b5060010161162c565b50600190505b919050565b61172e611f18565b611736611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191527077616974696e67506572696f645365637360781b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156117ad57600080fd5b505af11580156117c1573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b670de0b6b3a764000081565b6001546001600160a01b031633146118515760405162461bcd60e51b81526004018080602001828103825260358152602001806129a16035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6118cc611f18565b6118d4611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561194957600080fd5b505af115801561195d573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b6119a0611f18565b6001600160a01b0381166119fb576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b611a03611f63565b604080516309b9412f60e31b8152600080516020612a5e83398151915260048201527561676772656761746f725761726e696e67466c61677360501b60248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b158015611a8257600080fd5b505af1158015611a96573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6000610a2e612474565b6000546001600160a01b031681565b611afb611f18565b611b9a611b85611b09612149565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b4d57600080fd5b505af4158015611b61573d6000803e3d6000fd5b505050506040513d6020811015611b7757600080fd5b50519063ffffffff6124eb16565b670de0b6b3a76400009063ffffffff61254516565b811115611bd85760405162461bcd60e51b81526004018080602001828103825260388152602001806129d66038913960400191505060405180910390fd5b6000611bfa671bc16d674ec80000611bee612563565b9063ffffffff6125d616565b905080821015611c3b5760405162461bcd60e51b8152600401808060200182810382526028815260200180612ab16028913960400191505060405180910390fd5b611c43611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526f6c69717569646174696f6e526174696f60801b856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611cb957600080fd5b505af1158015611ccd573d6000803e3d6000fd5b50506040805185815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a15050565b6000611d1482612600565b92915050565b6000610a2e6126d5565b671bc16d674ec8000081565b611d38612960565b60005b600454811015611d765760048181548110611d5257fe5b9060005260206000200154828260188110611d6957fe5b6020020152600101611d3b565b5090565b6201518081565b6000610a2e61274b565b603281565b6000610a2e612563565b6000610a2e6127c6565b60048181548110611db157fe5b600091825260209091200154905081565b6000610a2e612841565b601881565b611dd9611f18565b62093a80811115611e31576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b611e39611f63565b6001600160a01b0316631d5b277f600080516020612a5e8339815191526f6d696e696d756d5374616b6554696d6560801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611eaf57600080fd5b505af1158015611ec3573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b62278d0081565b624f1a0081565b67016345785d8a000081565b6000546001600160a01b03163314611f615760405162461bcd60e51b815260040180806020018281038252602f815260200180612a0e602f913960400191505060405180910390fd5b565b6000610a2e6e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f726167652061646472657373008152506128b6565b6000611fc0611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b505afa15801561203f573d6000803e3d6000fd5b505050506040513d602081101561205557600080fd5b5051905090565b6000612066611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b60006120dc611f63565b6001600160a01b03166323257c2b600080516020612a5e833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b6000612153611f63565b6001600160a01b03166323257c2b600080516020612a5e833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b60006121cb611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b60008261224657506000611d14565b8282028284828161225357fe5b04146122905760405162461bcd60e51b8152600401808060200182810382526021815260200180612a3d6021913960400191505060405180910390fd5b9392505050565b60008082116122ed576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816122f857fe5b04949350505050565b600061230b611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b600061238e611f63565b6001600160a01b0316639ee5955a600080516020612a5e8339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b600061240a611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526d1b585e1a5b5d5b51195c1bdcda5d60921b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b600061247e611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b600082820183811015612290576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061229082610fbc85670de0b6b3a764000063ffffffff61223716565b600061256d611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b6000670de0b6b3a76400006125f1848463ffffffff61223716565b816125f857fe5b049392505050565b600061260a611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156126a357600080fd5b505afa1580156126b7573d6000803e3d6000fd5b505050506040513d60208110156126cd57600080fd5b505192915050565b60006126df611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b6000612755611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b60006127d0611f63565b6001600160a01b031663d994502d600080516020612a5e833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b600061284b611f63565b6001600160a01b03166323257c2b600080516020612a5e8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561202b57600080fd5b6000828152600360205260408120546001600160a01b031682816129585760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561291d578181015183820152602001612905565b50505050905090810190601f16801561294a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b604051806103000160405280601890602082028038833950919291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494fa265627a7a72315820852f6ac2ab516bda3b4355d7dc937edf6beabfd25608ea458e0884860ebe068b64736f6c63430005100032",
			"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": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event",
					"signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"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": "maxDeposit",
							"type": "uint256"
						}
					],
					"name": "MaximumDepositUpdated",
					"type": "event",
					"signature": "0x1e80a107fd5ba086e2a723ceec9a9263bdfaed7997f66db919c1e9d1cf64817f"
				},
				{
					"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_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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_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": [],
					"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": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": "maximumDeposit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x54b302c5"
				},
				{
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"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": "synthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForSynths",
					"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": "_maxDeposit",
							"type": "uint256"
						}
					],
					"name": "setMaximumDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x57b154d5"
				},
				{
					"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": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"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": "0x83403d5b4fe485cd27f2fa2ec012b8f80a22322bc32397736e303a3bbf0dde21",
				"urls": [
					"bzz-raw://9a4bb30c68ac4d48159d184473d1a594bd2b66f7eca0c55cb8f2c6037fcfdd1c",
					"dweb:/ipfs/QmVf525Hv2RjCQV8RAo4yN9fXyX42FLwtuHMmsZ4i4HB5c"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettings.sol": "SystemSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemSettings.sol": {
						"keccak256": "0x83403d5b4fe485cd27f2fa2ec012b8f80a22322bc32397736e303a3bbf0dde21",
						"urls": [
							"bzz-raw://9a4bb30c68ac4d48159d184473d1a594bd2b66f7eca0c55cb8f2c6037fcfdd1c",
							"dweb:/ipfs/QmVf525Hv2RjCQV8RAo4yN9fXyX42FLwtuHMmsZ4i4HB5c"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200157a3803806200157a833981810160405260208110156200003757600080fd5b5051806001600160a01b03811662000096576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150620001106553797374656d60d01b826001806001600160e01b036200017d16565b620001336749737375616e636560c01b826001806001600160e01b036200017d16565b620001566745786368616e676560c01b826001806001600160e01b036200017d16565b62000176640a6f2dce8d60db1b826001806001600160e01b036200017d16565b5062000299565b6553797374656d60d01b8414806200019f57506749737375616e636560c01b84145b80620001b557506745786368616e676560c01b84145b80620001c85750640a6f2dce8d60db1b84145b6200021a576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6112d180620002a96000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806367a280b2116101045780639f8a95ba116100a2578063f161620711610071578063f161620714610578578063f405f65a14610580578063f44d1e0b14610588578063f8b4b08414610590576101da565b80639f8a95ba1461040b578063abc0bb6e1461042f578063b9a4986914610452578063e470df581461055b576101da565b806379ba5097116100de57806379ba5097146103d65780637c312541146103de5780638da5cb5b146103e657806394c79f74146103ee576101da565b806367a280b2146103a95780637118d431146103b15780637243bc2c146103b9576101da565b80632dd8afdb1161017c57806348bf19711161014b57806348bf19711461031e5780634abdb44d1461035a57806353a47bb7146103625780636132eba414610386576101da565b80632dd8afdb146102c05780632e8d0b9e146102c8578063396e258e146102e457806342a28e2114610301576101da565b80631588e817116101b85780631588e8171461020b5780631627540c1461022857806320f2bf001461024e5780632366245e14610295576101da565b8063086dabd1146101df57806312bde514146101e9578063157c51d314610203575b600080fd5b6101e7610598565b005b6101f16105a2565b60408051918252519081900360200190f35b6101e76105af565b6101e76004803603602081101561022157600080fd5b5035610619565b6101e76004803603602081101561023e57600080fd5b50356001600160a01b0316610684565b61027a6004803603604081101561026457600080fd5b50803590602001356001600160a01b03166106e0565b60408051921515835290151560208301528051918290030190f35b61029d610709565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b61029d610722565b6102d061073b565b604080519115158252519081900360200190f35b6101e7600480360360208110156102fa57600080fd5b5035610765565b6101e76004803603602081101561031757600080fd5b50356107d0565b6101e76004803603608081101561033457600080fd5b508035906001600160a01b03602082013516906040810135151590606001351515610829565b6101f1610843565b61036a610852565b604080516001600160a01b039092168252519081900360200190f35b6101e76004803603604081101561039c57600080fd5b5080359060200135610861565b6101e76108d6565b6101e7610942565b61029d600480360360208110156103cf57600080fd5b503561098c565b6101e76109b1565b6101e7610a6d565b61036a610ab7565b6101e76004803603602081101561040457600080fd5b5035610ac6565b610413610b43565b604080516001600160f81b039092168252519081900360200190f35b6101e76004803603604081101561044557600080fd5b5080359060200135610b48565b6104c26004803603602081101561046857600080fd5b81019060208101813564010000000081111561048357600080fd5b82018360208201111561049557600080fd5b803590602001918460208302840111640100000000831117156104b757600080fd5b509092509050610bc6565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156105065781810151838201526020016104ee565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561054557818101518382015260200161052d565b5050505090500194505050505060405180910390f35b6101e76004803603602081101561057157600080fd5b5035610cef565b6101f1610d64565b6101e7610d73565b6101f1610ddf565b61029d610deb565b6105a0610e04565b565b6553797374656d60d01b81565b6105c16553797374656d60d01b610ee3565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b61062d6745786368616e676560c01b610f40565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b61068c610f98565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff81169061010090046001600160f81b031682565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015610760575060035461010090046001600160f81b03166001145b905090565b6107796749737375616e636560c01b610f40565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b6107d8610e04565b60008181526006602052604090205460ff16156108265760405162461bcd60e51b81526004018080602001828103825260288152602001806112756028913960400191505060405180910390fd5b50565b610831610f98565b61083d84848484610fe1565b50505050565b6749737375616e636560c01b81565b6001546001600160a01b031681565b610869610e04565b60008281526006602052604090205460ff16158015610897575060008181526006602052604090205460ff16155b6108d25760405162461bcd60e51b815260040180806020018281038252603681526020018061112f6036913960400191505060405180910390fd5b5050565b6108ea6749737375616e636560c01b610ee3565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b61094a610e04565b60055460ff16156105a05760405162461bcd60e51b815260040180806020018281038252602b8152602001806111bf602b913960400191505060405180910390fd5b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b031633146109fa5760405162461bcd60e51b81526004018080602001828103825260358152602001806110fa6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610a75610e04565b60045460ff16156105a05760405162461bcd60e51b815260040180806020018281038252602b815260200180611165602b913960400191505060405180910390fd5b6000546001600160a01b031681565b610ad7640a6f2dce8d60db1b610ee3565b6000818152600660209081526040918290205482518481526101009091046001600160f81b03169181019190915281517f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220929181900390910190a1600090815260066020526040812055565b600181565b610b59640a6f2dce8d60db1b610f40565b60008281526006602090815260409182902080546001600160f81b0385166101000260ff1990911660011760ff16179055815184815290810183905281517f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541929181900390910190a15050565b60608083839050604051908082528060200260200182016040528015610bf6578160200160208202803883390190505b50604080518581526020808702820101909152909250838015610c23578160200160208202803883390190505b50905060005b83811015610ce75760066000868684818110610c4157fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610c7357fe5b9115156020928302919091019091015260066000868684818110610c9357fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610cd457fe5b6020908102919091010152600101610c29565b509250929050565b610d016553797374656d60d01b610f40565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6745786368616e676560c01b81565b610d876745786368616e676560c01b610ee3565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114610e40576040518060600160405280602c815260200161120b602c9139610e5a565b6040518060600160405280603e8152602001611237603e91395b906108265760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ea8578181015183820152602001610e90565b50505050905090810190601f168015610ed55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166108265760405162461bcd60e51b81526004018080602001828103825260218152602001806111ea6021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166108265760405162461bcd60e51b81526004018080602001828103825260218152602001806111ea6021913960400191505060405180910390fd5b6000546001600160a01b031633146105a05760405162461bcd60e51b815260040180806020018281038252602f815260200180611190602f913960400191505060405180910390fd5b6553797374656d60d01b84148061100257506749737375616e636560c01b84145b8061101757506745786368616e676560c01b84145b806110295750640a6f2dce8d60db1b84145b61107a576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a35050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e65206f72206d6f72652073796e746873206172652073757370656e6465642e204f7065726174696f6e2070726f6869626974656449737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a72315820b78e337e2c4c9b28c862fdaa741a8afd5a3efb8687764b56b01d0d48135f8e2464736f6c63430005100032",
			"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": "SynthResumed",
					"type": "event",
					"signature": "0x691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthSuspended",
					"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_SYNTH",
					"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": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "getSynthSuspensions",
					"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": "requireSynthActive",
					"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": "requireSynthsActive",
					"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": "resumeSynth",
					"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": "suspendSynth",
					"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": "synthSuspension",
					"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": "0x1f8c08501b9ab30111c180b9099b56550459fc7a5179c4c6e2afae2dbf7b4f56",
				"urls": [
					"bzz-raw://d13f1f6305e4f89b5a6b5a2cbbe38b42d51bccad5b00bcd7822708b2dc23207b",
					"dweb:/ipfs/QmNjsomCQzaE8ncRgygrnQett2DhVYuTnbHcL22Rt2t61X"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemStatus.sol": "SystemStatus"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemStatus.sol": {
						"keccak256": "0x1f8c08501b9ab30111c180b9099b56550459fc7a5179c4c6e2afae2dbf7b4f56",
						"urls": [
							"bzz-raw://d13f1f6305e4f89b5a6b5a2cbbe38b42d51bccad5b00bcd7822708b2dc23207b",
							"dweb:/ipfs/QmNjsomCQzaE8ncRgygrnQett2DhVYuTnbHcL22Rt2t61X"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRates": {
			"bytecode": "60a06040526822bc31b430b733b2b960b91b60809081526200002690600e90600162000e17565b503480156200003457600080fd5b506040516200526c3803806200526c833981810160405260a08110156200005a57600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200008e57600080fd5b908301906020820185811115620000a457600080fd5b8251866020820283011164010000000082111715620000c257600080fd5b82525081516020918201928201910280838360005b83811015620000f1578181015183820152602001620000d7565b50505050905001604052602001805160405193929190846401000000008211156200011b57600080fd5b9083019060208201858111156200013157600080fd5b82518660208202830111640100000000821117156200014f57600080fd5b82525081516020918201928201910280838360005b838110156200017e57818101518382015260200162000164565b5050505090910161030081016040819052889550909350600e92506018915082845b815481526020019060010190808311620001a057508a93505050506001600160a01b03811662000217576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002c2576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200032a576000828260188110620002de57fe5b6020020151146200031b576004828260188110620002f857fe5b602090810291909101518254600181018455600093845291909220015562000321565b6200032a565b600101620002c5565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620003696e466c657869626c6553746f7261676560881b62000483565b8051825114620003ab5760405162461bcd60e51b815260040180806020018281038252602f8152602001806200517a602f913960400191505060405180910390fd5b83600660006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000461631cd554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200042357600080fd5b505af415801562000438573d6000803e3d6000fd5b505050506040513d60208110156200044f57600080fd5b5051426001600160e01b03620005b616565b620004778282426001600160e01b036200062f16565b50505050505062000ec4565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01829055546018116200050d576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b1580156200055a57600080fd5b505afa1580156200056f573d6000803e3d6000fd5b505050506040513d60208110156200058657600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000838152600c60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600584528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620006735760405162461bcd60e51b8152600401808060200182810382526038815260200180620051fb6038913960400191505060405180910390fd5b61025842018210620006cc576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620007e5576000858281518110620006e857fe5b60200260200101519050848281518110620006ff57fe5b602002602001015160001415620007485760405162461bcd60e51b8152600401808060200182810382526039815260200180620052336039913960400191505060405180910390fd5b80631cd554d160e21b1415620007905760405162461bcd60e51b8152600401808060200182810382526031815260200180620051a96031913960400191505060405180910390fd5b620007a4816001600160e01b03620008b016565b841015620007b35750620007dc565b620007da81868481518110620007c557fe5b602002602001015186620005b660201b60201c565b505b600101620006cf565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156200084f57818101518382015260200162000835565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200089057818101518382015260200162000876565b5050505090500194505050505060405180910390a15060015b9392505050565b6000620008c6826001600160e01b03620008d916565b6020015164ffffffffff1690505b919050565b620008e362000e5a565b6000828152600760205260409020546001600160a01b0316801562000a7f5760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b602083106200096b5780518252601f1990920191602091820191016200094a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114620009cd576040519150601f19603f3d011682016040523d82523d6000602084013e620009d2565b606091505b5091509150811562000a765760008060008380602001905160a0811015620009f957600080fd5b5080516020820151606090920151604080518082019091529195509193509091508062000a4e8b62000a3581876001600160e01b0362000b2b16565b6001600160501b0388166001600160e01b0362000bf816565b6001600160d81b031681526020018264ffffffffff16815250975050505050505050620008d4565b50505062000b25565b6000838152600c602052604090205462000a9862000e5a565b5060008481526005602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff169282019290925282518084019093528051909291829162000afd918991168662000bf8565b6001600160d81b03168152602001826020015164ffffffffff168152509350505050620008d4565b50919050565b60008082121562000b83576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff161562000bef57600083815260086020908152604082205462000bc79160129160ff169062003f0c62000d5b821b17901c565b600a0a905062000be6818462000db960201b620037611790919060201c565b91505062000bf2565b50805b92915050565b600062000c0462000e71565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000c65575083155b1562000c755783915050620008a9565b6000858152600d602052604090205484925080841080159062000c99575081606001515b1562000cac578160200151925062000d52565b80841015801562000cbe575081608001515b1562000cd1578160400151925062000d52565b600062000cf26002846000015162000db960201b620037611790919060201c565b905085811162000d06576000935062000d23565b62000d20868262000d5b60201b62003f0c1790919060201c565b93505b8260200151841062000d3c578260200151935062000d50565b8260400151841162000d5057826040015193505b505b50509392505050565b60008282111562000db3576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000dca5750600062000bf2565b8282028284828162000dd857fe5b0414620008a95760405162461bcd60e51b8152600401808060200182810382526021815260200180620051da6021913960400191505060405180910390fd5b826018810192821562000e48579160200282015b8281111562000e4857825182559160200191906001019062000e2b565b5062000e5692915062000ea4565b5090565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b62000ec191905b8082111562000e56576000815560010162000eab565b90565b6142a68062000ed46000396000f3fe608060405234801561001057600080fd5b506004361061032a5760003560e01c8063654a60ac116101b2578063ac82f608116100f9578063c6c9d828116100a2578063ce8480ea1161007c578063ce8480ea14610cec578063de02795e14610d09578063e3235c9114610d26578063fdadbc7e14610d2e5761032a565b8063c6c9d82814610be3578063c8e5bbd514610c00578063c8e6f39514610ccf5761032a565b8063b295ad34116100d3578063b295ad3414610a7e578063bfa005ce14610ab1578063c2c8a67614610b735761032a565b8063ac82f60814610a05578063af3aea8614610a22578063b199c76414610a3f5761032a565b80637dc0d1d01161015b5780638da5cb5b116101355780638da5cb5b1461099f578063935f4abd146109a7578063ab49848c146109c45761032a565b80637dc0d1d0146109335780637f6e9d151461093b5780638295016a146109585761032a565b806379ba50971161018c57806379ba5097146108db5780637a018a1e146108e35780637adbf973146109005761032a565b8063654a60ac146108495780637103353e14610872578063728dec291461088f5761032a565b80632d7371e1116102765780634308a94f1161021f5780634f72def6116101f95780634f72def6146107f157806353a47bb71461080e578063631e1444146108165761032a565b80634308a94f1461079657806345938849146107cc5780634c36b837146107e95761032a565b806338aa1b991161025057806338aa1b991461070d5780633be99e6f1461072a5780633f0e084f1461075d5761032a565b80632d7371e1146106175780632ea913d4146106d35780633375fcd1146106f05761032a565b8063109e46a2116102d8578063266da16b116102b2578063266da16b146105925780632678df96146105c75780632bed9e0c146105fa5761032a565b8063109e46a2146105115780631627540c146105405780632528f0fe146105755761032a565b80630a7d36d1116103095780630a7d36d1146104515780630c71cd23146104c15780630ee4951b146104f75761032a565b80629919c01461032f57806304f3bcec1461036057806305a046e514610391575b600080fd5b61034c6004803603602081101561034557600080fd5b5035610d51565b604080519115158252519081900360200190f35b610368610d6c565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610401600480360360208110156103a757600080fd5b8101906020810181356401000000008111156103c257600080fd5b8201836020820111156103d457600080fd5b803590602001918460208302840111640100000000831117156103f657600080fd5b509092509050610d88565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043d578181015183820152602001610425565b505050509050019250505060405180910390f35b61034c6004803603602081101561046757600080fd5b81019060208101813564010000000081111561048257600080fd5b82018360208201111561049457600080fd5b803590602001918460208302840111640100000000831117156104b657600080fd5b509092509050610e0a565b6104de600480360360208110156104d757600080fd5b5035610ebd565b6040805192835290151560208301528051918290030190f35b6104ff610f83565b60408051918252519081900360200190f35b6104ff6004803603608081101561052757600080fd5b5080359060208101359060408101359060600135610f93565b6105736004803603602081101561055657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610fd6565b005b61034c6004803603602081101561058b57600080fd5b5035611057565b6104ff600480360360a08110156105a857600080fd5b5080359060208101359060408101359060608101359060800135611077565b610401600480360360208110156105dd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166110e4565b6105736004803603602081101561061057600080fd5b50356111a5565b61063a6004803603604081101561062d57600080fd5b50803590602001356112f1565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561067e578181015183820152602001610666565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106bd5781810151838201526020016106a5565b5050505090500194505050505060405180910390f35b6104ff600480360360208110156106e957600080fd5b50356113e2565b61034c6004803603602081101561070657600080fd5b5035611400565b61034c6004803603602081101561072357600080fd5b50356114c6565b6105736004803603602081101561074057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114d4565b6105736004803603604081101561077357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611671565b6107b3600480360360208110156107ac57600080fd5b5035611921565b6040805192835260208301919091528051918290030190f35b610573600480360360208110156107e257600080fd5b503561196d565b610368611aa8565b6104ff6004803603602081101561080757600080fd5b5035611ab2565b610368611abf565b61034c6004803603602081101561082c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611adb565b6104ff6004803603606081101561085f57600080fd5b5080359060208101359060400135611c43565b6103686004803603602081101561088857600080fd5b5035611c5b565b6108ac600480360360208110156108a557600080fd5b5035611c83565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b610573611cb6565b6104ff600480360360208110156108f957600080fd5b5035611db1565b6105736004803603602081101561091657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611dbc565b610368611e43565b6104ff6004803603602081101561095157600080fd5b5035611e5f565b6109816004803603606081101561096e57600080fd5b5080359060208101359060400135611e71565b60408051938452602084019290925282820152519081900360600190f35b610368611e91565b6104ff600480360360208110156109bd57600080fd5b5035611ead565b6109cc611ebf565b604051808261030080838360005b838110156109f25781810151838201526020016109da565b5050505090500191505060405180910390f35b6104ff60048036036020811015610a1b57600080fd5b5035611f09565b61034c60048036036020811015610a3857600080fd5b5035611f38565b610573600480360360c0811015610a5557600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611f43565b610a9b60048036036020811015610a9457600080fd5b5035612318565b6040805160ff9092168252519081900360200190f35b61034c60048036036060811015610ac757600080fd5b810190602081018135640100000000811115610ae257600080fd5b820183602082011115610af457600080fd5b80359060200191846020830284011164010000000083111715610b1657600080fd5b919390929091602081019035640100000000811115610b3457600080fd5b820183602082011115610b4657600080fd5b80359060200191846020830284011164010000000083111715610b6857600080fd5b91935091503561232d565b61040160048036036020811015610b8957600080fd5b810190602081018135640100000000811115610ba457600080fd5b820183602082011115610bb657600080fd5b80359060200191846020830284011164010000000083111715610bd857600080fd5b5090925090506123ff565b6104ff60048036036020811015610bf957600080fd5b5035612477565b610c7060048036036020811015610c1657600080fd5b810190602081018135640100000000811115610c3157600080fd5b820183602082011115610c4357600080fd5b80359060200191846020830284011164010000000083111715610c6557600080fd5b509092509050612484565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610cba578181015183820152602001610ca2565b50505050905001935050505060405180910390f35b61057360048036036020811015610ce557600080fd5b50356125f8565b6104ff60048036036020811015610d0257600080fd5b5035612706565b61057360048036036020811015610d1f57600080fd5b5035612711565b6104ff612939565b6107b360048036036040811015610d4457600080fd5b508035906020013561293e565b6000610d6482610d5f612956565b612a29565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610db8578160200160208202803883390190505b50905060005b83811015610e0057610de1858583818110610dd557fe5b90506020020135612a74565b828281518110610ded57fe5b6020908102919091010152600101610dbe565b5090505b92915050565b600080610e15612956565b90506060610e55858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a9092505050565b905060005b84811015610eb157818181518110610e6e57fe5b602002602001015180610e985750610e98868683818110610e8b57fe5b9050602002013584612a29565b15610ea95760019350505050610e04565b600101610e5a565b50600095945050505050565b600080610ec8613fd3565b610ed184612d3e565b9050837f73555344000000000000000000000000000000000000000000000000000000001415610f2457517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610f7e565b8051610f42610f31612956565b836020015164ffffffffff16613021565b80610f595750610f5985610f5461303c565b6130de565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610f8d612956565b90505b90565b600083815b610fa58783600101613216565b915050801580610fb6575083850181115b15610fc357509050610fce565b600190910190610f98565b949350505050565b610fde61347e565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061106582610d5f612956565b80610d645750610d6482610f5461303c565b6000838614156110885750836110db565b60006110948785613216565b50905060006110a38685613216565b509050806110b6576000925050506110db565b6110d6816110ca898563ffffffff6134d616565b9063ffffffff6134eb16565b925050505b95945050505050565b600954604080518281526020808402820101909152606091600091908015611116578160200160208202803883390190505b50915060005b60095481101561119e5760006009828154811061113557fe5b6000918252602080832090910154808352600790915260409091205490915073ffffffffffffffffffffffffffffffffffffffff9081169086161415611195578084848060010195508151811061118857fe5b6020026020010181815250505b5060010161111c565b5050919050565b6111ad61347e565b60008181526007602052604090205473ffffffffffffffffffffffffffffffffffffffff1680611224576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556008909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611293836009613500565b905080156112ec576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6060808260405190808252806020026020018201604052801561131e578160200160208202803883390190505b5091508260405190808252806020026020018201604052801561134b578160200160208202803883390190505b5090506000611359856135e0565b905060005b848110156113d8576113708683613216565b85838151811061137c57fe5b6020026020010185848151811061138f57fe5b602090810291909101019190915252816113ab57506113db9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091019060010161135e565b50505b9250929050565b600b81815481106113ef57fe5b600091825260209091200154905081565b600061140a613fea565b506000828152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158061146d575080606001515b80611479575080608001515b15611488576000915050610d67565b600061149384611f09565b90506000811180156114b757508160200151811015806114b7575081604001518111155b92505050610d67565b50919050565b6000610d6482610f5461303c565b6114dc61347e565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905560005b60045481101561166d5760006004828154811061153857fe5b60009182526020918290200154600254604080517fdacb2d010000000000000000000000000000000000000000000000000000000081526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e67207461726765740000000000000000006064820152905192945073ffffffffffffffffffffffffffffffffffffffff9091169263dacb2d0192608480840193829003018186803b1580156115e857600080fd5b505afa1580156115fc573d6000803e3d6000fd5b505050506040513d602081101561161257600080fd5b505160009182526003602052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560010161151f565b5050565b61167961347e565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b1580156116c657600080fd5b505afa1580156116da573d6000803e3d6000fd5b505050506040513d60208110156116f057600080fd5b50511015611745576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d60208110156117b757600080fd5b50519050601260ff821611156117fe5760405162461bcd60e51b81526004018080602001828103825260328152602001806141e06032913960400191505060405180910390fd5b60008481526007602052604090205473ffffffffffffffffffffffffffffffffffffffff1661185d57600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018490555b600084815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600883529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b60008061192c613fd3565b61193584612d3e565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b60065473ffffffffffffffffffffffffffffffffffffffff1633146119c35760405162461bcd60e51b81526004018080602001828103825260278152602001806140dc6027913960400191505060405180910390fd5b60006119ce82611f09565b11611a20576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600560209081526040808320600c808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610f8d61303c565b600981815481106113ef57fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60025460009073ffffffffffffffffffffffffffffffffffffffff838116911614611b0857506000610d67565b60005b600454811015611c3a57600060048281548110611b2457fe5b6000918252602080832090910154808352600382526040928390205460025484517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101849052945192955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a72192602480840193829003018186803b158015611bb057600080fd5b505afa158015611bc4573d6000803e3d6000fd5b505050506040513d6020811015611bda57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141580611c21575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b15611c3157600092505050610d67565b50600101611b0b565b50600192915050565b6000611c5084848461369c565b509095945050505050565b60076020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b60015473ffffffffffffffffffffffffffffffffffffffff163314611d0c5760405162461bcd60e51b81526004018080602001828103825260358152602001806140766035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610d64826135e0565b611dc461347e565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020526000908152604090205481565b6000806000611e8186868661369c565b9250925092505b93509350939050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b611ec761401d565b60005b600454811015611f055760048181548110611ee157fe5b9060005260206000200154828260188110611ef857fe5b6020020152600101611eca565b5090565b6000611f1482612d3e565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610d64826136ee565b611f4b61347e565b60008311611fa0576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611fde5760405162461bcd60e51b815260040180806020018281038252602781526020018061424b6027913960400191505060405180910390fd5b611fef85600263ffffffff61376116565b841061202c5760405162461bcd60e51b815260040180806020018281038252602e8152602001806141b2602e913960400191505060405180910390fd5b84831061206a5760405162461bcd60e51b815260040180806020018281038252602781526020018061418b6027913960400191505060405180910390fd5b8180156120745750805b156120c6576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600a60205260409020805461211057600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9018790555b8581556001810185905560028101849055828061212a5750815b156121ff576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100841515021790556000612192886135e0565b6000898152600d6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121d257866121d4565b875b604080519283526020830191909152818101849052336060830152519081900360800190a150612239565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600d60205260408120555b600061224488611f09565b905080156122c7576122546137ba565b73ffffffffffffffffffffffffffffffffffffffff1663ce09694089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156122ae57600080fd5b505af11580156122c2573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60086020526000908152604090205460ff1681565b60065460009073ffffffffffffffffffffffffffffffffffffffff1633146123865760405162461bcd60e51b81526004018080602001828103825260278152602001806140dc6027913960400191505060405180910390fd5b6123f586868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a0282810182019093528982529093508992508891829185019084908082843760009201919091525087925061381b915050565b9695505050505050565b6060808383905060405190808252806020026020018201604052801561242f578160200160208202803883390190505b50905060005b83811015610e005761245885858381811061244c57fe5b90506020020135611f09565b82828151811061246457fe5b6020908102919091010152600101612435565b600481815481106113ef57fe5b60606000838390506040519080825280602002602001820160405280156124b5578160200160208202803883390190505b50915060006124c2612956565b90506060612502868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a9092505050565b905060005b858110156125ee57612517613fd3565b61253288888481811061252657fe5b90506020020135612d3e565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061256257fe5b602002602001018181525050841580156125ae575087878381811061258357fe5b905060200201357f735553440000000000000000000000000000000000000000000000000000000014155b156125e5578282815181106125bf57fe5b6020026020010151806125e257506125e284826020015164ffffffffff16613021565b94505b50600101612507565b5050509250929050565b61260061347e565b6000818152600a6020526040902054612660576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600a60205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556126b382600b613500565b9050801561166d5760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610d6482612a74565b6000818152600a602052604090208054612772576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff1615801561279157506003810154610100900460ff16155b6127e2576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b60006127ed83611f09565b90506000811180156128115750816001015481101580612811575081600201548111155b156128ec57600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009092169385149390931716919091179055600061288a846135e0565b6000858152600d6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a1506112ec565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b601881565b60008061294b8484613216565b915091509250929050565b6000612960613a8f565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129f857600080fd5b505afa158015612a0c573d6000803e3d6000fd5b505050506040513d6020811015612a2257600080fd5b5051905090565b6000827f73555344000000000000000000000000000000000000000000000000000000001415612a5b57506000610e04565b612a6d82612a6885612a74565b613021565b9392505050565b6000612a7f82612d3e565b6020015164ffffffffff1692915050565b60606000612a9c61303c565b905073ffffffffffffffffffffffffffffffffffffffff811615612d0b5760608351604051908082528060200260200182016040528015612ae7578160200160208202803883390190505b50905060005b8451811015612b765760076000868381518110612b0657fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612b4957fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612aed565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612bf9578181015183820152602001612be1565b505050509050019250505060006040518083038186803b158015612c1c57600080fd5b505afa158015612c30573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612c7757600080fd5b8101908080516040519392919084640100000000821115612c9757600080fd5b908301906020820185811115612cac57600080fd5b8251866020820283011164010000000082111715612cc957600080fd5b82525081516020918201928201910280838360005b83811015612cf6578181015183820152602001612cde565b505050509050016040525050509250506114c0565b8251604051908082528060200260200182016040528015612d36578160200160208202803883390190505b509392505050565b612d46613fd3565b60008281526007602052604090205473ffffffffffffffffffffffffffffffffffffffff168015612f405760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612e3157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612df4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612e91576040519150601f19603f3d011682016040523d82523d6000602084013e612e96565b606091505b50915091508115612f385760008060008380602001905160a0811015612ebb57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612efd8b612eeb8187613af0565b8769ffffffffffffffffffff16613b99565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610d67565b5050506114c0565b6000838152600c6020526040902054612f57613fd3565b5060008481526005602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612fe69189911686613b99565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610d67565b600042613034838563ffffffff613cd716565b109392505050565b6000613046613a8f565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129f857600080fd5b6000827f7355534400000000000000000000000000000000000000000000000000000000141561311057506000610e04565b60008381526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16801580613156575073ffffffffffffffffffffffffffffffffffffffff8316155b15613165576000915050610e04565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156131e257600080fd5b505afa1580156131f6573d6000803e3d6000fd5b505050506040513d602081101561320c57600080fd5b5051949350505050565b600082815260076020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680156133d65760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b6020831061331257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016132d5565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613372576040519150601f19603f3d011682016040523d82523d6000602084013e613377565b606091505b509150915081156133ce576000808280602001905160a081101561339a57600080fd5b50602081015160609091015190925090506133bf8a6133b98185613af0565b8b613b99565b975095506113db945050505050565b505050613476565b6133de613fd3565b5060008581526005602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261345d90879087613b99565b60209091015190935064ffffffffff1691506113db9050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146134d45760405162461bcd60e51b815260040180806020018281038252602f815260200180614103602f913960400191505060405180910390fd5b565b6000612a6d8383670de0b6b3a7640000613d31565b6000612a6d8383670de0b6b3a7640000613d6e565b6000805b82548110156135d6578383828154811061351a57fe5b906000526020600020015414156135ce5782818154811061353757fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061357257fe5b906000526020600020015483828154811061358957fe5b60009182526020909120015582546135c3847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830161403c565b506001915050610e04565b600101613504565b5060009392505050565b60008181526007602052604081205473ffffffffffffffffffffffffffffffffffffffff168015613686578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561365157600080fd5b505afa158015613665573d6000803e3d6000fd5b505050506040513d602081101561367b57600080fd5b50519150610d679050565b50506000818152600c6020526040902054610d67565b60008060006136aa86611f09565b9150838614156136be575083915080611e88565b6136c784611f09565b90508015611e88576136e3816110ca878563ffffffff6134d616565b925093509350939050565b60006136f8613fea565b506000828152600a6020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff808216151560608401819052610100909204161515608083015280612a6d57506080015192915050565b60008261377057506000610e04565b8282028284828161377d57fe5b0414612a6d5760405162461bcd60e51b81526004018080602001828103825260218152602001806141326021913960400191505060405180910390fd5b6000610f8d7f45786368616e67657200000000000000000000000000000000000000000000006040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250613da0565b6000825184511461385d5760405162461bcd60e51b81526004018080602001828103825260388152602001806141536038913960400191505060405180910390fd5b610258420182106138b5576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b84518110156139c95760008582815181106138cf57fe5b602002602001015190508482815181106138e557fe5b60200260200101516000141561392c5760405162461bcd60e51b81526004018080602001828103825260398152602001806142126039913960400191505060405180910390fd5b807f7355534400000000000000000000000000000000000000000000000000000000141561398b5760405162461bcd60e51b81526004018080602001828103825260318152602001806140ab6031913960400191505060405180910390fd5b61399481612a74565b8410156139a157506139c1565b6139bf818684815181106139b157fe5b602002602001015186613e4f565b505b6001016138b8565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a31578181015183820152602001613a19565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613a70578181015183820152602001613a58565b5050505090500194505050505060405180910390a15060019392505050565b6000610f8d7f466c657869626c6553746f7261676500000000000000000000000000000000006040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250613da0565b600080821215613b47576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff16156114c057600083815260086020526040812054613b7c9060129060ff16613f0c565b600a0a9050613b91838263ffffffff61376116565b915050610e04565b6000613ba3613fea565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613c03575083155b15613c115783915050612a6d565b6000858152600d6020526040902054849250808410801590613c34575081606001515b15613c455781602001519250613cce565b808410158015613c56575081608001515b15613c675781604001519250613cce565b8151600090613c7d90600263ffffffff61376116565b9050858111613c8f5760009350613ca2565b613c9f818763ffffffff613f0c16565b93505b82602001518410613cb95782602001519350613ccc565b82604001518411613ccc57826040015193505b505b50509392505050565b600082820183811015612a6d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613d48868663ffffffff61376116565b81613d4f57fe5b0490506005600a825b0610613d6257600a015b600a9004949350505050565b600080613d9484613d8887600a870263ffffffff61376116565b9063ffffffff613f6916565b90506005600a82613d58565b60008281526003602052604081205473ffffffffffffffffffffffffffffffffffffffff168281610e005760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e14578181015183820152602001613dfc565b50505050905090810190601f168015613e415780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600c60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526005845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b600082821115613f63576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211613fbf576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613fca57fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b6040518061030001604052806018906020820280388339509192915050565b8154818355818111156112ec576000838152602090206112ec918101908301610f9091905b80821115611f05576000815560010161406156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a72315820573592ad7d99637afddcc03b3193dacf64d3a8adc6f9ceb6161726fddd62089064736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e52617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"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": "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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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": "currencyKey",
							"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": "currencyKey",
							"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": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"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": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": "currencyKey",
							"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": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2bed9e0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"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": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "freezeAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "freezeAtLowerLimit",
							"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": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"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": "0x737687c27488c3c1d457682a08226693405562aa6bd21245aed095bfd1206013",
				"urls": [
					"bzz-raw://920bba2f93162a78d1b5de4ec56d2e06595a77f8b587dfc649821924035b3f25",
					"dweb:/ipfs/QmcpPrGVurrE3X8TBJTbo9UQY6yn15oi52sSictt1h7Vyr"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRates.sol": "ExchangeRates"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 20000
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRates.sol": {
						"keccak256": "0x737687c27488c3c1d457682a08226693405562aa6bd21245aed095bfd1206013",
						"urls": [
							"bzz-raw://920bba2f93162a78d1b5de4ec56d2e06595a77f8b587dfc649821924035b3f25",
							"dweb:/ipfs/QmcpPrGVurrE3X8TBJTbo9UQY6yn15oi52sSictt1h7Vyr"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516112e23803806112e28339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506111ad806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e31461045d578063da7bd3e914610465578063ee1d036c14610491578063fec9f9da146104bd57610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b806370a082311461039157806371e780f3146103b7578063759b5225146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b8063326a3cfb11610130578063326a3cfb146102ab578063449d0eb1146102d1578063458efde31461030d57806345e5441f1461031557806353a47bb7146103475780636b3905c41461036b57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e3565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661053f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b031661059b565b60408051918252519081900360200190f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b03166105dd565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b03166105f8565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661060a565b6040518082600260200280838360005b83811015610298578181015183820152602001610280565b5050505090500191505060405180910390f35b6101ec600480360360208110156102c157600080fd5b50356001600160a01b031661065b565b6102f7600480360360208110156102e757600080fd5b50356001600160a01b031661066d565b6040518151815280826141008083836020610280565b61019e6106f3565b6101ec6004803603606081101561032b57600080fd5b506001600160a01b0381351690602081013590604001356108dc565b61034f610918565b604080516001600160a01b039092168252519081900360200190f35b6101ec6004803603602081101561038157600080fd5b50356001600160a01b0316610927565b6101ec600480360360208110156103a757600080fd5b50356001600160a01b0316610940565b6101ec61095b565b61034f610961565b61019e610970565b61034f610a2c565b6101ec600480360360208110156103ed57600080fd5b50356001600160a01b0316610a3b565b6101ec6004803603604081101561041357600080fd5b506001600160a01b038135169060200135610a4d565b61034f610a68565b61019e6004803603604081101561044757600080fd5b506001600160a01b038135169060200135610a77565b6101ec610ad0565b6102706004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610ad6565b6101ec600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610b45565b61019e600480360360208110156104d357600080fd5b50356001600160a01b0316610b58565b6104eb610bb4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610547610bb4565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105a7836105dd565b905060005b818110156105d4576105be8482610a4d565b156105cc5791506105d89050565b6001016105ac565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b610612610f98565b600061061d8361059b565b9050610628836105dd565b81141561064a57505060408051808201909152600080825260208201526105d8565b6106548382610ad6565b9392505050565b60056020526000908152604090205481565b610675610fb6565b61067d610fb6565b6000610688846105dd565b905060005b818110156106ea5761069d610f98565b6106a78683610ad6565b8051909150846002840261020881106106bc57fe5b60200201528060016020020151848360020260010161020881106106dc57fe5b60200201525060010161068d565b50909392505050565b60006106fe336105dd565b90506000805b828110156107a35760006107183383610a4d565b90504281111561072857506107a3565b60006107343384610b45565b905080156107995760408051808201825260008082526020808301829052338252600490529190912080548590811061076957fe5b9060005260206000209060020201906002610785929190610fd6565b50610796848263ffffffff610bff16565b93505b5050600101610704565b5080156108d8576007546107bd908263ffffffff610c5916565b600755336000908152600560205260409020546107e0908263ffffffff610c5916565b3360009081526005602090815260408083209390935560069052205461080c908263ffffffff610bff16565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b600460205282600052604060002082815481106108f557fe5b9060005260206000209060020201816002811061090e57fe5b0154925083915050565b6001546001600160a01b031681565b60006109328261060a565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6002546001600160a01b031681565b6001546001600160a01b031633146109b95760405162461bcd60e51b81526004018080602001828103825260358152602001806110656035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610a468261060a565b6001610935565b6000610a598383610ad6565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610ac15760405162461bcd60e51b81526004018080602001828103825260328152602001806111476032913960400191505060405180910390fd5b610acb8383610cb6565b505050565b61010481565b610ade610f98565b6001600160a01b0383166000908152600460205260409020805483908110610b0257fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610b25575050505050905092915050565b6000610b518383610ad6565b6001610a5c565b610b60610bb4565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260040180806020018281038252602f815260200180611118602f913960400191505060405180910390fd5b565b600082820183811015610654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610cb0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d08576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d1b908263ffffffff610bff16565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d6957600080fd5b505afa158015610d7d573d6000803e3d6000fd5b505050506040513d6020811015610d9357600080fd5b50516007541115610dd55760405162461bcd60e51b81526004018080602001828103825260478152602001806110d16047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610e45576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610e71576001600160a01b0384166000908152600560205260409020839055610efe565b80610e7f8560018503610a4d565b10610ebb5760405162461bcd60e51b815260040180806020018281038252603781526020018061109a6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ee4908463ffffffff610bff16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610f4d9260029081029091019190611019565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611009579160200282015b82811115611009578251829060ff16905591602001919060010190610fe9565b50611015929150611047565b5090565b8260028101928215611009579160200282015b8281111561100957825182559160200191906001019061102c565b61106191905b80821115611015576000815560010161104d565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a72315820349c471f90feace88b3609f4a4c9561411df62ea3425cea967114ce9b6ec106864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract ISynthetix",
							"name": "_synthetix",
							"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": "newSynthetix",
							"type": "address"
						}
					],
					"name": "SynthetixUpdated",
					"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 ISynthetix",
							"name": "_synthetix",
							"type": "address"
						}
					],
					"name": "setSynthetix",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfec9f9da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetix",
					"outputs": [
						{
							"internalType": "contract ISynthetix",
							"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": "0xa290a99e73d82b5c2d1829f0d5a83ce94053945ef5109f963295821e7ea2dd03",
				"urls": [
					"bzz-raw://412c33682086b943c0d9a507b4a46a6adcf04129e4dd3c98dfd9cd2748497ec1",
					"dweb:/ipfs/QmNtB7t8fBGiF3h7ZMVGknicaKFX61AyAprUhur4GBEzjj"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrow.sol": "RewardEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrow.sol": {
						"keccak256": "0xa290a99e73d82b5c2d1829f0d5a83ce94053945ef5109f963295821e7ea2dd03",
						"urls": [
							"bzz-raw://412c33682086b943c0d9a507b4a46a6adcf04129e4dd3c98dfd9cd2748497ec1",
							"dweb:/ipfs/QmNtB7t8fBGiF3h7ZMVGknicaKFX61AyAprUhur4GBEzjj"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516113bf3803806113bf8339818101604052604081101561003357600080fd5b5080516020909101516249d400826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506112958061012a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806370a08231116100de5780639b217f9011610097578063d0cc82e311610071578063d0cc82e3146104fe578063da7bd3e914610506578063ee1d036c14610532578063fec9f9da1461055e5761018e565b80639b217f90146103f8578063a15d59ce14610424578063bb2a7d0c1461042c5761018e565b806370a082311461038c578063759b5225146103b257806379ba5097146103ba5780638ad58777146103c25780638da5cb5b146103ca57806397f46527146103d25761018e565b80632f5bb6611161014b57806346ba2d901161012557806346ba2d901461033257806353a47bb71461033a57806363667eb71461035e5780636b3905c4146103665761018e565b80632f5bb66114610297578063458efde3146102f857806345e5441f146103005761018e565b8063135c0701146101935780631627540c146101bb57806319e740c0146101e15780631bb47b4414610219578063204b676a1461024b578063227d517a14610271575b600080fd5b6101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610584565b005b6101b9600480360360208110156101d157600080fd5b50356001600160a01b0316610635565b610207600480360360208110156101f757600080fd5b50356001600160a01b0316610691565b60408051918252519081900360200190f35b6101b96004803603606081101561022f57600080fd5b506001600160a01b0381351690602081013590604001356106d3565b6102076004803603602081101561026157600080fd5b50356001600160a01b0316610a0e565b6102076004803603602081101561028757600080fd5b50356001600160a01b0316610a29565b6102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a3b565b6040518082600260200280838360005b838110156102e55781810151838201526020016102cd565b5050505090500191505060405180910390f35b6101b9610a8c565b6102076004803603606081101561031657600080fd5b506001600160a01b038135169060208101359060400135610c49565b610207610c85565b610342610c8b565b604080516001600160a01b039092168252519081900360200190f35b610207610c9a565b6102076004803603602081101561037c57600080fd5b50356001600160a01b0316610c9f565b610207600480360360208110156103a257600080fd5b50356001600160a01b0316610cb8565b610342610cd3565b6101b9610ce2565b610207610d9e565b610342610da3565b610207600480360360208110156103e857600080fd5b50356001600160a01b0316610db2565b6102076004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610dc4565b610207610ddf565b6101b96004803603606081101561044257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046d57600080fd5b82018360208201111561047f57600080fd5b803590602001918460208302840111640100000000831117156104a157600080fd5b9193909290916020810190356401000000008111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111640100000000831117156104f357600080fd5b509092509050610de5565b610207610e6f565b6102bd6004803603604081101561051c57600080fd5b506001600160a01b038135169060200135610e74565b6102076004803603604081101561054857600080fd5b506001600160a01b038135169060200135610ee3565b6101b96004803603602081101561057457600080fd5b50356001600160a01b0316610ef6565b61058c610f52565b60025442106105cc5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206105ed91611054565b6001600160a01b0381166000908152600560205260409020546006546106189163ffffffff610f9d16565b6006556001600160a01b0316600090815260056020526040812055565b61063d610f52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008061069d83610a0e565b905060005b818110156106ca576106b48482610dc4565b156106c25791506106ce9050565b6001016106a2565b5090505b919050565b6106db610f52565b600254421061071b5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b81421061076f576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806107c1576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546107d4908263ffffffff610ffa16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d602081101561084c57600080fd5b5051600654111561088e5760405162461bcd60e51b81526004018080602001828103825260478152602001806111c26047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460148111156108fd576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610922576001600160a01b03841660009081526005602052604090208290556109b7565b8261093885600161093288610a0e565b03610dc4565b106109745760405162461bcd60e51b815260040180806020018281038252603781526020018061118b6037913960400191505060405180910390fd5b6001600160a01b03841660009081526005602052604090205461099d908363ffffffff610ffa16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610a069260029081029091019190611078565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610a436110b6565b6000610a4e83610691565b9050610a5983610a0e565b811415610a7b57505060408051808201909152600080825260208201526106ce565b610a858382610e74565b9392505050565b6000610a9733610a0e565b90506000805b82811015610b3c576000610ab13383610dc4565b905042811115610ac15750610b3c565b6000610acd3384610ee3565b90508015610b3257604080518082018252600080825260208083018290523382526004905291909120805485908110610b0257fe5b9060005260206000209060020201906002610b1e9291906110d4565b50610b2f848263ffffffff610ffa16565b93505b5050600101610a9d565b508015610c4557600654610b56908263ffffffff610f9d16565b60065533600090815260056020526040902054610b79908263ffffffff610f9d16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b505050506040513d6020811015610c0857600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610c6257fe5b90600052602060002090600202018160028110610c7b57fe5b0154925083915050565b60025481565b6001546001600160a01b031681565b600081565b6000610caa82610a3b565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6003546001600160a01b031681565b6001546001600160a01b03163314610d2b5760405162461bcd60e51b81526004018080602001828103825260358152602001806111566035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610dbd82610a3b565b6001610cad565b6000610dd08383610e74565b60005b60200201519392505050565b60065481565b610ded610f52565b6002544210610e2d5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b60005b83811015610a0657610e6786868684818110610e4857fe5b90506020020135858585818110610e5b57fe5b905060200201356106d3565b600101610e30565b601481565b610e7c6110b6565b6001600160a01b0383166000908152600460205260409020805483908110610ea057fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610ec3575050505050905092915050565b6000610eef8383610e74565b6001610dd3565b610efe610f52565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000546001600160a01b03163314610f9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611209602f913960400191505060405180910390fd5b565b600082821115610ff4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610a85576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906110759190611107565b50565b82600281019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b292915061112d565b5090565b60405180604001604052806002906020820280388339509192915050565b82600281019282156110a6579160200282015b828111156110a6578251829060ff169055916020019190600101906110e7565b61112a91905b808211156110b25760006111218282611147565b5060020161110d565b90565b61112a91905b808211156110b25760008155600101611133565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158204d9cc187dca99d41ac5ee43024cd796ddb5a572eb8894b1b618d5e0eec99a13764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract ISynthetix",
							"name": "_synthetix",
							"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": "newSynthetix",
							"type": "address"
						}
					],
					"name": "SynthetixUpdated",
					"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 ISynthetix",
							"name": "_synthetix",
							"type": "address"
						}
					],
					"name": "setSynthetix",
					"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": "synthetix",
					"outputs": [
						{
							"internalType": "contract ISynthetix",
							"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": "0xaef2598e94a39958aa5b45d2ac7e9c1b4a78025377f9df780ae144838e140c97",
				"urls": [
					"bzz-raw://309c47d1c5b50784aa71a345ee0e1031d19157eb5958687ccaeab4b0a9fefec9",
					"dweb:/ipfs/Qmbni3XAaSnAVxc3XQVKnRArYUges2ieeQ5U887i9aqwEN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixEscrow.sol": "SynthetixEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixEscrow.sol": {
						"keccak256": "0xaef2598e94a39958aa5b45d2ac7e9c1b4a78025377f9df780ae144838e140c97",
						"urls": [
							"bzz-raw://309c47d1c5b50784aa71a345ee0e1031d19157eb5958687ccaeab4b0a9fefec9",
							"dweb:/ipfs/Qmbni3XAaSnAVxc3XQVKnRArYUges2ieeQ5U887i9aqwEN"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab4380380610ab48339818101604052604081101561003357600080fd5b50805160209091015162093a8081836001600160a01b03811661009d576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610147576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15042016003555050610905806101af6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638b3f8088116100a2578063aefc4ccb11610071578063aefc4ccb14610274578063b16c09f01461027c578063b992812e146102a2578063ba08f299146102dc578063cd92eba9146102e457610116565b80638b3f8088146101f95780638da5cb5b146102385780639371bede14610240578063a764eb451461024857610116565b806346317712116100e9578063463177121461019757806346ba2d901461019f57806352f445ca146101a757806353a47bb7146101cd57806379ba5097146101f157610116565b806308d95cd51461011b5780631627540c1461014a5780631bfba595146101725780633d31e97b1461017a575b600080fd5b6101386004803603602081101561013157600080fd5b50356102ec565b60408051918252519081900360200190f35b6101706004803603602081101561016057600080fd5b50356001600160a01b031661030a565b005b610170610366565b6101706004803603602081101561019057600080fd5b50356103c8565b610138610446565b61013861046c565b610170600480360360208110156101bd57600080fd5b50356001600160a01b0316610472565b6101d56104ce565b604080516001600160a01b039092168252519081900360200190f35b6101706104dd565b61021f6004803603602081101561020f57600080fd5b50356001600160a01b0316610599565b6040805192835260208301919091528051918290030190f35b6101d56105b2565b6101386105c1565b6101706004803603604081101561025e57600080fd5b506001600160a01b0381351690602001356105c7565b6101d5610637565b6101706004803603602081101561029257600080fd5b50356001600160a01b0316610646565b6102c8600480360360208110156102b857600080fd5b50356001600160a01b03166106af565b604080519115158252519081900360200190f35b6101706106cc565b610138610729565b600681815481106102f957fe5b600091825260209091200154905081565b61031261072f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146103af5760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6005546103c390600163ffffffff61077a16565b600555565b6002546001600160a01b031633146104115760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0155565b6006805460009190600019810190811061045c57fe5b9060005260206000200154905090565b60035481565b61047a61072f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146105265760405162461bcd60e51b81526004018080602001828103825260358152602001806108396035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6004602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60055481565b6002546001600160a01b031633146106105760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6001600160a01b039091166000908152600460205260409020908155600654600190910155565b6002546001600160a01b031681565b6002546001600160a01b0316331461068f5760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6001600160a01b0316600090815260046020526040812081815560010155565b6001600160a01b0316600090815260046020526040902054151590565b6002546001600160a01b031633146107155760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6005546103c390600163ffffffff6107db16565b60065490565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040180806020018281038252602f81526020018061086e602f913960400191505060405180910390fd5b565b6000828201838110156107d4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610832576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820cd2e193161fe045199c962a568053fb425c2d63f05ad9c8b6c30da79023308eb64736f6c63430005100032",
			"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": "0x4aa1406b9afcff53caa03781a7459b34737ad775f53cd4adf0fb62e91b218f0e",
				"urls": [
					"bzz-raw://ffe0b7f7bd81a01382917cfe14af1c76a2f291238e32fc334a3465f70f65e5fd",
					"dweb:/ipfs/QmQQDT5NxsTRMHTtkWGyJWxxGUNAE4XLKQW4DYtyqyo2dG"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixState.sol": "SynthetixState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixState.sol": {
						"keccak256": "0x4aa1406b9afcff53caa03781a7459b34737ad775f53cd4adf0fb62e91b218f0e",
						"urls": [
							"bzz-raw://ffe0b7f7bd81a01382917cfe14af1c76a2f291238e32fc334a3465f70f65e5fd",
							"dweb:/ipfs/QmQQDT5NxsTRMHTtkWGyJWxxGUNAE4XLKQW4DYtyqyo2dG"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820c11bfa4105c447a94edd5892faa9805553afc212a3f62ebae81b2039e28f002f64736f6c63430005100032",
			"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": "0x143ae701aa1b1a647c5f7245297e8512aec80db040c24a366ad3e81f672ce29f",
				"urls": [
					"bzz-raw://821862c15f0342ce20db49b1feed0de6528e512a6c1095bef8a03939ecaa8f82",
					"dweb:/ipfs/QmYW6Mp94j2FGQFv5Lof9ms3aYQYr9GXUoC6MCjwRBvbYb"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0x143ae701aa1b1a647c5f7245297e8512aec80db040c24a366ad3e81f672ce29f",
						"urls": [
							"bzz-raw://821862c15f0342ce20db49b1feed0de6528e512a6c1095bef8a03939ecaa8f82",
							"dweb:/ipfs/QmYW6Mp94j2FGQFv5Lof9ms3aYQYr9GXUoC6MCjwRBvbYb"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516112143803806112148339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061106e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107a3565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107b8565b6101fa600480360360408110156102c657600080fd5b5080359060200135610813565b6101fa600480360360208110156102e957600080fd5b503561086e565b6101fa6004803603604081101561030657600080fd5b508035906020013515156108cf565b6103326004803603602081101561032b57600080fd5b5035610938565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b50356109d9565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b03166109f4565b6103c4610a50565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610a5f565b6101fa610ad6565b6101fa6004803603602081101561045857600080fd5b5035610b92565b6103c4610bec565b6101cb6004803603602081101561047d57600080fd5b5035610bfb565b6101fa6004803603602081101561049a57600080fd5b5035610c0d565b610332600480360360208110156104b757600080fd5b5035610c67565b6101fa600480360360408110156104d457600080fd5b5080359060200135610cd1565b6103c4610d2c565b6101fa600480360360208110156104ff57600080fd5b5035610d3b565b6101cb6004803603602081101561051c57600080fd5b5035610d9b565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610dad565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e15565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ec2565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260076020526040812055565b61074f610e77565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108015760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461085c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108b75760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109185760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6109fc610e77565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610aa85760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fa26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610bdb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c565760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b6002546001600160a01b03163314610d1a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d845760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ec2565b60009081526003602052604090205490565b6002546001600160a01b03163314610df65760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600660205260409020610e0f908383610f06565b50505050565b6002546001600160a01b03163314610e5e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600460205260409020610e0f908383610f06565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fd7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ee857506106ea565b601f0160209004906000526020600020908101906106ea9190610f84565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f475782800160ff19823516178555610f74565b82800160010185558215610f74579182015b82811115610f74578235825591602001919060010190610f59565b50610f80929150610f84565b5090565b610f9e91905b80821115610f805760008155600101610f8a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582066a8424c120465fa51057fb387db2a8d1d84b1401dc7a103264aab37fd43b42d64736f6c63430005100032",
			"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": "0xcf14a782c302998462be3cf2e632b0b8cfdf3ff65e542868a1de9e42c64a74a8",
				"urls": [
					"bzz-raw://b03fd09831dc1455311d9fa6526b7687100cc9e7cf8067fea39084506a8cf387",
					"dweb:/ipfs/QmNUsMTy7egN4sBN4Vm5XVmKQcuf3pYgVfh7whW1NXLnYU"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0xcf14a782c302998462be3cf2e632b0b8cfdf3ff65e542868a1de9e42c64a74a8",
						"urls": [
							"bzz-raw://b03fd09831dc1455311d9fa6526b7687100cc9e7cf8067fea39084506a8cf387",
							"dweb:/ipfs/QmNUsMTy7egN4sBN4Vm5XVmKQcuf3pYgVfh7whW1NXLnYU"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610fbc380380610fbc833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610dbd806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661054f565b61023361056e565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b0316610584565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105a4565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105c1565b6102bf6105e1565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b03166105f0565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661060c565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b0316610629565b6101fb61065a565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610716565b6102bf610734565b6102bf610743565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610752565b61023361076e565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661077f565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b038135811691602001351661079c565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b031661082f565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b03166108d6565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b03166108f6565b61023361090e565b610233610924565b61023361093d565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610952565b60006104ec6e4973737565466f724164647265737360881b8484610970565b9392505050565b6104fb610a0d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b8484610970565b6e4973737565466f724164647265737360881b81565b6105a16e436c61696d466f724164647265737360881b3383610a58565b50565b6105a16e4973737565466f724164647265737360881b3383610b78565b6105a17145786368616e6765466f724164647265737360701b3383610a58565b6001546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610b78565b6105a16e436c61696d466f724164647265737360881b3383610b78565b60005b60058110156106565761064e6002826005811061064557fe5b01543384610b78565b60010161062c565b5050565b6001546001600160a01b031633146106a35760405162461bcd60e51b8152600401808060200182810382526035815260200180610d256035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b8484610970565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610a58565b69105c1c1c9bdd99505b1b60b21b81565b6105a16e4973737565466f724164647265737360881b3383610a58565b6007546000906001600160a01b03166317e7dd226107c869105c1c1c9bdd99505b1b60b21b8686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b50519392505050565b610837610a0d565b6001600160a01b03811661087c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105a17145786368616e6765466f724164647265737360701b3383610b78565b6105a169105c1c1c9bdd99505b1b60b21b3383610a58565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b600061097c838361079c565b15610989575060016104ec565b6007546001600160a01b03166317e7dd226109a5868686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b5051949350505050565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180610d5a602f913960400191505060405180910390fd5b565b6001600160a01b038116610ab3576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610acf858585610cb2565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610b94858585610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b505115610cad576007546001600160a01b0316633cc1635c610c15858585610cb2565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205d5f41a7ec3db3b16be8177cf765286f1afacf2a99da13ef6e25f17f5e41945d64736f6c63430005100032",
			"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": "0x5779d58d169ff3b81b6eb4a512371cef0422012ea670780e7e0e79a40691c0d8",
				"urls": [
					"bzz-raw://a839d4fa288f1e9bb26813aae49a259119c98d62d9493ba8ac3ce42b5a289560",
					"dweb:/ipfs/QmVTRMXqNTZuR8yoMVCMQFyDKsvMQ68WYhoMcqcWs6HKNd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0x5779d58d169ff3b81b6eb4a512371cef0422012ea670780e7e0e79a40691c0d8",
						"urls": [
							"bzz-raw://a839d4fa288f1e9bb26813aae49a259119c98d62d9493ba8ac3ce42b5a289560",
							"dweb:/ipfs/QmVTRMXqNTZuR8yoMVCMQFyDKsvMQ68WYhoMcqcWs6HKNd"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "6101206040526b53797374656d53746174757360a01b6080908152680a6f2dce8d0cae8d2f60bb1b60a0527f457465726e616c53746f726167654c69717569646174696f6e7300000000000060c0526524b9b9bab2b960d11b60e0526c45786368616e6765526174657360981b610100526200007f9060059081620003d8565b503480156200008d57600080fd5b50604051620021673803806200216783398181016040526040811015620000b357600080fd5b50805160209091015160408051610300810191829052829160059060189082845b815481526020019060010190808311620000d457508793505050506001600160a01b0381166200014b576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620001f6576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200025e5760008282601881106200021257fe5b6020020151146200024f5760048282601881106200022c57fe5b602090810291909101518254600181018455600093845291909220015562000255565b6200025e565b600101620001f9565b5050600280546001600160a01b0319166001600160a01b03929092169190911790556200029d6e466c657869626c6553746f7261676560881b620002a5565b50506200043b565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01829055546018116200032f576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b1580156200037c57600080fd5b505afa15801562000391573d6000803e3d6000fd5b505050506040513d6020811015620003a857600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b826018810192821562000409579160200282015b8281111562000409578251825591602001919060010190620003ec565b50620004179291506200041b565b5090565b6200043891905b8082111562000417576000815560010162000422565b90565b611d1c806200044b6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063828afc4b116100c3578063ad2bc2d51161007c578063ad2bc2d514610339578063b410a0341461035f578063c49e80a614610367578063c6c9d8281461038d578063d45c0d7e146103aa578063e3235c91146103d057610158565b8063828afc4b146102945780638d1bd1be146102ba5780638da5cb5b146102c2578063974e9e7f146102ca578063a0cf7451146102f0578063ab49848c146102f857610158565b80633be99e6f116101155780633be99e6f1461022857806353a47bb71461024e578063631e1444146102565780636a0589661461027c57806374e889c91461028457806379ba50971461028c57610158565b806304f3bcec1461015d5780630ac045d5146101815780631627540c146101b65780631775765f146101de57806323f5589a146101e657806339a9df1b146101ee575b600080fd5b6101656103d8565b604080516001600160a01b039092168252519081900360200190f35b6101a46004803603604081101561019757600080fd5b50803590602001356103e7565b60408051918252519081900360200190f35b6101dc600480360360208110156101cc57600080fd5b50356001600160a01b03166104e5565b005b6101a4610541565b6101a4610550565b6102146004803603602081101561020457600080fd5b50356001600160a01b031661055a565b604080519115158252519081900360200190f35b6101dc6004803603602081101561023e57600080fd5b50356001600160a01b0316610585565b6101656106b2565b6102146004803603602081101561026c57600080fd5b50356001600160a01b03166106c1565b6101a46107dc565b6101a46107f4565b6101dc61080e565b6101a4600480360360208110156102aa57600080fd5b50356001600160a01b03166108ca565b6101a46108e5565b61016561096e565b6101dc600480360360208110156102e057600080fd5b50356001600160a01b031661097d565b6101a46109f8565b610300610a02565b604051808261030080838360005b8381101561032657818101518382015260200161030e565b5050505090500191505060405180910390f35b6101dc6004803603602081101561034f57600080fd5b50356001600160a01b0316610a4c565b6101a4610c85565b6102146004803603602081101561037d57600080fd5b50356001600160a01b0316610c8f565b6101a4600480360360208110156103a357600080fd5b5035610d6f565b6101dc600480360360208110156103c057600080fd5b50356001600160a01b0316610d8d565b6101a46110ff565b6002546001600160a01b031681565b6000806103f2611104565b9050600073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561043a57600080fd5b505af415801561044e573d6000803e3d6000fd5b505050506040513d602081101561046457600080fd5b50519050600061048a61047d868563ffffffff6111ab16565b879063ffffffff6111d516565b905060006104c66104b9856104ad6104a0611232565b879063ffffffff6112ad16565b9063ffffffff6111ab16565b849063ffffffff6111d516565b90506104d8828263ffffffff61130e16565b9450505050505b92915050565b6104ed611338565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061054b611383565b905090565b600061054b611232565b6000610564611b68565b61056d836113fc565b905061057c81600001516114a8565b9150505b919050565b61058d611338565b600280546001600160a01b0319166001600160a01b03831617905560005b6004548110156106ae576000600482815481106105c457fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b15801561064e57600080fd5b505afa158015610662573d6000803e3d6000fd5b505050506040513d602081101561067857600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b039092169190911790556001016105ab565b5050565b6001546001600160a01b031681565b6002546000906001600160a01b038381169116146106e157506000610580565b60005b6004548110156107d3576000600482815481106106fd57fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b15801561076357600080fd5b505afa158015610777573d6000803e3d6000fd5b505050506040513d602081101561078d57600080fd5b50516001600160a01b03161415806107ba57506000818152600360205260409020546001600160a01b0316155b156107ca57600092505050610580565b506001016106e4565b50600192915050565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146108575760405162461bcd60e51b8152600401808060200182810382526035815260200180611b9f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006108d4611b68565b6108dd836113fc565b519392505050565b600061054b6108f2611383565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561093657600080fd5b505af415801561094a573d6000803e3d6000fd5b505050506040513d602081101561096057600080fd5b50519063ffffffff6114ba16565b6000546001600160a01b031681565b6109856114cf565b6001600160a01b0316336001600160a01b0316146109d45760405162461bcd60e51b815260040180806020018281038252603e815260200180611c62603e913960400191505060405180910390fd5b6109dc611b68565b6109e5826113fc565b8051909150156106ae576106ae82611512565b600061054b61165a565b610a0a611b7f565b60005b600454811015610a485760048181548110610a2457fe5b9060005260206000200154828260188110610a3b57fe5b6020020152600101610a0d565b5090565b620a69cb60eb1b610a5b6116d3565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a9e57600080fd5b505afa158015610ab2573d6000803e3d6000fd5b505050506040513d6020811015610ac857600080fd5b505115610b1c576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610b24611724565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610b5c57600080fd5b505afa158015610b70573d6000803e3d6000fd5b50505050610b7c611b68565b610b85836113fc565b8051909150610bdb576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b6000610be5611774565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610c3a57600080fd5b505afa158015610c4e573d6000803e3d6000fd5b505050506040513d6020811015610c6457600080fd5b50519050610c70611104565b8111610c7f57610c7f84611512565b50505050565b600061054b611104565b600080610c9a611774565b6001600160a01b031663a311c7c2846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610cef57600080fd5b505afa158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b50519050610d25611104565b8111610d35576000915050610580565b610d3d611b68565b610d46846113fc565b9050610d5581600001516114a8565b15610d6557600192505050610580565b5060009392505050565b60048181548110610d7c57fe5b600091825260209091200154905081565b620a69cb60eb1b610d9c6116d3565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ddf57600080fd5b505afa158015610df3573d6000803e3d6000fd5b505050506040513d6020811015610e0957600080fd5b505115610e5d576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610e65611724565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506000610ebf611383565b11610f11576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b6000610f1b61165a565b11610f6d576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b610f75611b68565b610f7e836113fc565b805190915015610fbf5760405162461bcd60e51b8152600401808060200182810382526027815260200180611cc16027913960400191505060405180910390fd5b6000610fc9611774565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561101e57600080fd5b505afa158015611032573d6000803e3d6000fd5b505050506040513d602081101561104857600080fd5b50519050611054611383565b8110156110925760405162461bcd60e51b8152600401808060200182810382526035815260200180611bfe6035913960400191505060405180910390fd5b60006110ac61109f61165a565b429063ffffffff6112ad16565b90506110b98582336117c1565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b601881565b600061110e6118ee565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561117a57600080fd5b505afa15801561118e573d6000803e3d6000fd5b505050506040513d60208110156111a457600080fd5b5051905090565b6000670de0b6b3a76400006111c6848463ffffffff61194116565b816111cd57fe5b049392505050565b60008282111561122c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061123c6118ee565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561117a57600080fd5b600082820183811015611307576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006113078261132c85670de0b6b3a764000063ffffffff61194116565b9063ffffffff61199a16565b6000546001600160a01b031633146113815760405162461bcd60e51b815260040180806020018281038252602f815260200180611c33602f913960400191505060405180910390fd5b565b600061138d6118ee565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561117a57600080fd5b611404611b68565b61140c611a04565b6001600160a01b031663bdc963d861143a724c69717569646174696f6e446561646c696e6560681b85611a48565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561146e57600080fd5b505afa158015611482573d6000803e3d6000fd5b505050506040513d602081101561149857600080fd5b5051815260006020820152919050565b600080821180156104df575050421190565b60006113078383670de0b6b3a7640000611a87565b600061054b6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250611abe565b61151a611a04565b6001600160a01b03166393fe4248611548724c69717569646174696f6e446561646c696e6560681b84611a48565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561157e57600080fd5b505af1158015611592573d6000803e3d6000fd5b5050505061159e611a04565b6001600160a01b031663043106c06115ca702634b8bab4b230ba34b7b721b0b63632b960791b84611a48565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561160057600080fd5b505af1158015611614573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b60006116646118ee565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561117a57600080fd5b600061054b6c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250611abe565b600061054b6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250611abe565b600061054b680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250611abe565b6117c9611a04565b6001600160a01b0316633562fd206117f7724c69717569646174696f6e446561646c696e6560681b86611a48565b846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561183557600080fd5b505af1158015611849573d6000803e3d6000fd5b50505050611855611a04565b6001600160a01b0316635a2bf25a611881702634b8bab4b230ba34b7b721b0b63632b960791b86611a48565b836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b1580156118d157600080fd5b505af11580156118e5573d6000803e3d6000fd5b50505050505050565b600061054b6e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250611abe565b600082611950575060006104df565b8282028284828161195d57fe5b04146113075760405162461bcd60e51b8152600401808060200182810382526021815260200180611ca06021913960400191505060405180910390fd5b60008082116119f0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816119fb57fe5b04949350505050565b600061054b7f457465726e616c53746f726167654c69717569646174696f6e730000000000006040518060600160405280602a8152602001611bd4602a9139611abe565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080611aa18461132c87600a870263ffffffff61194116565b90506005600a820610611ab257600a015b600a9004949350505050565b6000828152600360205260408120546001600160a01b03168281611b605760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b25578181015183820152602001611b0d565b50505050905090810190601f168015611b525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b604080518082019091526000808252602082015290565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e6720457465726e616c53746f726167654c69717569646174696f6e7320616464726573734163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a7231582079b4803a289b8c5a9a64ec84ba15ba8c767ae11134c05d799f32edb896bd093464736f6c63430005100032",
			"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": "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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"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": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": [
						{
							"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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				}
			],
			"source": {
				"keccak256": "0x4318fdb6dddf0b87dbbb8bbcc0bfe213a2392a13d60491aac8aeecb556e32491",
				"urls": [
					"bzz-raw://c8f9062cd05aaf11767d7f176adf5d483c4ceec817260c84b5e753226349f83a",
					"dweb:/ipfs/QmPJmSRaBvXP3wKKmuh1MC6CP3HXBuQLiWHboaVq7fUVFK"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidations.sol": "Liquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Liquidations.sol": {
						"keccak256": "0x4318fdb6dddf0b87dbbb8bbcc0bfe213a2392a13d60491aac8aeecb556e32491",
						"urls": [
							"bzz-raw://c8f9062cd05aaf11767d7f176adf5d483c4ceec817260c84b5e753226349f83a",
							"dweb:/ipfs/QmPJmSRaBvXP3wKKmuh1MC6CP3HXBuQLiWHboaVq7fUVFK"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516114d03803806114d08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061131d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820f7f3d5c3581a682bbd5d968844cf07a6affb351572d05ebc01e746fb52128e4964736f6c63430005100032",
			"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": "0x245b48648e6d3b99bc176928df16f92feec91b6d59dfb62d346f621ea1f891a4",
				"urls": [
					"bzz-raw://bc3fda660fd52d71e7aed5debfb7fc474170f5fbfa95bc36d889bb414ebed63b",
					"dweb:/ipfs/QmWpF5aDRAS8xEGAY6dkXsRwM4pqY2KUbTtuZ9pt6ZGcyJ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0x245b48648e6d3b99bc176928df16f92feec91b6d59dfb62d346f621ea1f891a4",
						"urls": [
							"bzz-raw://bc3fda660fd52d71e7aed5debfb7fc474170f5fbfa95bc36d889bb414ebed63b",
							"dweb:/ipfs/QmWpF5aDRAS8xEGAY6dkXsRwM4pqY2KUbTtuZ9pt6ZGcyJ"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "631cd554d160e21b600b9081556101e06040526b53797374656d53746174757360a01b6080908152680a6f2dce8d0cae8d2f60bb1b60a0526b466565506f6f6c537461746560a01b60c0527f466565506f6f6c457465726e616c53746f72616765000000000000000000000060e0526822bc31b430b733b2b960b91b610100526524b9b9bab2b960d11b610120526d53796e746865746978537461746560901b610140526b526577617264457363726f7760a01b610160527044656c6567617465417070726f76616c7360781b610180527f4574686572436f6c6c61746572616c73555344000000000000000000000000006101a0527f52657761726473446973747269627574696f6e000000000000000000000000006101c0526200012991601791906200068a565b503480156200013757600080fd5b50604051620046d7380380620046d7833981810160405260608110156200015d57600080fd5b5080516020820151604092830151835161030081019485905292939192909182919060179060189082845b81548152602001906001019080831162000188575050505050621baf80858560006001600160a01b0316816001600160a01b0316141562000210576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002bb576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a1506000546001600160a01b03166200035f576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460068054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a142016007556000546001600160a01b03166200040f576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620004775760008282601881106200042b57fe5b6020020151146200046857600a8282601881106200044557fe5b60209081029190910151825460018101845560009384529190922001556200046e565b62000477565b60010162000412565b5050600880546001600160a01b0319166001600160a01b0392909216919091179055620004b66e466c657869626c6553746f7261676560881b6200052b565b6001620004cd60006001600160e01b036200065e16565b80546001600160401b0319166001600160401b039290921691909117905542620004f860006200065e565b80546001600160401b0392909216600160801b02600160801b600160c01b031990921691909117905550620006ed915050565b600a805460018101825560008290527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80182905554601811620005b5576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600854604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b1580156200060257600080fd5b505afa15801562000617573d6000803e3d6000fd5b505050506040513d60208110156200062e57600080fd5b505160009182526009602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000600c600260ff168360165401816200067457fe5b06600281106200068057fe5b6005020192915050565b8260188101928215620006bb579160200282015b82811115620006bb5782518255916020019190600101906200069e565b50620006c9929150620006cd565b5090565b620006ea91905b80821115620006c95760008155600101620006d4565b90565b613fda80620006fd6000396000f3fe608060405234801561001057600080fd5b50600436106103155760003560e01c806386645274116101a7578063bc67f832116100ee578063d67bdd2511610097578063eb1edd6111610071578063eb1edd6114610821578063ec55688914610829578063fd1f498d1461083157610315565b8063d67bdd2514610809578063e0e6393d14610811578063e3235c911461081957610315565b8063c6c9d828116100c8578063c6c9d828146107c6578063cff2ddad146107e3578063d294f0931461080157610315565b8063bc67f83214610790578063bd32aa44146107b6578063c58aaae6146107be57610315565b8063ab49848c11610150578063b410a0341161012a578063b410a03414610754578063b5ddb9c71461075c578063b8225dec1461078857610315565b8063ab49848c146106c3578063ac83419314610704578063b10090b81461070c57610315565b80639cb8a26a116101815780639cb8a26a146106ab5780639cbdaeb6146106b3578063a461fc82146106bb57610315565b8063866452741461064b5780638da5cb5b1461067d57806397107d6d1461068557610315565b8063331400161161026b578063569249d0116102145780636466f45e116101ee5780636466f45e146106155780636de813f11461063b57806379ba50971461064357610315565b8063569249d0146105ad57806359a2f19f146105b5578063631e1444146105ef57610315565b80633fcd2240116102455780633fcd22401461053857806346ba2d901461059d57806353a47bb7146105a557610315565b8063331400161461048a5780633be99e6f1461050a5780633ebc457a1461053057610315565b80631627540c116102cd57806322425fa4116102a757806322425fa41461045d57806322bf55ef146104655780633278c9601461048257610315565b80631627540c1461040957806317c70de41461042f57806320714f881461043757610315565b80630813071c116102fe5780630813071c146103765780630de58615146103a2578063131b0ae7146103e157610315565b806304f3bcec1461031a57806307ea50cd1461033e575b600080fd5b61032261084e565b604080516001600160a01b039092168252519081900360200190f35b6103646004803603602081101561035457600080fd5b50356001600160a01b031661085d565b60408051918252519081900360200190f35b6103646004803603604081101561038c57600080fd5b506001600160a01b038135169060200135610941565b6103c8600480360360208110156103b857600080fd5b50356001600160a01b0316610af2565b6040805192835260208301919091528051918290030190f35b610407600480360360208110156103f757600080fd5b50356001600160a01b0316610b74565b005b6104076004803603602081101561041f57600080fd5b50356001600160a01b0316610b9e565b610364610bfa565b6104076004803603602081101561044d57600080fd5b50356001600160a01b0316610c00565b610364610cd6565b6104076004803603602081101561047b57600080fd5b5035610ce5565b610407610e40565b6104b0600480360360208110156104a057600080fd5b50356001600160a01b0316610e82565b6040516000826002835b818410156104fa5760208402830151604080838360005b838110156104e95781810151838201526020016104d1565b5050505090500192600101926104ba565b9250505091505060405180910390f35b6104076004803603602081101561052057600080fd5b50356001600160a01b03166110d2565b610407611218565b6105556004803603602081101561054e57600080fd5b50356115c1565b6040805167ffffffffffffffff9889168152968816602088015294909616858501526060850192909252608084015260a083015260c082019290925290519081900360e00190f35b61036461166a565b610322611670565b61036461167f565b6105db600480360360208110156105cb57600080fd5b50356001600160a01b03166116da565b604080519115158252519081900360200190f35b6105db6004803603602081101561060557600080fd5b50356001600160a01b03166116ec565b6105db6004803603602081101561062b57600080fd5b50356001600160a01b0316611820565b610364611981565b6104076119d6565b6104076004803603606081101561066157600080fd5b506001600160a01b038135169060208101359060400135611a92565b610322611bf6565b6104076004803603602081101561069b57600080fd5b50356001600160a01b0316611c05565b610407611c61565b610322611d72565b610364611d81565b6106cb611d88565b604051808261030080838360005b838110156106f15781810151838201526020016106d9565b5050505090500191505060405180910390f35b610364611dd2565b610407600480360361010081101561072357600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c08101359060e00135611e72565b6103646120b4565b6104076004803603604081101561077257600080fd5b506001600160a01b0381351690602001356120be565b6105db612205565b610407600480360360208110156107a657600080fd5b50356001600160a01b031661220e565b610407612238565b610322612289565b610364600480360360208110156107dc57600080fd5b503561229d565b6107eb6122bb565b6040805160ff9092168252519081900360200190f35b6105db6122c0565b610322612337565b610364612346565b610364612350565b610322612355565b61032261236d565b6104076004803603602081101561084757600080fd5b503561237c565b6008546001600160a01b031681565b600061086761242e565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561090d57600080fd5b505afa158015610921573d6000803e3d6000fd5b505050506040513d602081101561093757600080fd5b505190505b919050565b600081610995576040805162461bcd60e51b815260206004820181905260248201527f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574604482015290519081900360640190fd5b600282106109ea576040805162461bcd60e51b815260206004820152601d60248201527f4578636565647320746865204645455f504552494f445f4c454e475448000000604482015290519081900360640190fd5b6109f660018303612472565b5468010000000000000000900467ffffffffffffffff16610a1957506000610aec565b6000610a496001610a2c60018603612472565b5468010000000000000000900467ffffffffffffffff169061249c565b9050600080610a566124f9565b6040805163694e000560e11b81526001600160a01b03898116600483015260248201879052825193169263d29c000a92604480840193919291829003018186803b158015610aa357600080fd5b505afa158015610ab7573d6000803e3d6000fd5b505050506040513d6040811015610acd57600080fd5b5080516020909101519092509050610ae683838361255a565b93505050505b92915050565b600080610afd613d0b565b610b0684610e82565b905060008060015b6002811015610b6757610b33848260028110610b2657fe5b602002015151849061268e565b9250610b5d848260028110610b4457fe5b602002015160016020020151839063ffffffff61268e16565b9150600101610b0e565b509093509150505b915091565b610b7c6126ef565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610ba66126ef565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60055481565b610c086126ef565b6001600160a01b038116610c63576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600680546001600160a01b03831661010081027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6000610ce061273a565b905090565b6000610cef612800565b6001600160a01b031633149050600080610d07612861565b6001600160a01b03166316b2213f336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d6020811015610d8657600080fd5b5051141590506000610d966128c2565b6001600160a01b0316336001600160a01b03161490508280610db55750815b80610dbd5750805b610e0e576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000604482015290519081900360640190fd5b610e2c84610e1c6000612472565b600101549063ffffffff61268e16565b610e366000612472565b6001015550505050565b610e486126ef565b600060058190556006805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b610e8a613d0b565b6000806000610e976124f9565b604080517fb326f84e0000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015260006024830152825193945084169263b326f84e92604480840193919291829003018186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6040811015610f2a57600080fd5b508051602090910151909350915081158015610f44575082155b15610f5c57610f51613d0b565b935061093c92505050565b600080610f6b60008686612906565b8751829052875160200181905290925090506000610f888861085d565b905060015b80156110c65760001981016000610fa382612472565b5468010000000000000000900467ffffffffffffffff1690508015801590610fdd5750610fcf83612472565b5467ffffffffffffffff1684105b156110bb576000610ff582600163ffffffff61249c16565b6040805163694e000560e11b81526001600160a01b038f811660048301526024820184905282519394508b169263d29c000a92604480840193919291829003018186803b15801561104557600080fd5b505afa158015611059573d6000803e3d6000fd5b505050506040513d604081101561106f57600080fd5b508051602090910151909a509850611088848b8b612906565b9097509550868b856002811061109a57fe5b602002015152858b85600281106110ad57fe5b602002015160016020020152505b505060001901610f8d565b50505050505050919050565b6110da6126ef565b600880546001600160a01b0319166001600160a01b03831617905560005b600a54811015611214576000600a828154811061111157fe5b60009182526020918290200154600854604080517fdacb2d010000000000000000000000000000000000000000000000000000000081526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b1580156111b457600080fd5b505afa1580156111c8573d6000803e3d6000fd5b505050506040513d60208110156111de57600080fd5b505160009182526009602052604090912080546001600160a01b0319166001600160a01b039092169190911790556001016110f8565b5050565b6112206129a8565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561125857600080fd5b505afa15801561126c573d6000803e3d6000fd5b50505050600061127a61273a565b116112cc576040805162461bcd60e51b815260206004820152601b60248201527f46656520506572696f64204475726174696f6e206e6f74207365740000000000604482015290519081900360640190fd5b6112d461273a565b42036112e06000612472565b54600160801b900467ffffffffffffffff161115611345576040805162461bcd60e51b815260206004820152601d60248201527f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000604482015290519081900360640190fd5b600061135081612472565b9050600061135e6001612472565b905061138f82600101546113838360020154846001015461249c90919063ffffffff16565b9063ffffffff61268e16565b6113996000612472565b600101556003808301546004830154918301546113c092611383919063ffffffff61249c16565b6113ca6000612472565b60030155601654611407906002906113fb906001906113ef908463ffffffff61268e16565b9063ffffffff61249c16565b9063ffffffff612a0916565b6016819055600c906002811061141957fe5b6005020180547fffffffffffffffff0000000000000000000000000000000000000000000000001681556000600180830182905560028301829055600383018290556004909201556114859061146e81612472565b5467ffffffffffffffff169063ffffffff61268e16565b61148f6000612472565b805467ffffffffffffffff191667ffffffffffffffff929092169190911790556114b7612a6e565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ef57600080fd5b505afa158015611503573d6000803e3d6000fd5b505050506040513d602081101561151957600080fd5b50516115256000612472565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff000000000000000019909216919091179055426115656000612472565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790556112146115b16001612472565b5467ffffffffffffffff16612acf565b60008060008060008060006115d4613d38565b6115dd89612472565b6040805160e081018252825467ffffffffffffffff808216808452680100000000000000008304821660208501819052600160801b909304909116938301849052600185015460608401819052600286015460808501819052600387015460a0860181905260049097015460c0909501859052919f929e50939c50929a5091985091965090945092505050565b60075481565b6001546001600160a01b031681565b60008060015b60028110156116d4576116ab61169a82612472565b60010154839063ffffffff61268e16565b91506116ca6116b982612472565b60020154839063ffffffff61249c16565b9150600101611685565b50905090565b60006116e582612c25565b5092915050565b6008546000906001600160a01b0383811691161461170c5750600061093c565b60005b600a54811015611817576000600a828154811061172857fe5b6000918252602080832090910154808352600982526040928390205460085484517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b1580156117a757600080fd5b505afa1580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b50516001600160a01b03161415806117fe57506000818152600960205260409020546001600160a01b0316155b1561180e5760009250505061093c565b5060010161170f565b50600192915050565b600061182a6129a8565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561186257600080fd5b505afa158015611876573d6000803e3d6000fd5b50505050611882612d32565b61188a612d88565b60048054604080517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b038781169482019490945291831660248301525192909116916321f4ae5791604480820192602092909190829003018186803b1580156118fb57600080fd5b505afa15801561190f573d6000803e3d6000fd5b505050506040513d602081101561192557600080fd5b5051611978576040805162461bcd60e51b815260206004820152601f60248201527f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600604482015290519081900360640190fd5b610aec82612dcc565b60008060015b60028110156116d4576119ad61199c82612472565b60030154839063ffffffff61268e16565b91506119cc6119bb82612472565b60040154839063ffffffff61249c16565b9150600101611987565b6001546001600160a01b03163314611a1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180613dd16035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b611a9a612861565b6001600160a01b0316336001600160a01b031614611aff576040805162461bcd60e51b815260206004820152601f60248201527f466565506f6f6c3a204f6e6c792049737375657220417574686f726973656400604482015290519081900360640190fd5b611b076124f9565b6001600160a01b03166394e1a448848484611b226000612472565b54604080517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0390951660048601526024850193909352604484019190915267ffffffffffffffff6801000000000000000090910416606483015251608480830192600092919082900301818387803b158015611bad57600080fd5b505af1158015611bc1573d6000803e3d6000fd5b50505050611bf1838383611bd56000612472565b5468010000000000000000900467ffffffffffffffff16612f4a565b505050565b6000546001600160a01b031681565b611c0d6126ef565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b611c696126ef565b60065460ff16611cc0576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006005540110611d1b576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600654604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160065461010090046001600160a01b0316ff5b6003546001600160a01b031681565b6224ea0081565b611d90613d93565b60005b600a54811015611dce57600a8181548110611daa57fe5b9060005260206000200154828260188110611dc157fe5b6020020152600101611d93565b5090565b6000610ce0611e5e611de2613091565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2657600080fd5b505af4158015611e3a573d6000803e3d6000fd5b505050506040513d6020811015611e5057600080fd5b50519063ffffffff61268e16565b611e66613126565b9063ffffffff6131bb16565b611e7a6131e5565b6007544210611eba5760405162461bcd60e51b8152600401808060200182810382526029815260200180613f356029913960400191505060405180910390fd5b611ec2612a6e565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015611efa57600080fd5b505afa158015611f0e573d6000803e3d6000fd5b505050506040513d6020811015611f2457600080fd5b5051861115611f7a576040805162461bcd60e51b815260206004820152601660248201527f43616e6e6f7420696d706f727420626164206461746100000000000000000000604482015290519081900360640190fd5b6040518060e001604052808867ffffffffffffffff1681526020018767ffffffffffffffff1681526020018667ffffffffffffffff16815260200185815260200184815260200183815260200182815250600c611fea600260ff166113fb8c60165461268e90919063ffffffff16565b60028110611ff457fe5b82516005919091029190910180546020840151604085015167ffffffffffffffff1990921667ffffffffffffffff948516176fffffffffffffffff000000000000000019166801000000000000000091851691909102177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16600160801b9390911692909202919091178155606082015160018201556080820151600282015560a0820151600382015560c0909101516004909101555050505050505050565b6000610ce0613126565b6120c66131e5565b6120ce61329f565b6004546001600160a01b03918216916323b872dd91166120ec613300565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561215557600080fd5b505af1158015612169573d6000803e3d6000fd5b505050506040513d602081101561217f57600080fd5b5061218a9050613300565b6001600160a01b031663b5ddb9c783836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156121e957600080fd5b505af11580156121fd573d6000803e3d6000fd5b505050505050565b60065460ff1681565b612216613361565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6122406126ef565b426005556006805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60065461010090046001600160a01b031681565b600a81815481106122aa57fe5b600091825260209091200154905081565b600281565b60006122ca6129a8565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561230257600080fd5b505afa158015612316573d6000803e3d6000fd5b50505050612322612d32565b600454610ce0906001600160a01b0316612dcc565b6004546001600160a01b031681565b6000610ce0613091565b601881565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b60006123866133d5565b6004549091506001600160a01b03808316911614806123ad5750336001600160a01b038216145b6123fe576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206973206e6f742072657761726473417574686f726974790000604482015290519081900360640190fd5b61241c8261240c6000612472565b600301549063ffffffff61268e16565b6124266000612472565b600301555050565b6000610ce07f466565506f6f6c457465726e616c53746f726167650000000000000000000000604051806060016040528060258152602001613f8160259139613415565b6000600c600260ff1683601654018161248757fe5b066002811061249257fe5b6005020192915050565b6000828211156124f3576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610ce07f466565506f6f6c537461746500000000000000000000000000000000000000006040518060400160405280601c81526020017f4d697373696e6720466565506f6f6c5374617465206164647265737300000000815250613415565b600080612565612a6e565b9050600061268485612678846001600160a01b03166308d95cd5886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156125b457600080fd5b505afa1580156125c8573d6000803e3d6000fd5b505050506040513d60208110156125de57600080fd5b5051604080517f08d95cd5000000000000000000000000000000000000000000000000000000008152600481018c905290516001600160a01b038816916308d95cd5916024808301926020929190829003018186803b15801561264057600080fd5b505afa158015612654573d6000803e3d6000fd5b505050506040513d602081101561266a57600080fd5b50519063ffffffff6134bf16565b9063ffffffff6134d816565b9695505050505050565b6000828201838110156126e8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000546001600160a01b031633146127385760405162461bcd60e51b815260040180806020018281038252602f815260200180613ec2602f913960400191505060405180910390fd5b565b60006127446134f1565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156127cf57600080fd5b505afa1580156127e3573d6000803e3d6000fd5b505050506040513d60208110156127f957600080fd5b5051905090565b6000610ce07f45786368616e67657200000000000000000000000000000000000000000000006040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250613415565b6000610ce07f49737375657200000000000000000000000000000000000000000000000000006040518060400160405280601681526020017f4d697373696e6720497373756572206164647265737300000000000000000000815250613415565b6000610ce07f4574686572436f6c6c61746572616c7355534400000000000000000000000000604051806060016040528060238152602001613f5e60239139613415565b60008083612919575060009050806129a0565b8385156129445760006129336001610a2c60018a03612472565b905061294081878761255a565b9150505b60006129638261295389612472565b600101549063ffffffff6131bb16565b90506000612984836129748a612472565b600301549063ffffffff6131bb16565b905061298f82613552565b61299882613552565b945094505050505b935093915050565b6000610ce07f53797374656d53746174757300000000000000000000000000000000000000006040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250613415565b600081612a5d576040805162461bcd60e51b815260206004820152601860248201527f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000604482015290519081900360640190fd5b818381612a6657fe5b069392505050565b6000610ce07f53796e74686574697853746174650000000000000000000000000000000000006040518060400160405280601e81526020017f4d697373696e672053796e746865746978537461746520616464726573730000815250613415565b6002546040805160208082018590528251808303820181528284018085527f466565506572696f64436c6f7365642875696e74323536290000000000000000905292519182900360580182207f907dff97000000000000000000000000000000000000000000000000000000008352600160248401819052604484018290526000606485018190526084850181905260a4850181905260c060048601908152865160c487015286516001600160a01b039098169763907dff979796939592938493849392839260e401918a0190808383885b83811015612bb9578181015183820152602001612ba1565b50505050905090810190601f168015612be65780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612c0a57600080fd5b505af1158015612c1e573d6000803e3d6000fd5b5050505050565b600080600080612c33612861565b604080517fae3bbbbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152825193169263ae3bbbbb92602480840193919291829003018186803b158015612c9257600080fd5b505afa158015612ca6573d6000803e3d6000fd5b505050506040513d6040811015612cbc57600080fd5b50805160209091015190925090506000612cd4613126565b905080831015612cec5750600193509150610b6f9050565b6000612d09612cfc611de2613091565b839063ffffffff6131bb16565b905080841115612d23576000839550955050505050610b6f565b50600194509092505050915091565b6002546001600160a01b03163314801590612d5857506003546001600160a01b03163314155b8015612d6f57506004546001600160a01b03163314155b1561273857600480546001600160a01b03191633179055565b6000610ce07f44656c6567617465417070726f76616c73000000000000000000000000000000604051806060016040528060218152602001613e2a60219139613415565b6000808080808080612ddd88612c25565b9150915081612e33576040805162461bcd60e51b815260206004820152601f60248201527f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400604482015290519081900360640190fd5b8015612e86576040805162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015290519081900360640190fd5b612e8f88610af2565b909450925083151580612ea25750600083115b612edd5760405162461bcd60e51b8152600401808060200182810382526040815260200180613e826040913960400191505060405180910390fd5b612efb88612eeb6001612472565b5467ffffffffffffffff16613574565b8315612f1657612f0a8461362c565b9450612f168886613700565b8215612f3157612f25836138e5565b9550612f3188876139bf565b612f3c888688613ab6565b506001979650505050505050565b6002805460408051602081018790528082018690526060808201869052825180830390910181526080909101918290526001600160a01b039092169263907dff979291806037613e4b823960370190506040518091039020886001600160a01b031660001b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561302257818101518382015260200161300a565b50505050905090810190601f16801561304f5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561307357600080fd5b505af1158015613087573d6000803e3d6000fd5b5050505050505050565b600061309b6134f1565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156127cf57600080fd5b60006131306134f1565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156127cf57600080fd5b6000670de0b6b3a76400006131d6848463ffffffff613bd916565b816131dd57fe5b049392505050565b6002546001600160a01b0316331480159061320b57506003546001600160a01b03163314155b801561322257506004546001600160a01b03163314155b1561323a57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614612738576040805162461bcd60e51b815260206004820152601360248201527f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000604482015290519081900360640190fd5b6000610ce07f53796e74686574697800000000000000000000000000000000000000000000006040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250613415565b6000610ce07f526577617264457363726f7700000000000000000000000000000000000000006040518060400160405280601c81526020017f4d697373696e6720526577617264457363726f77206164647265737300000000815250613415565b6002546001600160a01b031633148061338457506003546001600160a01b031633145b612738576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6000610ce07f52657761726473446973747269627574696f6e00000000000000000000000000604051806060016040528060238152602001613ef1602391395b6000828152600960205260408120546001600160a01b031682816134b75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561347c578181015183820152602001613464565b50505050905090810190601f1680156134a95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60006126e883836b033b2e3c9fd0803ce8000000613c32565b60006126e883836b033b2e3c9fd0803ce8000000613c76565b6000610ce07f466c657869626c6553746f7261676500000000000000000000000000000000006040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250613415565b60006305f5e10082046005600a82061061356a57600a015b600a900492915050565b61357c61242e565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156121e957600080fd5b6000818160015b60028110156134b757600061364782612472565b600201549050600061366c8261365c85612472565b600101549063ffffffff61249c16565b905080156136f55760008582106136835785613685565b815b9050613697838263ffffffff61268e16565b6136a085612472565b600201556136b4868263ffffffff61249c16565b95506136c6858263ffffffff61268e16565b9450856136db5784965050505050505061093c565b831580156136e95750600086115b156136f357600095505b505b505060001901613633565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415613773576040805162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015290519081900360640190fd5b600061377d612861565b6001600160a01b03166332608039600b546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156137c257600080fd5b505afa1580156137d6573d6000803e3d6000fd5b505050506040513d60208110156137ec57600080fd5b5051604080517f9dc29fac00000000000000000000000000000000000000000000000000000000815273feefeefeefeefeefeefeefeefeefeefeefeefeef60048201526024810186905290519192506001600160a01b03831691639dc29fac9160448082019260009290919082900301818387803b15801561386d57600080fd5b505af1158015613881573d6000803e3d6000fd5b50505050806001600160a01b031663867904b485856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561307357600080fd5b6000818160015b60028110156134b757600061392061390383612472565b6004015461391084612472565b600301549063ffffffff61249c16565b905080156139b55760008482106139375784613939565b815b90506139588161394885612472565b600401549063ffffffff61268e16565b61396184612472565b60040155613975858263ffffffff61249c16565b9450613987848263ffffffff61268e16565b93508461399b57839550505050505061093c565b821580156139a95750600085115b156139b357600094505b505b50600019016138ec565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415613a32576040805162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015290519081900360640190fd5b613a3a613300565b6001600160a01b031663b5ddb9c784846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613a9957600080fd5b505af1158015613aad573d6000803e3d6000fd5b50505050505050565b600254604080516001600160a01b0386811660208301528183018690526060808301869052835180840390910181526080909201928390529092169163907dff9791600190806024613e0682396024019050604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015613b88578181015183820152602001613b70565b50505050905090810190601f168015613bb55780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015613a9957600080fd5b600082613be857506000610aec565b82820282848281613bf557fe5b04146126e85760405162461bcd60e51b8152600401808060200182810382526021815260200180613f146021913960400191505060405180910390fd5b600080613c5884613c4c87600a870263ffffffff613bd916565b9063ffffffff613ca116565b90506005600a825b0610613c6a57600a015b600a9004949350505050565b600080600a8304613c8d868663ffffffff613bd916565b81613c9457fe5b0490506005600a82613c60565b6000808211613cf7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613d0257fe5b04949350505050565b60405180604001604052806002905b613d22613db2565b815260200190600190039081613d1a5790505090565b6040518060e00160405280600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6040518061030001604052806018906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697046656573436c61696d656428616464726573732c75696e743235362c75696e74323536294d697373696e672044656c6567617465417070726f76616c73206164647265737349737375616e636544656274526174696f456e74727928616464726573732c75696e743235362c75696e743235362c75696e74323536294e6f2066656573206f72207265776172647320617661696c61626c6520666f7220706572696f642c206f72206665657320616c726561647920636c61696d65644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4d697373696e672052657761726473446973747269627574696f6e2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e672073657475704d697373696e67204574686572436f6c6c61746572616c7355534420616464726573734d697373696e6720466565506f6f6c457465726e616c53746f726167652061646472657373a265627a7a72315820fd846bb8fe18b3d527dfc4d0bc192de5da9200f4e0aa384c69e18f5faee0ba5564736f6c63430005100032",
			"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": "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": "sUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxRewards",
							"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"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": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"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": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"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": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"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": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": 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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"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 AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd1f498d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"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": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"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": "0x1b5c5a7be8072e6d9e89d218345a7692365a4236fd3d82ea85476d0fad9c30c1",
				"urls": [
					"bzz-raw://44bb3df59fea247d0a71ff6f56b1a309460bbae35262cc6724260ddb30eefff0",
					"dweb:/ipfs/QmVMGAeDR2LoGz2qX9t9f2mAoP1sVupyXJ1wezHJ9vsuq9"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePool.sol": "FeePool"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1500
					},
					"remappings": []
				},
				"sources": {
					"FeePool.sol": {
						"keccak256": "0x1b5c5a7be8072e6d9e89d218345a7692365a4236fd3d82ea85476d0fad9c30c1",
						"urls": [
							"bzz-raw://44bb3df59fea247d0a71ff6f56b1a309460bbae35262cc6724260ddb30eefff0",
							"dweb:/ipfs/QmVMGAeDR2LoGz2qX9t9f2mAoP1sVupyXJ1wezHJ9vsuq9"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b506040516110953803806110958339818101604052604081101561003357600080fd5b50805160209091015162375f00826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610146576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a14201600455600580546001600160a01b0319166001600160a01b039290921691909117905550610ec1806101d46000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638da5cb5b116100b8578063b326f84e1161007c578063b326f84e1461036b578063b8225dec14610397578063bd32aa44146103b3578063c58aaae6146103bb578063cff2ddad146103c3578063d29c000a146103e157610137565b80638da5cb5b1461031357806394e1a4481461031b5780639cb8a26a14610353578063a461fc821461035b578063ae2e933b1461036357610137565b806339a3f63f116100ff57806339a3f63f146101d257806346ba2d901461029a57806353a47bb7146102a257806379ba5097146102c65780637de65545146102ce57610137565b80631627540c1461013c57806317c70de41461016457806319db22281461017e57806320714f88146101a45780633278c960146101ca575b600080fd5b6101626004803603602081101561015257600080fd5b50356001600160a01b031661040d565b005b61016c610469565b60408051918252519081900360200190f35b6101626004803603602081101561019457600080fd5b50356001600160a01b031661046f565b610162600480360360208110156101ba57600080fd5b50356001600160a01b0316610499565b610162610558565b610162600480360360808110156101e857600080fd5b81019060208101813564010000000081111561020357600080fd5b82018360208201111561021557600080fd5b8035906020019184602083028401116401000000008311171561023757600080fd5b91939092909160208101903564010000000081111561025557600080fd5b82018360208201111561026757600080fd5b8035906020019184602083028401116401000000008311171561028957600080fd5b91935091508035906020013561059a565b61016c610774565b6102aa61077a565b604080516001600160a01b039092168252519081900360200190f35b610162610789565b6102fa600480360360408110156102e457600080fd5b506001600160a01b038135169060200135610845565b6040805192835260208301919091528051918290030190f35b6102aa610872565b6101626004803603608081101561033157600080fd5b506001600160a01b038135169060208101359060408101359060600135610881565b61016261091a565b61016c610a2b565b6102aa610a32565b6102fa6004803603604081101561038157600080fd5b506001600160a01b038135169060200135610a41565b61039f610ae7565b604080519115158252519081900360200190f35b610162610af0565b6102aa610b41565b6103cb610b55565b6040805160ff9092168252519081900360200190f35b6102fa600480360360408110156103f757600080fd5b506001600160a01b038135169060200135610b5a565b610415610c3f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b610477610c3f565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6104a1610c3f565b6001600160a01b0381166104fc576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b610560610c3f565b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6105a2610c3f565b60045442106105e25760405162461bcd60e51b8152600401808060200182810382526029815260200180610e646029913960400191505060405180910390fd5b848314610628576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b8581101561076b5784848281811061063f57fe5b905060200201356006600089898581811061065657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061069157fe5b600202015581600660008989858181106106a757fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106106e257fe5b60020201600101819055508686828181106106f957fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061073f57fe5b9050602002013584604051808381526020018281526020019250505060405180910390a260010161062b565b50505050505050565b60045481565b6001546001600160a01b031681565b6001546001600160a01b031633146107d25760405162461bcd60e51b8152600401808060200182810382526035815260200180610dac6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6006602052816000526040600020816006811061085e57fe5b600202018054600190910154909250905082565b6000546001600160a01b031681565b6005546001600160a01b031633146108ca5760405162461bcd60e51b8152600401808060200182810382526031815260200180610e046031913960400191505060405180910390fd5b6001600160a01b0384166000908152600660205260409020600101548111156108f6576108f684610c8a565b506001600160a01b0392909216600090815260066020526040902090815560010155565b610922610c3f565b60035460ff16610979576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea0060025401106109d4576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6224ea0081565b6005546001600160a01b031681565b60008060068310610a835760405162461bcd60e51b8152600401808060200182810382526023815260200180610de16023913960400191505060405180910390fd5b6001600160a01b03841660009081526006602081905260409091209084908110610aa957fe5b60020201546001600160a01b038516600090815260066020819052604090912091935084908110610ad657fe5b600202016001015490509250929050565b60035460ff1681565b610af8610c3f565b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b600681565b600080610b65610d64565b6001600160a01b0385166000908152600660208190526040808320815160c081019092529092909190835b82821015610bcc578382600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610b90565b509293506000925050505b6006811015610c3557818160068110610bec57fe5b6020020151602001518510610c2d57818160068110610c0757fe5b602002015151828260068110610c1957fe5b602002015160200151935093505050610c38565b600101610bd7565b50505b9250929050565b6000546001600160a01b03163314610c885760405162461bcd60e51b815260040180806020018281038252602f815260200180610e35602f913960400191505060405180910390fd5b565b60045b6006811015610d60576001600160a01b0382166000908152600660208190526040909120600183019183908110610cc057fe5b60020201546001600160a01b03841660009081526006602081905260409091209083908110610ceb57fe5b60020201556001600160a01b03831660009081526006602081905260409091209083908110610d1657fe5b600202016001015460066000856001600160a01b03166001600160a01b031681526020019081526020016000208260068110610d4e57fe5b60020201600101555060001901610c8d565b5050565b6040518060c001604052806006905b610d7b610d91565b815260200190600190039081610d735790505090565b60405180604001604052806000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820c1eeb550e13a2447cac50cacb0daf601777e26d374997784fd77617da3ca470864736f6c63430005100032",
			"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"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": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"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": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"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": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				}
			],
			"source": {
				"keccak256": "0x38521bec7362b0ac231f277974550427ae84fefab337b3baf3e7b3be41aa865b",
				"urls": [
					"bzz-raw://000c86556516ffcf7add3867a7884c66d9870fea2cfe0b95a5bfe5f9269eef47",
					"dweb:/ipfs/QmbQTSh9eUWewKHKpG5cQ3jF9JmY8mU1KDLRL5ct57K4Tg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolState.sol": "FeePoolState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolState.sol": {
						"keccak256": "0x38521bec7362b0ac231f277974550427ae84fefab337b3baf3e7b3be41aa865b",
						"urls": [
							"bzz-raw://000c86556516ffcf7add3867a7884c66d9870fea2cfe0b95a5bfe5f9269eef47",
							"dweb:/ipfs/QmbQTSh9eUWewKHKpG5cQ3jF9JmY8mU1KDLRL5ct57K4Tg"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b5060405161129b38038061129b833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b031991821617909155600380549486169482169490941790935560048054928516928416929092179091556005805491909316911617905550611136806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063bdd1248211610071578063bdd12482146102c5578063bf7e214f146102cd578063c9e9cc4d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f57806395896b7614610297578063a430be6c146102bd57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a2f565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a59565b61015b610bfc565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610cb8565b61015b6004803603602081101561028857600080fd5b5035610ce2565b6101a5610dcd565b61015b600480360360208110156102ad57600080fd5b50356001600160a01b0316610ddc565b6101a5610e06565b6101a5610e15565b6101a5610e24565b6101a5610e33565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e42565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e6c565b6006545b90565b610344610f38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b815260040180806020018281038252604681526020018061108d6046913960600191505060405180910390fd5b8160005b6006548110156109065760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b03161415806106bf5750600681815481106106a857fe5b906000526020600020906002020160010154600014155b156108fe576106f5600682815481106106d457fe5b90600052602060002090600202016001015483610f8390919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071c57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074757fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d60208110156107d257600080fd5b50506006805460609190839081106107e657fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b17905260068054919350908490811061084457fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106108915780518252601f199092019160209182019101610872565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50505050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b505050506040513d602081101561098b57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109da57600080fd5b505af11580156109ee573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a37610f38565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a63610f38565b6001600160a01b038316610abe576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b09576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b11610fe0565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c455760405162461bcd60e51b81526004018080602001828103825260358152602001806110586035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cc0610f38565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cea610f38565b60065460001901811115610d3b576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610db55760068160010181548110610d5b57fe5b906000526020600020906002020160068281548110610d7657fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d3d565b506006805490610dc9906000198301610ff7565b5050565b6000546001600160a01b031681565b610de4610f38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b6003546001600160a01b031681565b6002546001600160a01b031681565b6005546001600160a01b031681565b610e4a610f38565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e76610f38565b60065460001901841115610ec7576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ed557fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f1857fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260040180806020018281038252602f8152602001806110d3602f913960400191505060405180910390fd5b565b600082821115610fda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b815481835581811115611023576002028160020283600052602060002091820191016110239190611028565b505050565b61033991905b808211156110535780546001600160a01b03191681556000600182015560020161102e565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158202a90b4643ef58a9bbd7328a710c1572dc36c2cd3ceaa31287dd3aa7cf47a4dde64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_synthetixProxy",
							"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": "_synthetixProxy",
							"type": "address"
						}
					],
					"name": "setSynthetixProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x95896b76"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetixProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdd12482"
				}
			],
			"source": {
				"keccak256": "0xc0afd5f853c2fd6316748378d909f09a78d6152afda964ccf6c5d1366cfcd456",
				"urls": [
					"bzz-raw://0ade0d1e747f82655d00a3723a3b5ac3e0d92567f37901ea410b2c0a383aec3f",
					"dweb:/ipfs/QmSW4ouHSzuRr4YVbqU9AKfEA4ZwYNFS9H89cq1wNjTPz1"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0xc0afd5f853c2fd6316748378d909f09a78d6152afda964ccf6c5d1366cfcd456",
						"urls": [
							"bzz-raw://0ade0d1e747f82655d00a3723a3b5ac3e0d92567f37901ea410b2c0a383aec3f",
							"dweb:/ipfs/QmSW4ouHSzuRr4YVbqU9AKfEA4ZwYNFS9H89cq1wNjTPz1"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b913d60c85b41d793dfd58f1948ddfcc9e422be394f04fad1f538b8d4a89b31364736f6c63430005100032",
			"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": "0x680dbc00b1b3884976ce60a5bfac4f218e89133835c193f9fe9d02b162fd2058",
				"urls": [
					"bzz-raw://8945b08428c4166fda9927854a69a70053133f1cf7b08bbc68d3876b076710a4",
					"dweb:/ipfs/QmPSQPFQRjVKyBU1U3cH9vMh5jx8xYWAgL9dTHswM6DbJN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0x680dbc00b1b3884976ce60a5bfac4f218e89133835c193f9fe9d02b162fd2058",
						"urls": [
							"bzz-raw://8945b08428c4166fda9927854a69a70053133f1cf7b08bbc68d3876b076710a4",
							"dweb:/ipfs/QmPSQPFQRjVKyBU1U3cH9vMh5jx8xYWAgL9dTHswM6DbJN"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582064b46c6bab1d6ac75b25dc5dd585ccc0c8dc2ac8b9bfffdf3012b8236ae7048864736f6c63430005100032",
			"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": "0xf21329a188a29886c60f6cefaba24298faee0fba7c13eac581a7b94820e9726b",
				"urls": [
					"bzz-raw://6fa9d120122b2de9215879d0bab8cbdb9a1a8e564e1ef41b81344851359f30fd",
					"dweb:/ipfs/QmWtfE2pAgSo2stHR3bZ6AaL9gA6Q2xHKk56ue3QZBvrKZ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TokenState.sol": "TokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TokenState.sol": {
						"keccak256": "0xf21329a188a29886c60f6cefaba24298faee0fba7c13eac581a7b94820e9726b",
						"urls": [
							"bzz-raw://6fa9d120122b2de9215879d0bab8cbdb9a1a8e564e1ef41b81344851359f30fd",
							"dweb:/ipfs/QmWtfE2pAgSo2stHR3bZ6AaL9gA6Q2xHKk56ue3QZBvrKZ"
						]
					}
				},
				"version": 1
			}
		},
		"Synthetix": {
			"bytecode": "6101406040526b53797374656d53746174757360a01b60809081526822bc31b430b733b2b960b91b60a0526524b9b9bab2b960d11b60c0526d537570706c795363686564756c6560901b60e0527f52657761726473446973747269627574696f6e00000000000000000000000000610100526d53796e746865746978537461746560901b610120526200009790600c90600662000444565b50348015620000a557600080fd5b5060405162004d8938038062004d89833981810160405260a0811015620000cb57600080fd5b508051602082015160408084015160608501516080909501518251610300810190935293949293909291859085908590859085908190600c60188282826020028201915b8154815260200190600101908083116200010f57505050505086866040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b8152508760128a868160006001600160a01b0316816001600160a01b03161415620001eb576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000296576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200031890600690602088019062000487565b5083516200032e90600790602087019062000487565b50506008919091556009805460ff191660ff90921691909117905550506000546001600160a01b031615159150620003a39050576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200040b576000828260188110620003bf57fe5b602002015114620003fc57600b828260188110620003d957fe5b602090810291909101518254600181018455600093845291909220015562000402565b6200040b565b600101620003a6565b5050600980546001600160a01b0390921661010002610100600160a81b0319909216919091179055506200051998505050505050505050565b826018810192821562000475579160200282015b828111156200047557825182559160200191906001019062000458565b5062000483929150620004f9565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004ca57805160ff191683800117855562000475565b828001600101855582156200047557918201828111156200047557825182559160200191906001019062000458565b6200051691905b8082111562000483576000815560010162000500565b90565b61486080620005296000396000f3fe608060405234801561001057600080fd5b50600436106104075760003560e01c806383d625d411610220578063bc67f83211610130578063dd62ed3e116100b8578063e8e09b8b11610087578063e8e09b8b14610cff578063e90dd9e214610d2b578063ec55688914610d33578063edef719a146107e6578063ee52a2f314610d3b57610407565b8063dd62ed3e14610c74578063ddd03a3f14610ca2578063e3235c9114610ccb578063e6203ed114610cd357610407565b8063d37c4d8b116100ff578063d37c4d8b14610bfe578063d60888e414610c2a578063d67bdd2514610c47578063d8a1f76f14610c4f578063dbf6334014610c6c57610407565b8063bc67f83214610b57578063c2bf388014610b7d578063c6c9d82814610ba9578063c836fa0a14610bc657610407565b8063987757dd116101b3578063a5fdc5de11610182578063a5fdc5de14610a8a578063a9059cbb14610ab0578063ab49848c14610adc578063ace88afd14610b1d578063af086c7e14610b4f57610407565b8063987757dd14610a195780639cbdaeb614610a365780639f76980714610a3e578063a311c7c214610a6457610407565b80639324cac7116101ef5780639324cac7146109db57806395d89b41146109e357806397107d6d146109eb5780639741fb2214610a1157610407565b806383d625d4146109535780638a290014146109705780638da5cb5b1461098d57806391e56b681461099557610407565b80632e0f26251161031b578063631e1444116102ae5780636f01a9861161027d5780636f01a9861461087e57806370a08231146108b057806372cb051f146108d657806379ba50971461092e578063835e119c1461093657610407565b8063631e1444146107c0578063666ed4f1146107e65780636ac0bf9c146108125780636c00f3101461083857610407565b806332608039116102ea578063326080391461076d5780633be99e6f1461078a5780634e99bda9146107b057806353a47bb7146107b857610407565b80632e0f2625146106e357806330ead76014610701578063313ce5671461073f578063320223db1461074757610407565b80631627540c1161039e5780631fce304d1161036d5780631fce304d1461064557806323b872dd14610662578063295da87d146106985780632a905318146106b55780632c955fa7146106bd57610407565b80631627540c146105e957806316b2213f1461060f57806318160ddd14610635578063188214001461063d57610407565b80630e30963c116103da5780630e30963c146105255780631137aedf146105755780631249c58b146105b9578063131b0ae7146105c157610407565b806304f3bcec1461040c57806305b3c1c91461043057806306fdde0314610468578063095ea7b3146104e5575b600080fd5b610414610d64565b604080516001600160a01b039092168252519081900360200190f35b6104566004803603602081101561044657600080fd5b50356001600160a01b0316610d78565b60408051918252519081900360200190f35b610470610e0b565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104aa578181015183820152602001610492565b50505050905090810190601f1680156104d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610511600480360360408110156104fb57600080fd5b506001600160a01b038135169060200135610e99565b604080519115158252519081900360200190f35b6105546004803603608081101561053b57600080fd5b5080359060208101359060408101359060600135610f32565b604080519283526001600160a01b0390911660208301528051918290030190f35b61059b6004803603602081101561058b57600080fd5b50356001600160a01b03166110be565b60408051938452602084019290925282820152519081900360600190f35b610511611164565b6105e7600480360360208110156105d757600080fd5b50356001600160a01b0316611658565b005b6105e7600480360360208110156105ff57600080fd5b50356001600160a01b0316611682565b6104566004803603602081101561062557600080fd5b50356001600160a01b03166116de565b61045661173d565b610470611743565b6105116004803603602081101561065b57600080fd5b503561177c565b6105116004803603606081101561067857600080fd5b506001600160a01b0381358116916020810135909116906040013561180f565b6105e7600480360360208110156106ae57600080fd5b503561189c565b610470611976565b6105e7600480360360208110156106d357600080fd5b50356001600160a01b0316611995565b6106eb611a56565b6040805160ff9092168252519081900360200190f35b610456600480360360a081101561071757600080fd5b508035906020810135906040810135906001600160a01b036060820135169060800135611a5b565b6106eb611be5565b6105e76004803603602081101561075d57600080fd5b50356001600160a01b0316611bee565b6104146004803603602081101561078357600080fd5b5035611caf565b6105e7600480360360208110156107a057600080fd5b50356001600160a01b0316611cfc565b610511611e32565b610414611ea5565b610511600480360360208110156107d657600080fd5b50356001600160a01b0316611eb4565b6105e7600480360360408110156107fc57600080fd5b506001600160a01b038135169060200135611fdb565b6104566004803603602081101561082857600080fd5b50356001600160a01b0316611fe3565b6105e7600480360360c081101561084e57600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a00135166120ea565b6105e76004803603606081101561089457600080fd5b506001600160a01b03813516906020810135906040013561229c565b610456600480360360208110156108c657600080fd5b50356001600160a01b0316612430565b6108de612481565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561091a578181015183820152602001610902565b505050509050019250505060405180910390f35b6105e7612591565b6104146004803603602081101561094c57600080fd5b503561264d565b6104566004803603602081101561096957600080fd5b503561269a565b6105e76004803603602081101561098657600080fd5b50356126f4565b6104146127b1565b610456600480360360c08110156109ab57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a001356127c0565b61045661294e565b610470612959565b6105e760048036036020811015610a0157600080fd5b50356001600160a01b03166129b4565b6105e7612a10565b61059b60048036036020811015610a2f57600080fd5b5035612ae2565b610414612b62565b6105e760048036036020811015610a5457600080fd5b50356001600160a01b0316612b71565b61045660048036036020811015610a7a57600080fd5b50356001600160a01b0316612b9d565b61045660048036036020811015610aa057600080fd5b50356001600160a01b0316612bfc565b61051160048036036040811015610ac657600080fd5b506001600160a01b038135169060200135612c5b565b610ae4612cec565b604051808261030080838360005b83811015610b0a578181015183820152602001610af2565b5050505090500191505060405180910390f35b6105e760048036036060811015610b3357600080fd5b506001600160a01b038135169060208101359060400135612d36565b6105e7612de9565b6105e760048036036020811015610b6d57600080fd5b50356001600160a01b0316612ea0565b6105e760048036036040811015610b9357600080fd5b506001600160a01b038135169060200135612eca565b61045660048036036020811015610bbf57600080fd5b5035612fae565b61045660048036036080811015610bdc57600080fd5b506001600160a01b038135169060208101359060408101359060600135612fcc565b61045660048036036040811015610c1457600080fd5b506001600160a01b038135169060200135613149565b61045660048036036020811015610c4057600080fd5b50356131e3565b61041461323d565b6105e760048036036020811015610c6557600080fd5b503561324c565b610456613254565b61045660048036036040811015610c8a57600080fd5b506001600160a01b0381358116916020013516613296565b6105e760048036036060811015610cb857600080fd5b50803590602081013590604001356132ef565b61045661340c565b61051160048036036040811015610ce957600080fd5b506001600160a01b038135169060200135613411565b6105e760048036036040811015610d1557600080fd5b506001600160a01b038135169060200135613551565b610414613619565b610414613628565b61045660048036036060811015610d5157600080fd5b5080359060208101359060400135613637565b60095461010090046001600160a01b031681565b6000610d826137b0565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610dd757600080fd5b505afa158015610deb573d6000803e3d6000fd5b505050506040513d6020811015610e0157600080fd5b505190505b919050565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610e915780601f10610e6657610100808354040283529160200191610e91565b820191906000526020600020905b815481529060010190602001808311610e7457829003601f168201915b505050505081565b6000610ea36137f8565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b158015610f0557600080fd5b505af1158015610f19573d6000803e3d6000fd5b50505050610f2881858561384e565b5060019392505050565b6000808584610f3f613918565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b158015610f7757600080fd5b505afa158015610f8b573d6000803e3d6000fd5b50505050610f97613918565b6001600160a01b0316636132eba483836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015610fe257600080fd5b505afa158015610ff6573d6000803e3d6000fd5b505050506110026137f8565b61100a613968565b6004805460408051633ce6548960e21b81526001600160a01b03928316938101849052602481018d9052604481018c9052606481018b9052608481019390935260a483018990528051939091169263f39952249260c48082019392918290030181600087803b15801561107c57600080fd5b505af1158015611090573d6000803e3d6000fd5b505050506040513d60408110156110a657600080fd5b50805160209091015190999098509650505050505050565b60008060006110cb6137b0565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060606040518083038186803b15801561112057600080fd5b505afa158015611134573d6000803e3d6000fd5b505050506040513d606081101561114a57600080fd5b508051602082015160409092015190969195509350915050565b600061116e613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156111a657600080fd5b505afa1580156111ba573d6000803e3d6000fd5b5050505060006001600160a01b03166111d16139b5565b6001600160a01b0316141561122d576040805162461bcd60e51b815260206004820152601b60248201527f52657761726473446973747269627574696f6e206e6f74207365740000000000604482015290519081900360640190fd5b60006112376139ef565b905060006112436139b5565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561128057600080fd5b505afa158015611294573d6000803e3d6000fd5b505050506040513d60208110156112aa57600080fd5b50519050806112f8576040805162461bcd60e51b81526020600482015260156024820152744e6f20737570706c79206973206d696e7461626c6560581b604482015290519081900360640190fd5b826001600160a01b0316637e7961d7826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561133e57600080fd5b505af1158015611352573d6000803e3d6000fd5b505050506040513d602081101561136857600080fd5b505060408051639bdd7ac760e01b815290516000916001600160a01b03861691639bdd7ac791600480820192602092909190829003018186803b1580156113ae57600080fd5b505afa1580156113c2573d6000803e3d6000fd5b505050506040513d60208110156113d857600080fd5b5051905060006113ee838363ffffffff613a4116565b600554604080516370a0823160e01b81526001600160a01b038881166004830152915193945091169163b46310f691879161148491869186916370a08231916024808301926020929190829003018186803b15801561144c57600080fd5b505afa158015611460573d6000803e3d6000fd5b505050506040513d602081101561147657600080fd5b50519063ffffffff613a9e16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156114d357600080fd5b505af11580156114e7573d6000803e3d6000fd5b505050506114f6308583613aff565b836001600160a01b03166359974e38826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561153c57600080fd5b505af1158015611550573d6000803e3d6000fd5b505050506040513d602081101561156657600080fd5b5050600554604080516370a0823160e01b8152336004820181905291516001600160a01b039093169263b46310f692916115c491879186916370a0823191602480820192602092909190829003018186803b15801561144c57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561161357600080fd5b505af1158015611627573d6000803e3d6000fd5b50505050611636303384613aff565b600854611649908463ffffffff613a9e16565b60085550600194505050505090565b611660613b52565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b61168a613b52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006116e86137b0565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610dd757600080fd5b60085481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b600080611787613968565b60048054604080516301670a7b60e21b81526001600160a01b0392831693810193909352602483018790525192169163059c29ec91604480820192602092909190829003018186803b1580156117dc57600080fd5b505afa1580156117f0573d6000803e3d6000fd5b505050506040513d602081101561180657600080fd5b50511192915050565b60006118196137f8565b611821613918565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561185957600080fd5b505afa15801561186d573d6000803e3d6000fd5b5050505061187b8483613b9b565b50600454611894906001600160a01b0316858585613dcc565b949350505050565b6118a4613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156118dc57600080fd5b505afa1580156118f0573d6000803e3d6000fd5b505050506118fc6137f8565b6119046137b0565b600480546040805163b06e8c6560e01b81526001600160a01b0392831693810193909352602483018590525192169163b06e8c659160448082019260009290919082900301818387803b15801561195a57600080fd5b505af115801561196e573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b61199d613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119d557600080fd5b505afa1580156119e9573d6000803e3d6000fd5b505050506119f56137f8565b6119fd6137b0565b600480546040805163159fa0d560e11b81526001600160a01b03868116948201949094529183166024830152519290911691632b3f41aa9160448082019260009290919082900301818387803b15801561195a57600080fd5b601281565b60008584611a67613918565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b158015611a9f57600080fd5b505afa158015611ab3573d6000803e3d6000fd5b50505050611abf613918565b6001600160a01b0316636132eba483836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015611b0a57600080fd5b505afa158015611b1e573d6000803e3d6000fd5b50505050611b2a6137f8565b611b32613968565b60048054604080516321aea91760e21b81526001600160a01b03928316938101849052602481018d9052604481018c9052606481018b9052608481019390935288821660a484015260c48301889052519216916386baa45c9160e4808201926020929091908290030181600087803b158015611bad57600080fd5b505af1158015611bc1573d6000803e3d6000fd5b505050506040513d6020811015611bd757600080fd5b505198975050505050505050565b60095460ff1681565b611bf6613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611c2e57600080fd5b505afa158015611c42573d6000803e3d6000fd5b50505050611c4e6137f8565b611c566137b0565b600480546040805163fd864ccf60e01b81526001600160a01b0386811694820194909452918316602483015251929091169163fd864ccf9160448082019260009290919082900301818387803b15801561195a57600080fd5b6000611cb96137b0565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610dd757600080fd5b611d04613b52565b60098054610100600160a81b0319166101006001600160a01b0384160217905560005b600b54811015611e2e576000600b8281548110611d4057fe5b600091825260209182902001546009546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506101009091046001600160a01b03169263dacb2d0192608480840193829003018186803b158015611dce57600080fd5b505afa158015611de2573d6000803e3d6000fd5b505050506040513d6020811015611df857600080fd5b50516000918252600a602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101611d27565b5050565b6000611e3c6137b0565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7457600080fd5b505afa158015611e88573d6000803e3d6000fd5b505050506040513d6020811015611e9e57600080fd5b5051905090565b6001546001600160a01b031681565b6009546000906001600160a01b038381166101009092041614611ed957506000610e06565b60005b600b54811015611fd2576000600b8281548110611ef557fe5b6000918252602080832090910154808352600a82526040928390205460095484516321f8a72160e01b81526004810184905294519295506001600160a01b0391821694610100909104909116926321f8a72192602480840193829003018186803b158015611f6257600080fd5b505afa158015611f76573d6000803e3d6000fd5b505050506040513d6020811015611f8c57600080fd5b50516001600160a01b0316141580611fb957506000818152600a60205260409020546001600160a01b0316155b15611fc957600092505050610e06565b50600101611edc565b50600192915050565b611e2e613efa565b6000611fed6137b0565b600554604080516370a0823160e01b81526001600160a01b038681166004830152915193821693636bed041593879316916370a08231916024808301926020929190829003018186803b15801561204357600080fd5b505afa158015612057573d6000803e3d6000fd5b505050506040513d602081101561206d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091528051604480840193829003018186803b1580156120b857600080fd5b505afa1580156120cc573d6000803e3d6000fd5b505050506040513d60408110156120e257600080fd5b505192915050565b6120f2613968565b6001600160a01b0316336001600160a01b031614612145576040805162461bcd60e51b815260206004820152601e6024820152600080516020614692833981519152604482015290519081900360640190fd5b60028054604080516020810189905280820188905260608101879052608081018690526001600160a01b0385811660a0808401919091528351808403909101815260c0909201928390529092169263907dff97929180603e6146b28239603e01905060405180910390206121b88b613f47565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561222b578181015183820152602001612213565b50505050905090810190601f1680156122585780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561227c57600080fd5b505af1158015612290573d6000803e3d6000fd5b50505050505050505050565b6122a4613968565b6001600160a01b0316336001600160a01b0316146122f7576040805162461bcd60e51b815260206004820152601e6024820152600080516020614692833981519152604482015290519081900360640190fd5b6002805460408051602081018690528082018590528151808203830181526060909101918290526001600160a01b039092169263907dff97929180602761478982396027019050604051809103902061234f88613f47565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156123c25781810151838201526020016123aa565b50505050905090810190601f1680156123ef5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561241357600080fd5b505af1158015612427573d6000803e3d6000fd5b50505050505050565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610dd757600080fd5b606061248b6137b0565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156124c357600080fd5b505afa1580156124d7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561250057600080fd5b810190808051604051939291908464010000000082111561252057600080fd5b90830190602082018581111561253557600080fd5b825186602082028301116401000000008211171561255257600080fd5b82525081516020918201928201910280838360005b8381101561257f578181015183820152602001612567565b50505050905001604052505050905090565b6001546001600160a01b031633146125da5760405162461bcd60e51b81526004018080602001828103825260358152602001806146356035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006126576137b0565b6001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610dd757600080fd5b60006126a46137b0565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060206040518083038186803b158015610dd757600080fd5b6126fc613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561273457600080fd5b505afa158015612748573d6000803e3d6000fd5b505050506127546137f8565b61275c6137b0565b60048054604080516285c0d160e31b81526001600160a01b0392831693810193909352602483018590525192169163042e06889160448082019260009290919082900301818387803b15801561195a57600080fd5b6000546001600160a01b031681565b600085846127cc613918565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b15801561280457600080fd5b505afa158015612818573d6000803e3d6000fd5b50505050612824613918565b6001600160a01b0316636132eba483836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561286f57600080fd5b505afa158015612883573d6000803e3d6000fd5b5050505061288f6137f8565b612897613968565b6004805460408051636fffe53b60e11b81526001600160a01b038e8116948201949094529183166024830152604482018c9052606482018b9052608482018a905288831660a483015260c4820188905251929091169163dfffca769160e4808201926020929091908290030181600087803b15801561291557600080fd5b505af1158015612929573d6000803e3d6000fd5b505050506040513d602081101561293f57600080fd5b50519998505050505050505050565b631cd554d160e21b81565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610e915780601f10610e6657610100808354040283529160200191610e91565b6129bc613b52565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b612a18613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612a5057600080fd5b505afa158015612a64573d6000803e3d6000fd5b50505050612a706137f8565b612a786137b0565b60048054604080516324beb82560e11b81526001600160a01b03928316938101939093525192169163497d704a9160248082019260009290919082900301818387803b158015612ac757600080fd5b505af1158015612adb573d6000803e3d6000fd5b505050505b565b6000806000612aef6137f8565b612af7613968565b60048054604080516306c5a00b60e21b81526001600160a01b03928316938101939093526024830188905251921691631b16802c916044808201926060929091908290030181600087803b158015612b4e57600080fd5b505af1158015611134573d6000803e3d6000fd5b6003546001600160a01b031681565b612b79613f53565b600580546001600160a01b0319166001600160a01b03831617905561197381614003565b6000612ba76137b0565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610dd757600080fd5b6000612c066137b0565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610dd757600080fd5b6000612c656137f8565b612c6d613918565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612ca557600080fd5b505afa158015612cb9573d6000803e3d6000fd5b5050600454612cd492506001600160a01b0316905083613b9b565b50600454610f28906001600160a01b0316848461412e565b612cf4614615565b60005b600b54811015612d3257600b8181548110612d0e57fe5b9060005260206000200154828260188110612d2557fe5b6020020152600101612cf7565b5090565b612d3e613968565b6001600160a01b0316336001600160a01b031614612d91576040805162461bcd60e51b815260206004820152601e6024820152600080516020614692833981519152604482015290519081900360640190fd5b6002805460408051602081018690528082018590528151808203830181526060909101918290526001600160a01b039092169263907dff97929180602861466a82396028019050604051809103902061234f88613f47565b612df1613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612e2957600080fd5b505afa158015612e3d573d6000803e3d6000fd5b50505050612e496137f8565b612e516137b0565b600480546040805163644bb89960e11b81526001600160a01b03928316938101939093525192169163c89771329160248082019260009290919082900301818387803b158015612ac757600080fd5b612ea861413b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b612ed2613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f0a57600080fd5b505afa158015612f1e573d6000803e3d6000fd5b50505050612f2a6137f8565b612f326137b0565b6004805460408051632694552d60e21b81526001600160a01b0387811694820194909452918316602483015260448201859052519290911691639a5154b49160648082019260009290919082900301818387803b158015612f9257600080fd5b505af1158015612fa6573d6000803e3d6000fd5b505050505050565b600b8181548110612fbb57fe5b600091825260209091200154905081565b60008382612fd8613918565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b15801561301057600080fd5b505afa158015613024573d6000803e3d6000fd5b50505050613030613918565b6001600160a01b0316636132eba483836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561307b57600080fd5b505afa15801561308f573d6000803e3d6000fd5b5050505061309b6137f8565b6130a3613968565b6004805460408051630d4388eb60e31b81526001600160a01b038c8116948201949094529183166024830152604482018a90526064820189905260848201889052519290911691636a1c47589160a4808201926020929091908290030181600087803b15801561311257600080fd5b505af1158015613126573d6000803e3d6000fd5b505050506040513d602081101561313c57600080fd5b5051979650505050505050565b60006131536137b0565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156131b057600080fd5b505afa1580156131c4573d6000803e3d6000fd5b505050506040513d60208110156131da57600080fd5b50519392505050565b60006131ed6137b0565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060206040518083038186803b158015610dd757600080fd5b6004546001600160a01b031681565b611973613efa565b600061325e6137b0565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7457600080fd5b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b1580156131b057600080fd5b6132f7613968565b6001600160a01b0316336001600160a01b03161461334a576040805162461bcd60e51b815260206004820152601e6024820152600080516020614692833981519152604482015290519081900360640190fd5b6002805460408051602081018690528082018590528151808203830181526060909101918290526001600160a01b039092169263907dff9792918060296147b0823960290190506040518091039020876000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b815260200182810382528881815181526020019150805190602001908083836000838110156123c25781810151838201526020016123aa565b601881565b600061341b613918565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561345357600080fd5b505afa158015613467573d6000803e3d6000fd5b505050506134736137f8565b60008061347e6137b0565b600480546040805163298f137d60e21b81526001600160a01b038a8116948201949094526024810189905291831660448301528051939092169263a63c4df4926064808401939192918290030181600087803b1580156134dd57600080fd5b505af11580156134f1573d6000803e3d6000fd5b505050506040513d604081101561350757600080fd5b5080516020909101516004549193509150613530908690849084906001600160a01b03166141af565b6004546135489086906001600160a01b03168461412e565b95945050505050565b613559613918565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561359157600080fd5b505afa1580156135a5573d6000803e3d6000fd5b505050506135b16137f8565b6135b96137b0565b600480546040805163227635b160e11b81526001600160a01b03878116948201949094529183166024830152604482018590525192909116916344ec6b629160648082019260009290919082900301818387803b158015612f9257600080fd5b6005546001600160a01b031681565b6002546001600160a01b031681565b60008382613643613918565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b15801561367b57600080fd5b505afa15801561368f573d6000803e3d6000fd5b5050505061369b613918565b6001600160a01b0316636132eba483836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156136e657600080fd5b505afa1580156136fa573d6000803e3d6000fd5b505050506137066137f8565b61370e613968565b6004805460408051630a1e187d60e01b81526001600160a01b03928316938101849052602481018b9052604481018a905260648101899052608481019390935251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561377a57600080fd5b505af115801561378e573d6000803e3d6000fd5b505050506040513d60208110156137a457600080fd5b50519695505050505050565b60006137f36524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b8152506142f6565b905090565b6002546001600160a01b0316331480159061381e57506003546001600160a01b03163314155b801561383557506004546001600160a01b03163314155b15612ae057600480546001600160a01b03191633179055565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216147458239602101905060405180910390206138a188613f47565b6138aa88613f47565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b815260200182810382528881815181526020019150805190602001908083836000838110156123c25781810151838201526020016123aa565b60006137f36b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d5374617475732061646472657373000000008152506142f6565b60006137f36822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e6765722061646472657373000000000000008152506142f6565b60006137f3722932bbb0b93239a234b9ba3934b13aba34b7b760691b604051806060016040528060238152602001614766602391396142f6565b60006137f36d537570706c795363686564756c6560901b6040518060400160405280601e81526020017f4d697373696e6720537570706c795363686564756c65206164647265737300008152506142f6565b600082821115613a98576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015613af8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161480b8239602101905060405180910390206138a188613f47565b6000546001600160a01b03163314612ae05760405162461bcd60e51b815260040180806020018281038252602f815260200180614716602f913960400191505060405180910390fd5b600080613ba66143a0565b60408051631167f01160e31b81526001600160a01b0387811660048301528251931692638b3f808892602480840193919291829003018186803b158015613bec57600080fd5b505afa158015613c00573d6000803e3d6000fd5b505050506040513d6040811015613c1657600080fd5b505190508015610f2857600080613c2b6137b0565b600554604080516370a0823160e01b81526001600160a01b038a81166004830152915193821693636bed0415938b9316916370a08231916024808301926020929190829003018186803b158015613c8157600080fd5b505afa158015613c95573d6000803e3d6000fd5b505050506040513d6020811015613cab57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091528051604480840193829003018186803b158015613cf657600080fd5b505afa158015613d0a573d6000803e3d6000fd5b505050506040513d6040811015613d2057600080fd5b508051602090910151909250905081851115613d6d5760405162461bcd60e51b81526004018080602001828103825260268152602001806146f06026913960400191505060405180910390fd5b8015613dc0576040805162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015290519081900360640190fd5b50600195945050505050565b60055460408051636eb1769f60e11b81526001600160a01b03868116600483015287811660248301529151600093929092169163da46098c9187918991613e6f918891879163dd62ed3e91604480820192602092909190829003018186803b158015613e3757600080fd5b505afa158015613e4b573d6000803e3d6000fd5b505050506040513d6020811015613e6157600080fd5b50519063ffffffff613a4116565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015613ed757600080fd5b505af1158015613eeb573d6000803e3d6000fd5b505050506135488484846143f2565b6040805162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000604482015290519081900360640190fd5b6001600160a01b031690565b6002546001600160a01b03163314801590613f7957506003546001600160a01b03163314155b8015613f9057506004546001600160a01b03163314155b15613fa857600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614612ae0576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b838110156140dd5781810151838201526020016140c5565b50505050905090810190601f16801561410a5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561195a57600080fd5b60006118948484846143f2565b6002546001600160a01b031633148061415e57506003546001600160a01b031633145b612ae0576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6002805460408051602081018790528082018690526001600160a01b03858116606080840191909152835180840390910181526080909201928390529092169263907dff9792918060326147d982396032019050604051809103902061421489613f47565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561428757818101518382015260200161426f565b50505050905090810190601f1680156142b45780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156142d857600080fd5b505af11580156142ec573d6000803e3d6000fd5b5050505050505050565b6000828152600a60205260408120546001600160a01b031682816143985760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561435d578181015183820152602001614345565b50505050905090810190601f16801561438a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60006137f36d53796e746865746978537461746560901b6040518060400160405280601e81526020017f4d697373696e672053796e7468657469785374617465206164647265737300008152506142f6565b60006001600160a01b0383161580159061441557506001600160a01b0383163014155b801561442f57506002546001600160a01b03848116911614155b614480576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f69187916144de91879186916370a0823191602480820192602092909190829003018186803b158015613e3757600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561452d57600080fd5b505af1158015614541573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916145a391879186916370a0823191602480820192602092909190829003018186803b15801561144c57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156145f257600080fd5b505af1158015614606573d6000803e3d6000fd5b50505050610f28848484613aff565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e67655265636c61696d28616464726573732c627974657333322c75696e74323536294f6e6c792045786368616e6765722063616e20696e766f6b652074686973000053796e746845786368616e676528616464726573732c627974657333322c75696e743235362c627974657333322c75696e743235362c616464726573732943616e6e6f74207472616e73666572207374616b6564206f7220657363726f77656420534e584f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e74323536294d697373696e672052657761726473446973747269627574696f6e206164647265737345786368616e676552656261746528616464726573732c627974657333322c75696e743235362945786368616e6765547261636b696e6728627974657333322c627974657333322c75696e74323536294163636f756e744c69717569646174656428616464726573732c75696e743235362c75696e743235362c61646472657373295472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820a45e547cee8ef622143268bb6f6e4bce8ebaf4848045965b528af041a4b22da464736f6c63430005100032",
			"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": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event",
					"signature": "0xaadb11d74982254be0fa96d24a08db29d68f446bc96b3092a9c9120b5c89caf2"
				},
				{
					"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": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeRebate",
					"type": "event",
					"signature": "0x93751433c6897553c8950f14ccc193ccffb8f539f7421ffde9af83b9b7dae1a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeReclaim",
					"type": "event",
					"signature": "0x491df6adf9cabe8ca514806effd6b6b6475572dc88fe4b8b58d0a20ecf45e105"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event",
					"signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c"
				},
				{
					"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": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "SynthExchange",
					"type": "event",
					"signature": "0x65b6972c94204d84cffd3a95615743e31270f04fdf251f3dccc705cfbad44776"
				},
				{
					"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": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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": "anySynthOrSNXRateIsInvalid",
					"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": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"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": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynths",
					"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": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc2bf3880"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnSynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9741fb22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnSynthsToTargetOnBehalf",
					"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": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeRebate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f01a986"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeReclaim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xace88afd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xddd03a3f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "emitSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c00f310"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"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": "0xc836fa0a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"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": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"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": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualSynth",
							"name": "vSynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": "issueMaxSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaf086c7e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x320223db"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynths",
					"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": "issueSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe8e09b8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "susdAmount",
							"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": "maxIssuableSynths",
					"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": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"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": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "sUSD",
					"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 AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"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": "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": "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": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "synthAddress",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"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": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x83d625d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynthsExcludeEtherCollateral",
					"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": "transferableSynthetix",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6ac0bf9c"
				}
			],
			"source": {
				"keccak256": "0xf5786127943bd8d4a04d49dc15f1d11e458198df13986f6af81eebb7e9efa0d0",
				"urls": [
					"bzz-raw://cb0de7da4875087eac415e9cb592f6c884d0184ce8d94eaddcef7b7cea575048",
					"dweb:/ipfs/QmTnskcFkh4SWfimYrTbgVSjPBjJ6kEUTxoJ5cgWUojeei"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Synthetix.sol": "Synthetix"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Synthetix.sol": {
						"keccak256": "0xf5786127943bd8d4a04d49dc15f1d11e458198df13986f6af81eebb7e9efa0d0",
						"urls": [
							"bzz-raw://cb0de7da4875087eac415e9cb592f6c884d0184ce8d94eaddcef7b7cea575048",
							"dweb:/ipfs/QmTnskcFkh4SWfimYrTbgVSjPBjJ6kEUTxoJ5cgWUojeei"
						]
					}
				},
				"version": 1
			}
		},
		"Exchanger": {
			"bytecode": "6101806040526b53797374656d53746174757360a01b60809081526c45786368616e6765537461746560981b60a0526c45786368616e6765526174657360981b60c052680a6f2dce8d0cae8d2f60bb1b60e05266119959541bdbdb60ca1b610100526d54726164696e675265776172647360901b610120527044656c6567617465417070726f76616c7360781b610140526524b9b9bab2b960d11b61016052620000ae90600690600862000407565b50348015620000bc57600080fd5b50604051620040c1380380620040c183398181016040526040811015620000e257600080fd5b50805160209091015160408051610300810191829052829160069060189082845b8154815260200190600101908083116200010357508793505050506001600160a01b0381166200017a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000225576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200028d5760008282601881106200024157fe5b6020020151146200027e5760048282601881106200025b57fe5b602090810291909101518254600181018455600093845291909220015562000284565b6200028d565b60010162000228565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620002cc6e466c657869626c6553746f7261676560881b620002d4565b50506200046a565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01829055546018116200035e576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d6020811015620003d757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b826018810192821562000438579160200282015b82811115620004385782518255916020019190600101906200041b565b50620004469291506200044a565b5090565b6200046791905b8082111562000446576000815560010162000451565b90565b613c47806200047a6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063631e144411610104578063ab49848c116100a2578063d6f32e0611610071578063d6f32e0614610573578063dfffca761461059f578063e3235c91146105ef578063f450aa34146105f7576101cf565b8063ab49848c146104ea578063c193f0d81461052b578063c6c9d82814610533578063ce09694014610550576101cf565b80637dd1a57a116100de5780637dd1a57a1461046d57806386baa45c1461048a57806389257117146104da5780638da5cb5b146104e2576101cf565b8063631e1444146103fd5780636a1c47581461042357806379ba509714610465576101cf565b80631b16802c116101715780633fa70f451161014b5780633fa70f45146103845780634c268fc81461038c57806353a47bb7146103c457806357af302c146103cc576101cf565b80631b16802c1461032a578063372a395a146103565780633be99e6f1461035e576101cf565b80630b9e31c9116101ad5780630b9e31c9146102785780631627540c1461029757806319d5c665146102bd5780631a5c609514610307576101cf565b806304f3bcec146101d4578063059c29ec146101f85780630a1e187d14610236575b600080fd5b6101dc610620565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561062f565b60408051918252519081900360200190f35b610224600480360360a081101561024c57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166106d3565b6102956004803603602081101561028e57600080fd5b50356107cf565b005b610295600480360360208110156102ad57600080fd5b50356001600160a01b0316610a2e565b6102e9600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610a8a565b60408051938452602084019290925282820152519081900360600190f35b6102246004803603604081101561031d57600080fd5b5080359060200135610aa8565b6102e96004803603604081101561034057600080fd5b506001600160a01b038135169060200135610ab4565b610224610b35565b6102956004803603602081101561037457600080fd5b50356001600160a01b0316610b44565b610224610c71565b610224600480360360808110156103a257600080fd5b506001600160a01b038135169060208101359060408101359060600135610c76565b6101dc610d96565b6103e9600480360360208110156103e257600080fd5b5035610da5565b604080519115158252519081900360200190f35b6103e96004803603602081101561041357600080fd5b50356001600160a01b0316610dfe565b610224600480360360a081101561043957600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610f19565b6102956110e2565b6102246004803603602081101561048357600080fd5b503561119e565b610224600480360360e08110156104a057600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c001356111b0565b6102246112b9565b6101dc6112c3565b6104f26112d2565b604051808261030080838360005b83811015610518578181015183820152602001610500565b5050505090500191505060405180910390f35b6103e961131c565b6102246004803603602081101561054957600080fd5b5035611326565b6102956004803603604081101561056657600080fd5b5080359060200135611344565b6103e96004803603604081101561058957600080fd5b506001600160a01b03813516906020013561140c565b610224600480360360e08110156105b557600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c0013561143e565b610224611612565b6102e96004803603606081101561060d57600080fd5b5080359060208101359060400135611617565b6002546001600160a01b031681565b60006106ca61063c611637565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561069957600080fd5b505afa1580156106ad573d6000803e3d6000fd5b505050506040513d60208110156106c357600080fd5b5051611688565b90505b92915050565b6000806106de6116e7565b9050336001600160a01b038216148061076b5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561073c57600080fd5b505afa158015610750573d6000803e3d6000fd5b505050506040513d602081101561076657600080fd5b505114155b6107a65760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006107b58888888888611734565b90935090506107c48185611e9e565b505095945050505050565b6107d7611f4d565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561080f57600080fd5b505afa158015610823573d6000803e3d6000fd5b5050505060006001600160a01b031661083a611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d60208110156108a757600080fd5b50516001600160a01b031614156108f5576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b61097581610901611fe0565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b5051612031565b6109bd576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b6109c5611f4d565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a1357600080fd5b505af1158015610a27573d6000803e3d6000fd5b5050505050565b610a36612281565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000610a9985856122cc565b50919790965090945092505050565b60006106ca838361259a565b6000806000610ac1611f4d565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610b0457600080fd5b505afa158015610b18573d6000803e3d6000fd5b50505050610b28858560016125a5565b9250925092509250925092565b6000610b3f612914565b905090565b610b4c612281565b600280546001600160a01b0319166001600160a01b03831617905560005b600454811015610c6d57600060048281548110610b8357fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610c0d57600080fd5b505afa158015610c21573d6000803e3d6000fd5b505050506040513d6020811015610c3757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610b6a565b5050565b604181565b816000610c81611f9d565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d6020811015610cee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b5051905080821115610d74578091505b8215610d8d57610d8a828463ffffffff6129cb16565b91505b50949350505050565b6001546001600160a01b031681565b6000610df682610db3611fe0565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b90505b919050565b6002546000906001600160a01b03838116911614610e1e57506000610df9565b60005b600454811015610f1057600060048281548110610e3a57fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d6020811015610eca57600080fd5b50516001600160a01b0316141580610ef757506000818152600360205260409020546001600160a01b0316155b15610f0757600092505050610df9565b50600101610e21565b50600192915050565b600080610f246116e7565b9050336001600160a01b0382161480610fb15750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d6020811015610fac57600080fd5b505114155b610fec5760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b610ff4612a25565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561104757600080fd5b505afa15801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50516110c4576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006110d3888787878c611734565b90935090506107c48189611e9e565b6001546001600160a01b0316331461112b5760405162461bcd60e51b8152600401808060200182810382526035815260200180613ae36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60056020526000908152604090205481565b6000806111bb6116e7565b9050336001600160a01b03821614806112485750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d602081101561124357600080fd5b505114155b6112835760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006112928a8a8a8a8a611734565b90935090506112a18186611e9e565b6112ac848885612a5d565b5050979650505050505050565b6000610b3f612ad7565b6000546001600160a01b031681565b6112da613a78565b60005b60045481101561131857600481815481106112f457fe5b906000526020600020015482826018811061130b57fe5b60200201526001016112dd565b5090565b6000610b3f612b51565b6004818154811061133357fe5b600091825260209091200154905081565b600061134e611fe0565b9050336001600160a01b038216146113ad576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b600082116113f9576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526005602052604090912055565b6000611418838361062f565b15611425575060016106cd565b600061143184846122cc565b5050501515949350505050565b6000806114496116e7565b9050336001600160a01b03821614806114d65750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156114a757600080fd5b505afa1580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b505114155b6115115760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b611519612a25565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d602081101561159657600080fd5b50516115e9576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006115f88a8989898e611734565b90935090506116078186611e9e565b6112ac848785612a5d565b601881565b6000806000611627868686612bcf565b5092999198509650945050505050565b6000610b3f6c45786368616e6765537461746560981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676553746174652061646472657373000000815250612ca9565b600080611693612ad7565b90508215806116b157506116ad838263ffffffff6129cb16565b4210155b156116c0576000915050610df9565b6116e0426116d4858463ffffffff6129cb16565b9063ffffffff612d5316565b9392505050565b6000610b3f680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250612ca9565b600080611742868686612db0565b600080611751898960006125a5565b909350915087905081156117825761176b8a8a8a86610c76565b905080611782575060009350839250611e94915050565b6000806000611792848d8c612bcf565b939b509199509450925090506117a88c83612031565b1561182e576117b5611f4d565b6001600160a01b031663abc0bb6e8d60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b5060009a508a9950611e9498505050505050505050565b60008c81526005602052604090208290556118498a82612031565b156118a457611856611f4d565b6001600160a01b031663abc0bb6e8b60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b60008a81526005602052604090208190556118bd611f9d565b6001600160a01b031663326080398d6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561190057600080fd5b505afa158015611914573d6000803e3d6000fd5b505050506040513d602081101561192a57600080fd5b81019080805190602001909291905050506001600160a01b0316639dc29fac8e866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561199a57600080fd5b505af11580156119ae573d6000803e3d6000fd5b505050506119ba611f9d565b6001600160a01b031663326080398b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119fd57600080fd5b505afa158015611a11573d6000803e3d6000fd5b505050506040513d6020811015611a2757600080fd5b50516040805163219e412d60e21b81526001600160a01b038c81166004830152602482018c90529151919092169163867904b491604480830192600092919082900301818387803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050506000871115611cef57611aa4611fe0565b6001600160a01b031663654a60ac8b89631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611afe57600080fd5b505afa158015611b12573d6000803e3d6000fd5b505050506040513d6020811015611b2857600080fd5b50519650611b34611f9d565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b7e57600080fd5b505afa158015611b92573d6000803e3d6000fd5b505050506040513d6020811015611ba857600080fd5b50516001600160a01b031663867904b4611bc0612f89565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d6020811015611c2257600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018b905251604480830192600092919082900301818387803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b50505050611c91612f89565b6001600160a01b03166322bf55ef886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cd657600080fd5b505af1158015611cea573d6000803e3d6000fd5b505050505b611cf7611f9d565b6001600160a01b0316639e342f7160405180604001604052808f81526020018d8152506040518060400160405280868152602001858152506040518363ffffffff1660e01b81526004018083600260200280838360005b83811015611d66578181015183820152602001611d4e565b5050505090500182600260200280838360005b83811015611d91578181015183820152602001611d79565b5050505090500192505050600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b50505050611dd66116e7565b6001600160a01b0316636c00f3108e8e878e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050611e8d898d868d8c88612fd4565b5050505050505b9550959350505050565b600082118015611eb657506001600160a01b03811615155b8015611ec55750611ec5612b51565b15610c6d57611ed26131e5565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015611f3157600080fd5b505af1158015611f45573d6000803e3d6000fd5b505050505050565b6000610b3f6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612ca9565b6000610b3f6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250612ca9565b6000610b3f6c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612ca9565b600081612040575060016106cd565b60008381526005602052604090205480156120675761205f8184613237565b9150506106cd565b6060612071611fe0565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156120fa57600080fd5b810190808051604051939291908464010000000082111561211a57600080fd5b90830190602082018581111561212f57600080fd5b825186602082028301116401000000008211171561214c57600080fd5b82525081516020918201928201910280838360005b83811015612179578181015183820152602001612161565b50505050905001604052602001805160405193929190846401000000008211156121a257600080fd5b9083019060208201858111156121b757600080fd5b82518660208202830111640100000000821117156121d457600080fd5b82525081516020918201928201910280838360005b838110156122015781810151838201526020016121e9565b505050509050016040525050505090506000600190505b815181101561227557600082828151811061222f57fe5b602002602001015111801561225c575061225c82828151811061224e57fe5b602002602001015186613237565b1561226d57600193505050506106cd565b600101612218565b50600095945050505050565b6000546001600160a01b031633146122ca5760405162461bcd60e51b815260040180806020018281038252602f815260200180613b7e602f913960400191505060405180910390fd5b565b600080600060606122db611637565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561233857600080fd5b505afa15801561234c573d6000803e3d6000fd5b505050506040513d602081101561236257600080fd5b50516040805182815260208084028201019091529092506060908380156123a357816020015b612390613a97565b8152602001906001900390816123885790505b50905060005b8381101561258e576000806123bc613a97565b6123c78b8b86613296565b90506000806123d5836133b1565b9150915060006123e3611fe0565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561245257600080fd5b505afa158015612466573d6000803e3d6000fd5b505050506040513d602081101561247c57600080fd5b50516080850151909150600090612494908390613504565b90506124a4856060015182613237565b6125195780856060015111156124e25760608501516124c9908263ffffffff612d5316565b96506124db8d8863ffffffff6129cb16565b9c50612519565b846060015181111561251957606085015161250490829063ffffffff612d5316565b95506125168c8763ffffffff6129cb16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a0015181525089898151811061256f57fe5b60200260200101819052505050505050505080806001019150506123a9565b50905092959194509250565b60006106ca82613596565b60008060006125b4868661062f565b156125f05760405162461bcd60e51b8152600401808060200182810382526023815260200180613bf06023913960400191505060405180910390fd5b600080600060606126018a8a6122cc565b93509350935093508284111561263357612621848463ffffffff612d5316565b965061262e8a8a8961366e565b612658565b838311156126585761264b838563ffffffff612d5316565b95506126588a8a886137be565b871561273f5760408051600180825281830190925260609160208083019080388339019050509050898160008151811061268e57fe5b6020026020010181815250506126a2611f9d565b6001600160a01b031663fe1d77e7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156127005781810151838201526020016126e8565b5050505090500192505050600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b50505050505b60005b8151811015612884578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811061278257fe5b60200260200101516000015184848151811061279a57fe5b6020026020010151602001518585815181106127b257fe5b6020026020010151604001518686815181106127ca57fe5b6020026020010151606001518787815181106127e257fe5b6020026020010151608001518888815181106127fa57fe5b602002602001015160a0015189898151811061281257fe5b602002602001015160c001518a8a8151811061282a57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612742565b50819450612890611637565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156128ef57600080fd5b505af1158015612903573d6000803e3d6000fd5b505050505050505093509350939050565b600061291e61390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b505afa1580156129ae573d6000803e3d6000fd5b505050506040513d60208110156129c457600080fd5b5051905090565b6000828201838110156106ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b3f7044656c6567617465417070726f76616c7360781b604051806060016040528060218152602001613b1860219139612ca9565b612a656116e7565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b50505050505050565b6000612ae161390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b6000612b5b61390e565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b600080600080600080612be0611fe0565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b158015612c3357600080fd5b505afa158015612c47573d6000803e3d6000fd5b505050506040513d6060811015612c5d57600080fd5b50805160208201516040909201519194509092509050612c7d888861259a565b9350612c898185613504565b9550612c9b818763ffffffff612d5316565b945050939792965093509350565b6000828152600360205260408120546001600160a01b03168281612d4b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d10578181015183820152602001612cf8565b50505050905090810190601f168015612d3d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082821115612daa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415612dfb576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211612e3e576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b60408051600280825260608083018452926020830190803883390190505090508381600081518110612e6c57fe5b6020026020010181815250508181600181518110612e8657fe5b602002602001018181525050612e9a611fe0565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612ef8578181015183820152602001612ee0565b505050509050019250505060206040518083038186803b158015612f1b57600080fd5b505afa158015612f2f573d6000803e3d6000fd5b505050506040513d6020811015612f4557600080fd5b505115612f835760405162461bcd60e51b8152600401808060200182810382526022815260200180613bce6022913960400191505060405180910390fd5b50505050565b6000610b3f66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250612ca9565b6000612fde611fe0565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561302657600080fd5b505afa15801561303a573d6000803e3d6000fd5b505050506040513d602081101561305057600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b15801561309f57600080fd5b505afa1580156130b3573d6000803e3d6000fd5b505050506040513d60208110156130c957600080fd5b505190506130d5611637565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801561315a57600080fd5b505af115801561316e573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b6000610b3f6d54726164696e675265776172647360901b6040518060400160405280601e81526020017f4d697373696e672054726164696e675265776172647320616464726573730000815250612ca9565b6000821580613244575081155b15613251575060016106cd565b6000838311156132725761326b838563ffffffff61396116565b9050613285565b613282848463ffffffff61396116565b90505b61328d612914565b11159392505050565b61329e613a97565b6000806000806000806000806132b2611637565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801561331857600080fd5b505afa15801561332c573d6000803e3d6000fd5b505050506040513d61010081101561334357600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b60008060006133be611fe0565b905060006133ca612ad7565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561343457600080fd5b505afa158015613448573d6000803e3d6000fd5b505050506040513d602081101561345e57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b1580156134ce57600080fd5b505afa1580156134e2573d6000803e3d6000fd5b505050506040513d60208110156134f857600080fd5b50519395939450505050565b60006106ca6135898373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561355157600080fd5b505af4158015613565573d6000803e3d6000fd5b505050506040513d602081101561357b57600080fd5b50519063ffffffff612d5316565b849063ffffffff61398b16565b60006135a061390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561363c57600080fd5b505afa158015613650573d6000803e3d6000fd5b505050506040513d602081101561366657600080fd5b505192915050565b613676611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136b957600080fd5b505afa1580156136cd573d6000803e3d6000fd5b505050506040513d60208110156136e357600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561373757600080fd5b505af115801561374b573d6000803e3d6000fd5b505050506137576116e7565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6137c6611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561380957600080fd5b505afa15801561381d573d6000803e3d6000fd5b505050506040513d602081101561383357600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801561388757600080fd5b505af115801561389b573d6000803e3d6000fd5b505050506138a76116e7565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6000610b3f6e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250612ca9565b60006106ca8261397f85670de0b6b3a764000063ffffffff6139b516565b9063ffffffff613a0e16565b6000670de0b6b3a76400006139a6848463ffffffff6139b516565b816139ad57fe5b049392505050565b6000826139c4575060006106cd565b828202828482816139d157fe5b04146106ca5760405162461bcd60e51b8152600401808060200182810382526021815260200180613bad6021913960400191505060405180910390fd5b6000808211613a64576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613a6f57fe5b04949350505050565b6040518061030001604052806018906020820280388339509192915050565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c73206164647265737345786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a7231582015010afde166d2b08163682fc7e3e5729aed73e653f762673c3b286fa60868fc64736f6c63430005100032",
			"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": "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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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": 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": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"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": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isSynthRateInvalid",
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce096940"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"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": "suspendSynthWithInvalidRate",
					"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": "0x379d6cec3626abe69cd11fdd95c6f1f328896b04a8b35a5c2f14639a0225fcb1",
				"urls": [
					"bzz-raw://37be84d864d9e1e51f8d5d64e3f6e548169f278056e9d2047f81097fb010402f",
					"dweb:/ipfs/QmcfDqs1rhUotptuGQzJZPTc6ohsCQyTRkQBMCKaM6g86B"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Exchanger.sol": "Exchanger"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Exchanger.sol": {
						"keccak256": "0x379d6cec3626abe69cd11fdd95c6f1f328896b04a8b35a5c2f14639a0225fcb1",
						"urls": [
							"bzz-raw://37be84d864d9e1e51f8d5d64e3f6e548169f278056e9d2047f81097fb010402f",
							"dweb:/ipfs/QmcfDqs1rhUotptuGQzJZPTc6ohsCQyTRkQBMCKaM6g86B"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60045534801561001557600080fd5b50604051610bc5380380610bc58339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a1a806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610438565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105aa565b61022a610606565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610615565b6101a261067f565b61022a61073b565b61022a61074a565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610759565b6101a2600480360360208110156102d257600080fd5b5035610781565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561078e565b6100f76004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610807565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e461088d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104815760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a8452909152902054106104fa576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105b261088d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061063a57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252603581526020018061094e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61078961088d565b600455565b6002546001600160a01b031633146107d75760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602090815260408083208484529091528120610803916108d8565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610884578183828154811061084357fe5b906000526020600020906008020160050154111561087c5782818154811061086757fe5b90600052602060002090600802016005015491505b60010161082d565b50949350505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040180806020018281038252602f815260200180610983602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906108f991906108fc565b50565b61094a91905b808211156109465760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610902565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820f9b05a9977c1a9193b99b3593aa7aaf17868e306a5a2b758a058a0329807c35564736f6c63430005100032",
			"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": "0xcefbe7bf11aadcbe99336f442c2ae4186a3f9b6f7687e1b50e7b2343f15b55fd",
				"urls": [
					"bzz-raw://705225b9707d5c261cd0c4980f23cc5021239026e6dab1814b0bc61f08487cab",
					"dweb:/ipfs/QmSQ3V3HhrgfowvNQeXpPXcqenywi877ZSeuDnh2z9eRym"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0xcefbe7bf11aadcbe99336f442c2ae4186a3f9b6f7687e1b50e7b2343f15b55fd",
						"urls": [
							"bzz-raw://705225b9707d5c261cd0c4980f23cc5021239026e6dab1814b0bc61f08487cab",
							"dweb:/ipfs/QmSQ3V3HhrgfowvNQeXpPXcqenywi877ZSeuDnh2z9eRym"
						]
					}
				},
				"version": 1
			}
		},
		"Issuer": {
			"bytecode": "610220604052680a6f2dce8d0cae8d2f60bb1b60809081526822bc31b430b733b2b960b91b60a0526c45786368616e6765526174657360981b60c0526d53796e746865746978537461746560901b60e05266119959541bdbdb60ca1b610100527044656c6567617465417070726f76616c7360781b610120526e115d1a195c90dbdb1b185d195c985b608a1b610140527f4574686572436f6c6c61746572616c7355534400000000000000000000000000610160526b526577617264457363726f7760a01b610180526e53796e746865746978457363726f7760881b6101a0526b4c69717569646174696f6e7360a01b6101c0526e466c657869626c6553746f7261676560881b6101e0526844656274436163686560b81b610200526200012b90600890600d62000484565b503480156200013957600080fd5b5060405162004b1238038062004b12833981810160405260408110156200015f57600080fd5b50805160209091015160408051610300810191829052829160089060189082845b8154815260200190600101908083116200018057508793505050506001600160a01b038116620001f7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002a2576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200030a576000828260188110620002be57fe5b602002015114620002fb576004828260188110620002d857fe5b602090810291909101518254600181018455600093845291909220015562000301565b6200030a565b600101620002a5565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620003496e466c657869626c6553746f7261676560881b62000351565b5050620004e7565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0182905554601811620003db576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b1580156200042857600080fd5b505afa1580156200043d573d6000803e3d6000fd5b505050506040513d60208110156200045457600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b8260188101928215620004b5579160200282015b82811115620004b557825182559160200191906001019062000498565b50620004c3929150620004c7565b5090565b620004e491905b80821115620004c35760008155600101620004ce565b90565b61461b80620004f76000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806372cb051f11610151578063ae3bbbbb116100c3578063c897713211610087578063c8977132146108da578063d37c4d8b14610900578063dbf633401461092c578063dd3d2b2e14610934578063e3235c911461095a578063fd864ccf1461096257610269565b8063ae3bbbbb1461083d578063b06e8c6514610863578063b410a0341461088f578063bff4fdfc14610897578063c6c9d828146108bd57610269565b80638da5cb5b116101155780638da5cb5b146107235780639a5154b41461072b578063a311c7c214610761578063a5fdc5de14610787578063a63c4df4146107ad578063ab49848c146107fc57610269565b806372cb051f146106ab57806379ba5097146106b35780637b1001b7146106bb578063835e119c146106e0578063849cf588146106fd57610269565b80633b6afe40116101ea5780634e99bda9116101ae5780634e99bda9146105a657806353a47bb7146105c2578063614d08f8146105ca578063631e1444146105d25780636bed0415146105f85780637168d2c21461063d57610269565b80633b6afe40146103f85780633be99e6f146104b657806344ec6b62146104dc57806347a9b6db14610512578063497d704a1461058057610269565b80631627540c116102315780631627540c1461035957806316b2213f1461037f578063242df9e1146103a55780632b3f41aa146103ad57806332608039146103db57610269565b8063042e06881461026e57806304f3bcec1461029c57806305b3c1c9146102c05780630b887dae146102f85780631137aedf14610315575b600080fd5b61029a6004803603604081101561028457600080fd5b506001600160a01b038135169060200135610990565b005b6102a46109a8565b604080516001600160a01b039092168252519081900360200190f35b6102e6600480360360208110156102d657600080fd5b50356001600160a01b03166109b7565b60408051918252519081900360200190f35b61029a6004803603602081101561030e57600080fd5b50356109cd565b61033b6004803603602081101561032b57600080fd5b50356001600160a01b0316610ab1565b60408051938452602084019290925282820152519081900360600190f35b61029a6004803603602081101561036f57600080fd5b50356001600160a01b0316610acd565b6102e66004803603602081101561039557600080fd5b50356001600160a01b0316610b29565b6102e6610b3b565b61029a600480360360408110156103c357600080fd5b506001600160a01b0381358116916020013516610b4b565b6102a4600480360360208110156103f157600080fd5b5035610b6a565b6104666004803603602081101561040e57600080fd5b810190602081018135600160201b81111561042857600080fd5b82018360208201111561043a57600080fd5b803590602001918460208302840111600160201b8311171561045b57600080fd5b509092509050610b85565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104a257818101518382015260200161048a565b505050509050019250505060405180910390f35b61029a600480360360208110156104cc57600080fd5b50356001600160a01b0316610c33565b61029a600480360360608110156104f257600080fd5b506001600160a01b03813581169160208101359091169060400135610d5c565b61029a6004803603602081101561052857600080fd5b810190602081018135600160201b81111561054257600080fd5b82018360208201111561055457600080fd5b803590602001918460208302840111600160201b8311171561057557600080fd5b509092509050610d7f565b61029a6004803603602081101561059657600080fd5b50356001600160a01b0316610e2f565b6105ae610e47565b604080519115158252519081900360200190f35b6102a4610fad565b6102e6610fbc565b6105ae600480360360208110156105e857600080fd5b50356001600160a01b0316610fc9565b6106246004803603604081101561060e57600080fd5b506001600160a01b0381351690602001356110e4565b6040805192835290151560208301528051918290030190f35b61029a6004803603602081101561065357600080fd5b810190602081018135600160201b81111561066d57600080fd5b82018360208201111561067f57600080fd5b803590602001918460208302840111600160201b831117156106a057600080fd5b509092509050611148565b6104666112f3565b61029a6112ff565b6102e6600480360360408110156106d157600080fd5b508035906020013515156113bb565b6102a4600480360360208110156106f657600080fd5b50356113cf565b61029a6004803603602081101561071357600080fd5b50356001600160a01b03166113f6565b6102a4611474565b61029a6004803603606081101561074157600080fd5b506001600160a01b03813581169160208101359091169060400135611483565b6102e66004803603602081101561077757600080fd5b50356001600160a01b03166114a1565b6102e66004803603602081101561079d57600080fd5b50356001600160a01b03166114b3565b6107e3600480360360608110156107c357600080fd5b506001600160a01b038135811691602081013591604090910135166114be565b6040805192835260208301919091528051918290030190f35b610804611afb565b604051808261030080838360005b8381101561082a578181015183820152602001610812565b5050505090500191505060405180910390f35b6106246004803603602081101561085357600080fd5b50356001600160a01b0316611b45565b61029a6004803603604081101561087957600080fd5b506001600160a01b038135169060200135611b5b565b6102e6611b6f565b6105ae600480360360208110156108ad57600080fd5b50356001600160a01b0316611b79565b6102e6600480360360208110156108d357600080fd5b5035611b84565b61029a600480360360208110156108f057600080fd5b50356001600160a01b0316611ba2565b6102e66004803603604081101561091657600080fd5b506001600160a01b038135169060200135611bb7565b6102e6611c61565b6102e66004803603602081101561094a57600080fd5b50356001600160a01b0316611c67565b6102e6611c72565b61029a6004803603604081101561097857600080fd5b506001600160a01b0381358116916020013516611c77565b610998611c96565b6109a482826000611cef565b5050565b6002546001600160a01b031681565b6000806109c383611f09565b509150505b919050565b6109d5611fc4565b60006109df61200d565b9050806001600160a01b031663d685743a8360006040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a3057600080fd5b505af1158015610a44573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03851693506304bd11e59250602480830192600092919082900301818387803b158015610a9057600080fd5b505af1158015610aa4573d6000803e3d6000fd5b505050506109a48261205a565b6000806000610abf84612315565b509196909550909350915050565b610ad5611fc4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60076020526000908152604090205481565b6000610b4561237d565b90505b90565b610b53611c96565b610b5d8282612427565b6109a482600060016124ff565b6006602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610bb5578160200160208202803883390190505b50905060005b82811015610c285760066000878784818110610bd357fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610c0857fe5b6001600160a01b0390921660209283029190910190910152600101610bbb565b509150505b92915050565b610c3b611fc4565b600280546001600160a01b0319166001600160a01b03831617905560005b6004548110156109a457600060048281548110610c7257fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610cfc57600080fd5b505afa158015610d10573d6000803e3d6000fd5b505050506040513d6020811015610d2657600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610c59565b610d64611c96565b610d6e83836127f9565b610d7a83826000611cef565b505050565b610d87611fc4565b8060005b81811015610dbf57610db7848483818110610da257fe5b905060200201356001600160a01b0316612854565b600101610d8b565b50610dc861200d565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b158015610e1257600080fd5b505af1158015610e26573d6000803e3d6000fd5b50505050505050565b610e37611c96565b610e4481600060016124ff565b50565b6000610e51612a31565b6001600160a01b031663c8e5bbd5610e696001612a82565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610eb8578181015183820152602001610ea0565b505050509050019250505060006040518083038186803b158015610edb57600080fd5b505afa158015610eef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610f1857600080fd5b8101908080516040519392919084600160201b821115610f3757600080fd5b908301906020820185811115610f4c57600080fd5b82518660208202830111600160201b82111715610f6857600080fd5b82525081516020918201928201910280838360005b83811015610f95578181015183820152602001610f7d565b50505050919091016040525060200151949350505050565b6001546001600160a01b031681565b6524b9b9bab2b960d11b81565b6002546000906001600160a01b03838116911614610fe9575060006109c8565b60005b6004548110156110db5760006004828154811061100557fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b15801561106b57600080fd5b505afa15801561107f573d6000803e3d6000fd5b505050506040513d602081101561109557600080fd5b50516001600160a01b03161415806110c257506000818152600360205260409020546001600160a01b0316155b156110d2576000925050506109c8565b50600101610fec565b50600192915050565b60008060006110f985620a69cb60eb1b612b5e565b93509091506000905061111a61110d612d48565b839063ffffffff612dbe16565b905084811061112c576000935061113f565b61113c858263ffffffff612dda16565b93505b50509250929050565b611150611fc4565b80600061115b61200d565b9050606082604051908082528060200260200182016040528015611189578160200160208202803883390190505b509050816001600160a01b03166317b38db48686846040518463ffffffff1660e01b815260040180806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b8381101561121c578181015183820152602001611204565b5050505090500195505050505050600060405180830381600087803b15801561124457600080fd5b505af1158015611258573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03861693506304bd11e59250602480830192600092919082900301818387803b1580156112a457600080fd5b505af11580156112b8573d6000803e3d6000fd5b506000925050505b838110156112eb576112e38686838181106112d757fe5b9050602002013561205a565b6001016112c0565b505050505050565b6060610b456000612a82565b6001546001600160a01b031633146113485760405162461bcd60e51b81526004018080602001828103825260358152602001806144e36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006113c78383612e37565b509392505050565b600581815481106113dc57fe5b6000918252602090912001546001600160a01b0316905081565b6113fe611fc4565b61140781612854565b61140f61200d565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b15801561145957600080fd5b505af115801561146d573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031681565b61148b611c96565b6114958383612427565b610d7a838260006124ff565b60006114ac82613143565b5092915050565b6000610c2d8261319d565b6000806114c9611c96565b6114d1613302565b6001600160a01b031663d6f32e0684631cd554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561153557600080fd5b505afa158015611549573d6000803e3d6000fd5b505050506040513d602081101561155f57600080fd5b5051156115b3576040805162461bcd60e51b815260206004820152601860248201527f73555344206e6565647320746f20626520736574746c65640000000000000000604482015290519081900360640190fd5b6115bb61334f565b6001600160a01b031663c49e80a6866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561161057600080fd5b505afa158015611624573d6000803e3d6000fd5b505050506040513d602081101561163a57600080fd5b505161168d576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015290519081900360640190fd5b631cd554d160e21b600052600660209081527fbf4016b332216e3e757307095a95a36cf38c4c15b334add21cedb2fbed6a3ad254604080516370a0823160e01b81526001600160a01b0387811660048301529151889492909316926370a0823192602480840193919291829003018186803b15801561170b57600080fd5b505afa15801561171f573d6000803e3d6000fd5b505050506040513d602081101561173557600080fd5b5051101561177c576040805162461bcd60e51b815260206004820152600f60248201526e139bdd08195b9bdd59da081cd554d1608a1b604482015290519081900360640190fd5b600061178661334f565b6001600160a01b03166323f5589a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117be57600080fd5b505afa1580156117d2573d6000803e3d6000fd5b505050506040513d60208110156117e857600080fd5b505190506000808061180189631cd554d160e21b612b5e565b925092509250600080611812612a31565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561185a57600080fd5b505afa15801561186e573d6000803e3d6000fd5b505050506040513d604081101561188457600080fd5b50805160209091015190925090506118a3838061189e5750815b61339f565b60006118ae8c61319d565b905060006118ba61334f565b6001600160a01b0316630ac045d5886118d385886133f2565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561190e57600080fd5b505afa158015611922573d6000803e3d6000fd5b505050506040513d602081101561193857600080fd5b505190508b8110611949578b61194b565b805b985060006119598a86613404565b90506119eb6119de8a73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a657600080fd5b505af41580156119ba573d6000803e3d6000fd5b505050506040513d60208110156119d057600080fd5b50519063ffffffff61341616565b829063ffffffff61347016565b9a50828b1115611a5c57829a50611a59611a53611a468b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a657600080fd5b859063ffffffff61349a16565b866133f2565b99505b611a698e8d8c8b8b6134c4565b50818a1415611aea57611a7a61334f565b6001600160a01b031663974e9e7f8f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015611ad157600080fd5b505af1158015611ae5573d6000803e3d6000fd5b505050505b505050505050505050935093915050565b611b0361448a565b60005b600454811015611b415760048181548110611b1d57fe5b9060005260206000200154828260188110611b3457fe5b6020020152600101611b06565b5090565b600080611b5183613143565b915091505b915091565b611b63611c96565b6109a4828260006124ff565b6000610b45612d48565b6000610c2d8261367b565b60048181548110611b9157fe5b600091825260209091200154905081565b611baa611c96565b610e448160006001611cef565b600080611bc26136a6565b60408051631167f01160e31b81526001600160a01b038781166004830152825193945060009390851692638b3f80889260248082019391829003018186803b158015611c0d57600080fd5b505afa158015611c21573d6000803e3d6000fd5b505050506040513d6040811015611c3757600080fd5b5051905080611c4b57600092505050610c2d565b611c558585612b5e565b50909695505050505050565b60055490565b6000610c2d826136f8565b601881565b611c7f611c96565b611c8982826127f9565b6109a48260006001611cef565b611c9e6137dc565b6001600160a01b0316336001600160a01b031614611ced5760405162461bcd60e51b815260040180806020018281038252603b815260200180614539603b913960400191505060405180910390fd5b565b600080600080611cfe87612315565b9350935093509350611d0f8161339f565b84611d615783861115611d5c576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b611d65565b8395505b611d7187878585613829565b611d7a87613bfe565b631cd554d160e21b600090815260066020527fbf4016b332216e3e757307095a95a36cf38c4c15b334add21cedb2fbed6a3ad2546040805163219e412d60e21b81526001600160a01b038b81166004830152602482018b90529151919092169263867904b4926044808201939182900301818387803b158015611dfc57600080fd5b505af1158015611e10573d6000803e3d6000fd5b50505050611e1c61200d565b6001600160a01b031663d685743a631cd554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e7657600080fd5b505af4158015611e8a573d6000803e3d6000fd5b505050506040513d6020811015611ea057600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b158015611ee857600080fd5b505af1158015611efc573d6000803e3d6000fd5b50505050610e2687613cb0565b600080600080611f17612a31565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611f5f57600080fd5b505afa158015611f73573d6000803e3d6000fd5b505050506040513d6040811015611f8957600080fd5b50805160209091015190925090506000611fab611fa58761319d565b846133f2565b9050611fb86119de612d48565b94509092505050915091565b6000546001600160a01b03163314611ced5760405162461bcd60e51b815260040180806020018281038252602f815260200180614574602f913960400191505060405180910390fd5b6000610b456844656274436163686560b81b6040518060400160405280601981526020017f4d697373696e6720446562744361636865206164647265737300000000000000815250613da8565b6000818152600660205260409020546001600160a01b0316806120bb576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156120f457600080fd5b505afa158015612108573d6000803e3d6000fd5b505050506040513d602081101561211e57600080fd5b505115612168576040805162461bcd60e51b815260206004820152601360248201527253796e746820737570706c792065786973747360681b604482015290519081900360640190fd5b631cd554d160e21b8214156121ba576040805162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b604482015290519081900360640190fd5b60005b6005548110156122a157816001600160a01b0316600582815481106121de57fe5b6000918252602090912001546001600160a01b03161415612299576005818154811061220657fe5b600091825260209091200180546001600160a01b031916905560058054600019810190811061223157fe5b600091825260209091200154600580546001600160a01b03909216918390811061225757fe5b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905560058054906122939060001983016144a9565b506122a1565b6001016121bd565b506001600160a01b0381166000818152600760209081526040808320839055858352600682529182902080546001600160a01b031916905581518581529081019290925280517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d09281900390910190a15050565b60008060008061232c85631cd554d160e21b612b5e565b9194509250905060008061233f87611f09565b91509150819550828061234f5750805b92508585106123615760009550612374565b612371868663ffffffff612dda16565b95505b50509193509193565b6000612387613e4a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156123f657600080fd5b505afa15801561240a573d6000803e3d6000fd5b505050506040513d602081101561242057600080fd5b5051905090565b61242f613e9d565b60408051633e9f85d160e11b81526001600160a01b038581166004830152848116602483015291519290911691637d3f0ba291604480820192602092909190829003018186803b15801561248257600080fd5b505afa158015612496573d6000803e3d6000fd5b505050506040513d60208110156124ac57600080fd5b50516109a4576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b806126b05761250d8361367b565b61255e576040805162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015290519081900360640190fd5b600080612569613302565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b1580156125cf57600080fd5b505af11580156125e3573d6000803e3d6000fd5b505050506040513d60608110156125f957600080fd5b506020810151604090910151909250905080156126ad57612618613302565b60408051630984d1f960e31b81526001600160a01b038881166004830152631cd554d160e21b6024830152604482018890526064820186905291519290911691634c268fc891608480820192602092909190829003018186803b15801561267e57600080fd5b505afa158015612692573d6000803e3d6000fd5b505050506040513d60208110156126a857600080fd5b505193505b50505b60008060006126c686631cd554d160e21b612b5e565b9250925092506000806126d888611f09565b915091506126ec838061189e57508161339f565b60008511612736576040805162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015290519081900360640190fd5b851561274f5761274c858363ffffffff612dda16565b96505b600061275e898a8a89896134c4565b905082612771878363ffffffff612dda16565b116127ee5761277e61334f565b6001600160a01b031663974e9e7f8a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b1580156127d557600080fd5b505af11580156127e9573d6000803e3d6000fd5b505050505b505050505050505050565b612801613e9d565b60408051630487261760e01b81526001600160a01b038581166004830152848116602483015291519290911691630487261791604480820192602092909190829003018186803b15801561248257600080fd5b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561288f57600080fd5b505afa1580156128a3573d6000803e3d6000fd5b505050506040513d60208110156128b957600080fd5b50516000818152600660205260409020549091506001600160a01b031615612917576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b6001600160a01b03821660009081526007602052604090205415612982576040805162461bcd60e51b815260206004820152601c60248201527f53796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b60058054600181019091557f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0384166001600160a01b03199182168117909255600083815260066020908152604080832080549094168517909355838252600781529082902084905581518481529081019290925280517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c628849281900390910190a15050565b6000610b456c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250613da8565b60608082612a91576000612a94565b60015b60ff1660058054905001604051908082528060200260200182016040528015612ac7578160200160208202803883390190505b50905060005b600554811015612b2e576007600060058381548110612ae857fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548251839083908110612b1b57fe5b6020908102919091010152600101612acd565b508215610c2d576005548151620a69cb60eb1b9183918110612b4c57fe5b60200260200101818152505092915050565b600080600080612b6c6136a6565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050604080518083038186803b158015612bc657600080fd5b505afa158015612bda573d6000803e3d6000fd5b505050506040513d6040811015612bf057600080fd5b5080516020909101519092509050612c09876001612e37565b909550935081612c20575060009450612d41915050565b6000612d1d83612d11866001600160a01b03166308d95cd5866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612c6d57600080fd5b505afa158015612c81573d6000803e3d6000fd5b505050506040513d6020811015612c9757600080fd5b505160408051632318bb8960e11b815290516001600160a01b038a16916346317712916004808301926020929190829003018186803b158015612cd957600080fd5b505afa158015612ced573d6000803e3d6000fd5b505050506040513d6020811015612d0357600080fd5b50519063ffffffff613ed516565b9063ffffffff613eee16565b90506000612d2e82612d1189613f07565b9050612d3981613f1d565b975050505050505b9250925092565b6000612d52613e4a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156123f657600080fd5b6000612dd38383670de0b6b3a7640000613f3f565b9392505050565b600082821115612e31576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000806000806000612e4761200d565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015612e7f57600080fd5b505afa158015612e93573d6000803e3d6000fd5b505050506040513d6080811015612ea957600080fd5b508051604082015160609092015190945090925090508180612ec85750805b93506000612ed4612a31565b90508661307f57612f57612ee6613f77565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f1e57600080fd5b505afa158015612f32573d6000803e3d6000fd5b505050506040513d6020811015612f4857600080fd5b5051859063ffffffff61341616565b9350600080826001600160a01b0316630c71cd23630e68aa8960e31b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612fa657600080fd5b505afa158015612fba573d6000803e3d6000fd5b505050506040513d6040811015612fd057600080fd5b5080516020909101519092509050600061305c83612fec613fb1565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561302457600080fd5b505afa158015613038573d6000803e3d6000fd5b505050506040513d602081101561304e57600080fd5b50519063ffffffff61400416565b905061306e878263ffffffff61341616565b965087806130795750815b97505050505b631cd554d160e21b88141561309a575091935061313c915050565b600080826001600160a01b0316630c71cd238b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156130e057600080fd5b505afa1580156130f4573d6000803e3d6000fd5b505050506040513d604081101561310a57600080fd5b5080516020909101519092509050613128868363ffffffff612dbe16565b87806131315750815b975097505050505050505b9250929050565b60008060006131518461319d565b905060008061316686620a69cb60eb1b612b5e565b9250509150826000141561318257600094509250611b56915050565b613192828463ffffffff612dbe16565b945092505050915091565b6000806131a86137dc565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156131fd57600080fd5b505afa158015613211573d6000803e3d6000fd5b505050506040513d602081101561322757600080fd5b505190506000613235614019565b6001600160a01b0316146132df576132dc61324e614019565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156132a357600080fd5b505afa1580156132b7573d6000803e3d6000fd5b505050506040513d60208110156132cd57600080fd5b5051829063ffffffff61341616565b90505b60006132e961406c565b6001600160a01b031614610c2d57612dd361324e61406c565b6000610b456822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250613da8565b6000610b456b4c69717569646174696f6e7360a01b6040518060400160405280601c81526020017f4d697373696e67204c69717569646174696f6e73206164647265737300000000815250613da8565b8015610e44576040805162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015290519081900360640190fd5b6000612dd3838363ffffffff61400416565b6000612dd3838363ffffffff612dbe16565b600082820183811015612dd3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000670de0b6b3a764000061348b848463ffffffff6140bc16565b8161349257fe5b049392505050565b6000612dd3826134b885670de0b6b3a764000063ffffffff6140bc16565b9063ffffffff61411516565b60008383106134d357836134d5565b825b90506134e38682858561417f565b631cd554d160e21b600090815260066020527fbf4016b332216e3e757307095a95a36cf38c4c15b334add21cedb2fbed6a3ad25460408051632770a7eb60e21b81526001600160a01b0389811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b15801561356557600080fd5b505af1158015613579573d6000803e3d6000fd5b5050505061358561200d565b6001600160a01b031663d685743a631cd554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156135df57600080fd5b505af41580156135f3573d6000803e3d6000fd5b505050506040513d602081101561360957600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b15801561365157600080fd5b505af1158015613665573d6000803e3d6000fd5b5050505061367286613cb0565b95945050505050565b600061369d61368861237d565b613691846136f8565b9063ffffffff61341616565b42101592915050565b6000610b456d53796e746865746978537461746560901b6040518060400160405280601e81526020017f4d697373696e672053796e746865746978537461746520616464726573730000815250613da8565b6000613702613e4a565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156137aa57600080fd5b505afa1580156137be573d6000803e3d6000fd5b505050506040513d60208110156137d457600080fd5b505192915050565b6000610b45680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250613da8565b60006138336136a6565b90506000613847858463ffffffff61341616565b9050600061385b868363ffffffff613ed516565b905060006138df8273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156138a757600080fd5b505af41580156138bb573d6000803e3d6000fd5b505050506040513d60208110156138d157600080fd5b50519063ffffffff612dda16565b9050851561390e57613907836138fb898963ffffffff61341616565b9063ffffffff613ed516565b9150613962565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561394957600080fd5b505af115801561395d573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156139c257600080fd5b505af11580156139d6573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015613a1557600080fd5b505afa158015613a29573d6000803e3d6000fd5b505050506040513d6020811015613a3f57600080fd5b50511115613b1e57836001600160a01b0316633d31e97b613acb83876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b158015613a9357600080fd5b505afa158015613aa7573d6000803e3d6000fd5b505050506040513d6020811015613abd57600080fd5b50519063ffffffff613eee16565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613b0157600080fd5b505af1158015613b15573d6000803e3d6000fd5b50505050613bf4565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015613b7157600080fd5b505af4158015613b85573d6000803e3d6000fd5b505050506040513d6020811015613b9b57600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b158015613bdb57600080fd5b505af1158015613bef573d6000803e3d6000fd5b505050505b5050505050505050565b613c06613e4a565b604080516d1b185cdd125cdcdd59515d995b9d60921b6020808301919091526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526524b9b9bab2b960d11b6058830152607882015242609882015290516001600160a01b039290921691631d5b277f9160b88082019260009290919082900301818387803b15801561145957600080fd5b600080613cbb6136a6565b60408051631167f01160e31b81526001600160a01b0386811660048301528251931692638b3f808892602480840193919291829003018186803b158015613d0157600080fd5b505afa158015613d15573d6000803e3d6000fd5b505050506040513d6040811015613d2b57600080fd5b5080516020909101519092509050613d41614414565b6001600160a01b031663866452748484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015610e1257600080fd5b6000828152600360205260408120546001600160a01b031682816113c75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e0f578181015183820152602001613df7565b50505050905090810190601f168015613e3c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610b456e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250613da8565b6000610b457044656c6567617465417070726f76616c7360781b60405180606001604052806021815260200161451860219139613da8565b6000612dd383836b033b2e3c9fd0803ce8000000613f3f565b6000612dd383836b033b2e3c9fd0803ce800000061445f565b6000610c2d82633b9aca0063ffffffff6140bc16565b60006305f5e10082046005600a820610613f3557600a015b600a900492915050565b600080613f59846134b887600a870263ffffffff6140bc16565b90506005600a825b0610613f6b57600a015b600a9004949350505050565b6000610b4572115d1a195c90dbdb1b185d195c985b1cd554d1606a1b6040518060600160405280602381526020016145c460239139613da8565b6000610b456e115d1a195c90dbdb1b185d195c985b608a1b6040518060400160405280601f81526020017f4d697373696e67204574686572436f6c6c61746572616c206164647265737300815250613da8565b6000612dd38383670de0b6b3a764000061445f565b6000610b456e53796e746865746978457363726f7760881b6040518060400160405280601f81526020017f4d697373696e672053796e746865746978457363726f77206164647265737300815250613da8565b6000610b456b526577617264457363726f7760a01b6040518060400160405280601c81526020017f4d697373696e6720526577617264457363726f77206164647265737300000000815250613da8565b6000826140cb57506000610c2d565b828202828482816140d857fe5b0414612dd35760405162461bcd60e51b81526004018080602001828103825260218152602001806145a36021913960400191505060405180910390fd5b600080821161416b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161417657fe5b04949350505050565b60006141896136a6565b9050600061419d838663ffffffff612dda16565b9050600081156142075760006141b9878463ffffffff613ed516565b90506142038173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a657600080fd5b9150505b848614156142ce576040805163a764eb4560e01b81526001600160a01b03898116600483015260006024830181905292519086169263a764eb45926044808201939182900301818387803b15801561425e57600080fd5b505af1158015614272573d6000803e3d6000fd5b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156142b157600080fd5b505af11580156142c5573d6000803e3d6000fd5b50505050614371565b60006142e0868863ffffffff612dda16565b905060006142f4828563ffffffff613ed516565b9050846001600160a01b031663a764eb458a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561435657600080fd5b505af115801561436a573d6000803e3d6000fd5b5050505050505b826001600160a01b0316633d31e97b6143bd83866001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b158015613a9357600080fd5b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156143f357600080fd5b505af1158015614407573d6000803e3d6000fd5b5050505050505050505050565b6000610b4566119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250613da8565b600080600a8304614476868663ffffffff6140bc16565b8161447d57fe5b0490506005600a82613f61565b6040518061030001604052806018906020820280388339509192915050565b815481835581811115610d7a57600083815260209020610d7a918101908301610b4891905b80821115611b4157600081556001016144ce56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c7320616464726573734973737565723a204f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774d697373696e67204574686572436f6c6c61746572616c735553442061646472657373a265627a7a723158208be053953c0cf3ce82ef2968d25c73d0dc48fb63f3f481e5271ad5f879f890ee64736f6c63430005100032",
			"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": "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": "synth",
							"type": "address"
						}
					],
					"name": "SynthAdded",
					"type": "event",
					"signature": "0x0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "SynthRemoved",
					"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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynth",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "addSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x849cf588"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynth[]",
							"name": "synthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x47a9b6db"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anySynthOrSNXRateIsInvalid",
					"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": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbf63340"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"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": "burnSynths",
					"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": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9a5154b4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnSynthsToTarget",
					"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": "burnSynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2b3f41aa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnSynths",
					"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": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getSynths",
					"outputs": [
						{
							"internalType": "contract ISynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b6afe40"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": "issueMaxSynths",
					"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": "issueMaxSynthsOnBehalf",
					"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": "issueSynths",
					"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": "issueSynthsOnBehalf",
					"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": "susdAmount",
							"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": "maxIssuableSynths",
					"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": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"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": "removeSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b887dae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removeSynths",
					"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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x32608039"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"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": "totalIssuedSynths",
					"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": "transferableSynthetixAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6bed0415"
				}
			],
			"source": {
				"keccak256": "0x76181684676a3e2dafd69acdad3f28446d47ac45bf853be8fa3b2432b1ffc9a6",
				"urls": [
					"bzz-raw://f45e1b7b7ac746e66b1fc3529fca25fe2900e30ad24d82ca1830213750827cff",
					"dweb:/ipfs/QmbpgtZYeoxqHBXAJCq2WdRjwJHBrwwMK44sTq5xFoNzqu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Issuer.sol": "Issuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Issuer.sol": {
						"keccak256": "0x76181684676a3e2dafd69acdad3f28446d47ac45bf853be8fa3b2432b1ffc9a6",
						"urls": [
							"bzz-raw://f45e1b7b7ac746e66b1fc3529fca25fe2900e30ad24d82ca1830213750827cff",
							"dweb:/ipfs/QmbpgtZYeoxqHBXAJCq2WdRjwJHBrwwMK44sTq5xFoNzqu"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "60c06040526822bc31b430b733b2b960b91b6080908152680a6f2dce8d0cae8d2f60bb1b60a0526200003690600b90600262000317565b503480156200004457600080fd5b506040516200247d3803806200247d833981810160405260608110156200006a57600080fd5b50805160208201516040928301518351610300810194859052929391929091829190600b9060189082845b81548152602001906001019080831162000095575050600160005550869150506001600160a01b03811662000111576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316620001be576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001546001600160a01b031662000210576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620002785760008282601881106200022c57fe5b602002015114620002695760068282601881106200024657fe5b60209081029190910151825460018101845560009384529190922001556200026f565b62000278565b60010162000213565b505060048054610100600160a81b0319166101006001600160a01b03938416021790558216620002ef576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600a80546001600160a01b0319166001600160a01b0392909216919091179055506200037a565b826018810192821562000348579160200282015b82811115620003485782518255916020019190600101906200032b565b50620003569291506200035a565b5090565b6200037791905b8082111562000356576000815560010162000361565b90565b6120f3806200038a6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c8063706848d211610125578063c6c9d828116100ad578063e3235c911161007c578063e3235c911461056b578063f32ffd6914610573578063f61f5df6146105e3578063f6b584791461060f578063fc9c99ac1461068f57610211565b8063c6c9d8281461051a578063ccb6e043146102e6578063ce7fccba14610537578063dea021a51461056357610211565b8063937ffb8f116100f4578063937ffb8f1461046b5780639865fdb714610488578063ab49848c14610490578063ae934a7a146104d1578063b225dbaa146104fd57610211565b8063706848d21461043657806379ba5097146104535780638da5cb5b1461045b57806391b4ded91461046357610211565b806338dfa8cf116101a857806353a47bb71161017757806353a47bb7146103db57806355aa41bf146103e35780635c975abb14610400578063631e1444146104085780636fe4136b1461042e57610211565b806338dfa8cf146103435780633be99e6f146103695780633dbf12fa1461038f57806352d5999f146103b557610211565b806316841952116101e457806316841952146102aa57806316c38b3c146102c7578063175c5189146102e657806321cad7741461031757610211565b806304f3bcec14610216578063056097ac1461023a578063086146d21461026a5780631627540c14610284575b600080fd5b61021e610697565b604080516001600160a01b039092168252519081900360200190f35b6102686004803603604081101561025057600080fd5b506001600160a01b03813581169160200135166106ab565b005b610272610856565b60408051918252519081900360200190f35b6102686004803603602081101561029a57600080fd5b50356001600160a01b031661085c565b610268600480360360208110156102c057600080fd5b50356108b8565b610268600480360360208110156102dd57600080fd5b50351515610ae1565b610303600480360360208110156102fc57600080fd5b5035610b5b565b604080519115158252519081900360200190f35b6102686004803603604081101561032d57600080fd5b50803590602001356001600160a01b0316610b73565b6102686004803603602081101561035957600080fd5b50356001600160a01b0316610c9d565b6102686004803603602081101561037f57600080fd5b50356001600160a01b0316610e55565b610268600480360360208110156103a557600080fd5b50356001600160a01b0316610f89565b610268600480360360208110156103cb57600080fd5b50356001600160a01b0316611040565b61021e6110d2565b610272600480360360208110156103f957600080fd5b50356110e1565b6103036110f6565b6103036004803603602081101561041e57600080fd5b50356001600160a01b03166110ff565b61021e611225565b6102726004803603602081101561044c57600080fd5b5035611234565b610268611249565b61021e611305565b610272611314565b6102726004803603602081101561048157600080fd5b503561131a565b61027261132f565b6104986113cc565b604051808261030080838360005b838110156104be5781810151838201526020016104a6565b5050505090500191505060405180910390f35b610268600480360360408110156104e757600080fd5b506001600160a01b038135169060200135611416565b6102686004803603602081101561051357600080fd5b5035611583565b6102726004803603602081101561053057600080fd5b5035611630565b6102726004803603604081101561054d57600080fd5b506001600160a01b03813516906020013561164e565b61021e611663565b610272611672565b6102686004803603602081101561058957600080fd5b8101906020810181356401000000008111156105a457600080fd5b8201836020820111156105b657600080fd5b803590602001918460208302840111640100000000831117156105d857600080fd5b509092509050611677565b610272600480360360408110156105f957600080fd5b506001600160a01b038135169060200135611755565b6102726004803603604081101561062557600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561065057600080fd5b82018360208201111561066257600080fd5b8035906020019184602083028401116401000000008311171561068457600080fd5b509092509050611780565b6102726117d0565b60045461010090046001600160a01b031681565b6106b36117d6565b6106bc81611821565b6106c4611891565b6001600160a01b0316826001600160a01b0316141561072a576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561077557600080fd5b505afa158015610789573d6000803e3d6000fd5b505050506040513d602081101561079f57600080fd5b50519050806107ec576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6108066001600160a01b038316848363ffffffff6118de16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b60075490565b6108646117d6565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600a546001600160a01b03163314610917576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b6000610921611891565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561097657600080fd5b505afa15801561098a573d6000803e3d6000fd5b505050506040513d60208110156109a057600080fd5b50516008549091506000906109bc90839063ffffffff61193016565b905080831115610a13576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60075460009081526009602052604090206002810184905560038101849055805460ff19166001178155600854610a50908563ffffffff61198d16565b600855600754604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600754610aa490600163ffffffff61198d16565b600781905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610ae96117d6565b60045460ff1615158115151415610aff57610b58565b6004805460ff1916821515179081905560ff1615610b1c57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60008181526009602052604090205460ff165b919050565b610b7b6119e7565b6001600160a01b0316336001600160a01b031614610be0576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60075460009081526009602090815260408083206001600160a01b03851684526004810190925290912054610c1b908463ffffffff61198d16565b6001600160a01b03831660009081526004830160205260409020556001810154610c4b908463ffffffff61198d16565b600182015560075460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b610ca56117d6565b610cae81611821565b6000610cb8611891565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d0d57600080fd5b505afa158015610d21573d6000803e3d6000fd5b505050506040513d6020811015610d3757600080fd5b5051905080610d84576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6000610d9b6008548361193090919063ffffffff16565b905060008111610de9576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b610e0c8382610df6611891565b6001600160a01b0316919063ffffffff6118de16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610e5d6117d6565b60048054610100600160a81b0319166101006001600160a01b0384160217905560005b600654811015610f8557600060068281548110610e9957fe5b60009182526020918290200154600480546040805163dacb2d0160e01b815292830184905260248301819052601760448401527f5265736f6c766572206d697373696e672074617267657400000000000000000060648401525192945061010090046001600160a01b03169263dacb2d0192608480840193829003018186803b158015610f2557600080fd5b505afa158015610f39573d6000803e3d6000fd5b505050506040513d6020811015610f4f57600080fd5b505160009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610e80565b5050565b610f916117d6565b6001600160a01b038116610fec576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600a80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6110486117d6565b61105181611821565b60405147906001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611089573d6000803e3d6000fd5b50604080516001600160a01b03841681526020810183905281517f8e274e42262a7f013b700b35c2b4629ccce1702f8fe83f8dfb7eacbb26a4382c929181900390910190a15050565b6002546001600160a01b031681565b60009081526009602052604090206001015490565b60045460ff1681565b6004546000906001600160a01b03838116610100909204161461112457506000610b6e565b60005b60065481101561121c5760006006828154811061114057fe5b600091825260208083209091015480835260058252604092839020546004805485516321f8a72160e01b815291820184905294519295506001600160a01b03918216946101009004909116926321f8a72192602480840193829003018186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b505050506040513d60208110156111d657600080fd5b50516001600160a01b031614158061120357506000818152600560205260409020546001600160a01b0316155b1561121357600092505050610b6e565b50600101611127565b50600192915050565b600061122f611891565b905090565b60009081526009602052604090206003015490565b6002546001600160a01b031633146112925760405162461bcd60e51b8152600401808060200182810382526035815260200180611fd46035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b6001546001600160a01b031681565b60035481565b60009081526009602052604090206002015490565b600061122f60085461133f611891565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561139457600080fd5b505afa1580156113a8573d6000803e3d6000fd5b505050506040513d60208110156113be57600080fd5b50519063ffffffff61193016565b6113d4611fb4565b60005b60065481101561141257600681815481106113ee57fe5b906000526020600020015482826018811061140557fe5b60200201526001016113d7565b5090565b61141e6117d6565b61142782611821565b600754811061147d576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b600081815260096020526040902060038101546114e1576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b60038101546114f38482610df6611891565b600854611506908263ffffffff61193016565b6008556000838152600960209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115d05760405162461bcd60e51b815260040180806020018281038252603c815260200180612059603c913960400191505060405180910390fd5b6115da3383611a34565b6000548114610f85576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6006818154811061163d57fe5b600091825260209091200154905081565b600061165a8383611b93565b90505b92915050565b600a546001600160a01b031690565b601881565b600080546001019081905560045460ff16156116c45760405162461bcd60e51b815260040180806020018281038252603c815260200180612059603c913960400191505060405180910390fd5b60005b828110156116f95760008484838181106116dd57fe5b9050602002013590506116f03382611a34565b506001016116c7565b506000548114611750576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526009602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b828110156117c857600084848381811061179a57fe5b9050602002013590506117bd6117b08783611b93565b849063ffffffff61198d16565b925050600101611784565b509392505050565b60085490565b6001546001600160a01b0316331461181f5760405162461bcd60e51b815260040180806020018281038252602f815260200180612009602f913960400191505060405180910390fd5b565b6001600160a01b038116158061183f57506001600160a01b03811630145b15610b58576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b600061122f680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250611c37565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611750908490611cd9565b600082821115611987576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561165a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061122f6822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250611c37565b6000818152600960205260409020805460ff16611a98576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b6000611aa48484611b93565b905060008111611af2576040805162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611b22908263ffffffff61193016565b6003830155600854611b3a908263ffffffff61193016565b600855611b4a8482610df6611891565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260096020526040812060038101541580611bb457506001810154155b80611bc15750805460ff16155b15611bd057600091505061165d565b6001600160a01b038416600090815260048201602052604090205480611bfb5760009250505061165d565b6000611c14836001015483611e9790919063ffffffff16565b9050611c2d836002015482611ec190919063ffffffff16565b9695505050505050565b6000828152600560205260408120546001600160a01b031682816117c85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c9e578181015183820152602001611c86565b50505050905090810190601f168015611ccb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b611ceb826001600160a01b0316611eeb565b611d3c576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611d7a5780518252601f199092019160209182019101611d5b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611ddc576040519150601f19603f3d011682016040523d82523d6000602084013e611de1565b606091505b509150915081611e38576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611e9157808060200190516020811015611e5457600080fd5b5051611e915760405162461bcd60e51b815260040180806020018281038252602a815260200180612095602a913960400191505060405180910390fd5b50505050565b600061165a82611eb585670de0b6b3a764000063ffffffff611ef116565b9063ffffffff611f4a16565b6000670de0b6b3a7640000611edc848463ffffffff611ef116565b81611ee357fe5b049392505050565b3b151590565b600082611f005750600061165d565b82820282848281611f0d57fe5b041461165a5760405162461bcd60e51b81526004018080602001828103825260218152602001806120386021913960400191505060405180910390fd5b6000808211611fa0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fab57fe5b04949350505050565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820a816241d0030b4ad4fbabbc1032f693819b9e5c3d657da7fbb1b3b413993655464736f6c63430005100032",
			"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": "address",
							"name": "recoverAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "EtherRecovered",
					"type": "event",
					"signature": "0x8e274e42262a7f013b700b35c2b4629ccce1702f8fe83f8dfb7eacbb26a4382c"
				},
				{
					"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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"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": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": [
						{
							"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 payable",
							"name": "recoverAddress",
							"type": "address"
						}
					],
					"name": "recoverEther",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52d5999f"
				},
				{
					"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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				}
			],
			"source": {
				"keccak256": "0x11ce0e6d9d2500070637ee16a6f3be479b92eefdb58e5a026413b9e934f0e860",
				"urls": [
					"bzz-raw://f4863af118b21e00ff11560b8cb0fb15ead21bc1612e9eb0d9f4cfaeb60a5ea1",
					"dweb:/ipfs/QmPE9y6kp6jDttBkVwobdWQ8mMhJYuvN1mthxj7JaNKp6L"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TradingRewards.sol": "TradingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TradingRewards.sol": {
						"keccak256": "0x11ce0e6d9d2500070637ee16a6f3be479b92eefdb58e5a026413b9e934f0e860",
						"urls": [
							"bzz-raw://f4863af118b21e00ff11560b8cb0fb15ead21bc1612e9eb0d9f4cfaeb60a5ea1",
							"dweb:/ipfs/QmPE9y6kp6jDttBkVwobdWQ8mMhJYuvN1mthxj7JaNKp6L"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b5780639514c2321461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a723158203d7edaf508a47d1f43f254d0c17703050eb7d571860626fc3a50ccbc6ab3a5ca64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract ISynthetixEscrow",
							"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": "synthetix_escrow",
					"outputs": [
						{
							"internalType": "contract ISynthetixEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9514c232"
				}
			],
			"source": {
				"keccak256": "0xd217f5593ebea71380272bbf2d1fbdf77dfb233f12eb347b251b97037dbdf3c7",
				"urls": [
					"bzz-raw://7635521588341cd368590c1603d9e5ad6a841c3f71a9754bd9dc7839a794cace",
					"dweb:/ipfs/QmeuH2vrRQ2xZQ2RCXyKHuk6BoEupdmna9S35Y5uUwe5jJ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0xd217f5593ebea71380272bbf2d1fbdf77dfb233f12eb347b251b97037dbdf3c7",
						"urls": [
							"bzz-raw://7635521588341cd368590c1603d9e5ad6a841c3f71a9754bd9dc7839a794cace",
							"dweb:/ipfs/QmeuH2vrRQ2xZQ2RCXyKHuk6BoEupdmna9S35Y5uUwe5jJ"
						]
					}
				},
				"version": 1
			}
		},
		"SupplySchedule": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$4162ccbd5d91574b6bbbe632a759499ba8$__9063907af6c09060849060209060048186803b15801561004457600080fd5b505af4158015610058573d6000803e3d6000fd5b505050506040513d602081101561006e57600080fd5b505160c80260045534801561008257600080fd5b50604051611094380380611094833981810160405260608110156100a557600080fd5b5080516020820151604090920151909190826001600160a01b038116610112576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610f10806101846000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637e1b823f116100de578063badef30a11610097578063cc5c095c11610071578063cc5c095c14610310578063d3bd4bde14610318578063dbd3a6a714610320578063df5a9fc11461032857610173565b8063badef30a146102f8578063bdd1248214610300578063be801f011461030857610173565b80637e1b823f1461027a5780637e7961d7146102825780638da5cb5b1461029f57806395896b76146102a75780639bdd7ac7146102cd578063b3b2bcc0146102d557610173565b806346b45af71161013057806346b45af7146101f05780634ae265211461020c5780634e070f501461022957806353a47bb71461024657806379ba50971461026a5780637c0605571461027257610173565b80631627540c146101785780631de40e49146101a057806322af2bab146101ba578063251330f1146101c257806325542064146101e057806346872a23146101e8575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b0316610330565b005b6101a861038c565b60408051918252519081900360200190f35b6101a8610397565b6101ca6103a4565b6040805160ff9092168252519081900360200190f35b6101a86103a9565b6101a86103b4565b6101f86103bb565b604080519115158252519081900360200190f35b61019e6004803603602081101561022257600080fd5b50356103db565b6101a86004803603602081101561023f57600080fd5b5035610466565b61024e610527565b604080516001600160a01b039092168252519081900360200190f35b61019e610536565b6101ca6105f2565b6101a86105f7565b6101f86004803603602081101561029857600080fd5b50356105ff565b61024e61076c565b61019e600480360360208110156102bd57600080fd5b50356001600160a01b031661077b565b6101a861082e565b6101a8600480360360408110156102eb57600080fd5b5080359060200135610834565b6101a861096e565b61024e61097d565b6101a861098c565b6101a8610992565b6101a8610af0565b6101a8610af6565b6101a8610b4b565b610338610b52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b662c68af0bb1400081565b680ad78ebc5ac620000081565b602881565b6658d15e1762800081565b6201518081565b600062093a80600254420311156103d4575060016103d8565b5060005b90565b6103e3610b52565b680ad78ebc5ac620000081111561042b5760405162461bcd60e51b8152600401808060200182810382526026815260200180610eb66026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b600080610500836104f4662c68af0bb1400073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156104bc57600080fd5b505af41580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50519063ffffffff610b9d16565b9063ffffffff610bfa16565b9050600061051f6a01316ba81b802f59713b138363ffffffff610cb616565b949350505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461057f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610dfe6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60ea81565b635c7f0d8081565b60055460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b50516001600160a01b031633146106b65760405162461bcd60e51b8152600401808060200182810382526033815260200180610e836033913960400191505060405180910390fd5b60006106c0610af6565b6003549091506106d6908263ffffffff610ce016565b600381905561071890620151809061070c906106fb9062093a8063ffffffff610d3a16565b635c7f0d809063ffffffff610ce016565b9063ffffffff610ce016565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a150600192915050565b6000546001600160a01b031681565b610783610b52565b6001600160a01b0381166107d4576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517ff8df0556b7fde3c4b8394eae329aedfa59c6ffd8b532d572a1efcfa3424ca5fc916020908290030190a150565b60045481565b6000806108d2836104f46108566658d15e17628000603463ffffffff610d9316565b73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561089a57600080fd5b505af41580156108ae573d6000803e3d6000fd5b505050506040513d60208110156108c457600080fd5b50519063ffffffff610ce016565b905061096461095773__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091e57600080fd5b505af4158015610932573d6000803e3d6000fd5b505050506040513d602081101561094857600080fd5b5051839063ffffffff610b9d16565b859063ffffffff610cb616565b9150505b92915050565b6a01316ba81b802f59713b1381565b6005546001600160a01b031681565b60025481565b60008061099d6103bb565b6109a85790506103d8565b60006109b2610af6565b6003549091505b8115610ae85760010160288110156109f4576109e6836a01316ba81b802f59713b1363ffffffff610ce016565b925060001990910190610ae3565b60ea8111610a39576000610a0f82602763ffffffff610b9d16565b9050610a2a610a1d82610466565b859063ffffffff610ce016565b93505060001990910190610ae3565b600554604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610a7e57600080fd5b505afa158015610a92573d6000803e3d6000fd5b505050506040513d6020811015610aa857600080fd5b505190506000610abe828663ffffffff610ce016565b9050610ada610acd8286610834565b869063ffffffff610ce016565b94506000935050505b6109b9565b509091505090565b60035481565b600080600060025411610b1c57610b1742635c7f0d8063ffffffff610b9d16565b610b30565b600254610b3090429063ffffffff610b9d16565b9050610b458162093a8063ffffffff610d9316565b91505090565b62093a8081565b6000546001600160a01b03163314610b9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180610e33602f913960400191505060405180910390fd5b565b600082821115610bf4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c4157600080fd5b505af4158015610c55573d6000803e3d6000fd5b505050506040513d6020811015610c6b57600080fd5b505190505b8215610caf576002830615610c9257610c8f818563ffffffff610cb616565b90505b610ca2848063ffffffff610cb616565b9350600283049250610c70565b9392505050565b6000670de0b6b3a7640000610cd1848463ffffffff610d3a16565b81610cd857fe5b049392505050565b600082820183811015610caf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610d4957506000610968565b82820282848281610d5657fe5b0414610caf5760405162461bcd60e51b8152600401808060200182810382526021815260200180610e626021913960400191505060405180910390fd5b6000808211610de9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610df457fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e5265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a7231582099ba11bff5f31d86970b389a409b7098cbeffac0f6c959f2fb1db6c0561b8b1d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_lastMintEvent",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_currentWeek",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRewardAmount",
							"type": "uint256"
						}
					],
					"name": "MinterRewardUpdated",
					"type": "event",
					"signature": "0x036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d30"
				},
				{
					"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": "supplyMinted",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "numberOfWeeksIssued",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastMintEvent",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SupplyMinted",
					"type": "event",
					"signature": "0x601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newAddress",
							"type": "address"
						}
					],
					"name": "SynthetixProxyUpdated",
					"type": "event",
					"signature": "0xf8df0556b7fde3c4b8394eae329aedfa59c6ffd8b532d572a1efcfa3424ca5fc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECAY_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1de40e49"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INFLATION_START_DATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e1b823f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INITIAL_WEEKLY_SUPPLY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbadef30a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINTER_REWARD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22af2bab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46872a23"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf5a9fc1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_END",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c060557"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_START",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x251330f1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TERMINAL_SUPPLY_RATE_ANNUAL",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x25542064"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46b45af7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastMintEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbe801f01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc5c095c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9bdd7ac7"
				},
				{
					"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": "supplyMinted",
							"type": "uint256"
						}
					],
					"name": "recordMintEvent",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7e7961d7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMinterReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4ae26521"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynthetix",
							"name": "_synthetixProxy",
							"type": "address"
						}
					],
					"name": "setSynthetixProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x95896b76"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetixProxy",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdd12482"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numOfWeeks",
							"type": "uint256"
						}
					],
					"name": "terminalInflationSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xb3b2bcc0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "counter",
							"type": "uint256"
						}
					],
					"name": "tokenDecaySupplyForWeek",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x4e070f50"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weekCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3bd4bde"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weeksSinceLastIssuance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd3a6a7"
				}
			],
			"source": {
				"keccak256": "0xb05769807f7fef6fcca6529c4f532c52416b7a41c145ce558f95642e7e5656be",
				"urls": [
					"bzz-raw://fc0467d50e8d646e83b98bf0d5f62e65dc0c4bd351b11c1f9d9c718414b2cbc1",
					"dweb:/ipfs/QmZacPEnBS6v5AAbb7YvDTChJifLfUsqpBT3wsAfPVjTAc"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SupplySchedule.sol": "SupplySchedule"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SupplySchedule.sol": {
						"keccak256": "0xb05769807f7fef6fcca6529c4f532c52416b7a41c145ce558f95642e7e5656be",
						"urls": [
							"bzz-raw://fc0467d50e8d646e83b98bf0d5f62e65dc0c4bd351b11c1f9d9c718414b2cbc1",
							"dweb:/ipfs/QmZacPEnBS6v5AAbb7YvDTChJifLfUsqpBT3wsAfPVjTAc"
						]
					}
				},
				"version": 1
			}
		},
		"Synth": {
			"bytecode": "6101006040526b53797374656d53746174757360a01b60809081526822bc31b430b733b2b960b91b60a0526524b9b9bab2b960d11b60c05266119959541bdbdb60ca1b60e0526200005590600f9060046200064f565b503480156200006357600080fd5b50604051620032973803806200329783398181016040526101008110156200008a57600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000b657600080fd5b908301906020820185811115620000cc57600080fd5b8251640100000000811182820188101715620000e757600080fd5b82525081516020918201929091019080838360005b8381101562000116578181015183820152602001620000fc565b50505050905090810190601f168015620001445780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200016857600080fd5b9083019060208201858111156200017e57600080fd5b82516401000000008111828201881017156200019957600080fd5b82525081516020918201929091019080838360005b83811015620001c8578181015183820152602001620001ae565b50505050905090810190601f168015620001f65780820380516001836020036101000a031916815260200191505b50604081815260208301518382015160608501516080909501516103008501938490529196509450918291600f9060189082845b8154815260200190600101908083116200022a575050505050898989898760128b868160006001600160a01b0316816001600160a01b03161415620002b6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000361576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b03166200040c576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600780546001600160a01b0319166001600160a01b03881617905584516200048e90600890602088019062000692565b508351620004a490600990602087019062000692565b5050600a91909155600b805460ff191660ff90921691909117905550506000546001600160a01b031615159150620005199050576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620005815760008282601881106200053557fe5b6020020151146200057257600d8282601881106200054f57fe5b602090810291909101518254600181018455600093845291909220015562000578565b62000581565b6001016200051c565b5050600b8054610100600160a81b0319166101006001600160a01b03938416021790558816620005ed576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200063e576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600e5550620007249350505050565b826018810192821562000680579160200282015b828111156200068057825182559160200191906001019062000663565b506200068e92915062000704565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006d557805160ff191683800117855562000680565b828001600101855582156200068057918201828111156200068057825182559160200191906001019062000663565b6200072191905b808211156200068e57600081556001016200070b565b90565b612b6380620007346000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80639cbdaeb611610151578063c6c9d828116100c3578063e73cced311610087578063e73cced3146106dc578063e90dd9e214610712578063eb1edd611461071a578063ec55688914610722578063f7ea7a3d1461072a578063ffff51d61461074757610274565b8063c6c9d82814610679578063d67bdd2514610696578063dbd06c851461069e578063dd62ed3e146106a6578063e3235c91146106d457610274565b8063ab49848c11610115578063ab49848c146105ce578063b014c3a31461060f578063b8225dec1461063b578063bc67f83214610643578063bd32aa4414610669578063c58aaae61461067157610274565b80639cbdaeb6146105405780639dc29fac146105485780639f76980714610574578063a461fc821461059a578063a9059cbb146105a257610274565b80633278c960116101ea57806379ba5097116101ae57806379ba5097146104ce578063867904b4146104d65780638da5cb5b1461050257806395d89b411461050a57806397107d6d146105125780639cb8a26a1461053857610274565b80633278c9601461044c5780633be99e6f1461045457806353a47bb71461047a578063631e14441461048257806370a08231146104a857610274565b806317c70de41161023c57806317c70de4146103a857806318160ddd146103c257806320714f88146103ca57806323b872dd146103f05780632e0f262514610426578063313ce5671461044457610274565b806304f3bcec1461027957806306fdde031461029d578063095ea7b31461031a578063131b0ae71461035a5780631627540c14610382575b600080fd5b61028161076d565b604080516001600160a01b039092168252519081900360200190f35b6102a5610781565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102df5781810151838201526020016102c7565b50505050905090810190601f16801561030c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103466004803603604081101561033057600080fd5b506001600160a01b03813516906020013561080f565b604080519115158252519081900360200190f35b6103806004803603602081101561037057600080fd5b50356001600160a01b03166108ab565b005b6103806004803603602081101561039857600080fd5b50356001600160a01b03166108d5565b6103b0610931565b60408051918252519081900360200190f35b6103b0610937565b610380600480360360208110156103e057600080fd5b50356001600160a01b031661093d565b6103466004803603606081101561040657600080fd5b506001600160a01b038135811691602081013590911690604001356109fc565b61042e610a23565b6040805160ff9092168252519081900360200190f35b61042e610a28565b610380610a31565b6103806004803603602081101561046a57600080fd5b50356001600160a01b0316610a73565b610281610ba9565b6103466004803603602081101561049857600080fd5b50356001600160a01b0316610bb8565b6103b0600480360360208110156104be57600080fd5b50356001600160a01b0316610ce1565b610380610d64565b610380600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610e20565b610281610edd565b6102a5610eec565b6103806004803603602081101561052857600080fd5b50356001600160a01b0316610f47565b610380610fa3565b6102816110b4565b6103806004803603604081101561055e57600080fd5b506001600160a01b0381351690602001356110c3565b6103806004803603602081101561058a57600080fd5b50356001600160a01b0316611181565b6103b06111b0565b610346600480360360408110156105b857600080fd5b506001600160a01b0381351690602001356111b7565b6105d661124f565b604051808261030080838360005b838110156105fc5781810151838201526020016105e4565b5050505090500191505060405180910390f35b6103466004803603604081101561062557600080fd5b506001600160a01b038135169060200135611299565b6103466113f0565b6103806004803603602081101561065957600080fd5b50356001600160a01b03166113f9565b610380611423565b610281611474565b6103b06004803603602081101561068f57600080fd5b5035611488565b6102816114a6565b6103b06114b5565b6103b0600480360360408110156106bc57600080fd5b506001600160a01b03813581169160200135166114bb565b6103b0611547565b610346600480360360608110156106f257600080fd5b506001600160a01b0381358116916020810135909116906040013561154c565b61028161169c565b6102816116ab565b6102816116c3565b6103806004803603602081101561074057600080fd5b50356116d2565b6103b06004803603602081101561075d57600080fd5b50356001600160a01b03166116df565b600b5461010090046001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108075780601f106107dc57610100808354040283529160200191610807565b820191906000526020600020905b8154815290600101906020018083116107ea57829003601f168201915b505050505081565b6000610819611822565b60065460075460408051633691826360e21b81526001600160a01b0393841660048201819052878516602483015260448201879052915191939092169163da46098c91606480830192600092919082900301818387803b15801561087c57600080fd5b505af1158015610890573d6000803e3d6000fd5b5050505061089f818585611879565b60019150505b92915050565b6108b36119b2565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6108dd6119b2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600a5481565b6109456119b2565b6001600160a01b0381166109a0576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6000610a06611822565b610a1084836119fb565b610a1b848484611b72565b949350505050565b601281565b600b5460ff1681565b610a396119b2565b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b610a7b6119b2565b600b8054610100600160a81b0319166101006001600160a01b0384160217905560005b600d54811015610ba5576000600d8281548110610ab757fe5b60009182526020918290200154600b546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506101009091046001600160a01b03169263dacb2d0192608480840193829003018186803b158015610b4557600080fd5b505afa158015610b59573d6000803e3d6000fd5b505050506040513d6020811015610b6f57600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610a9e565b5050565b6001546001600160a01b031681565b600b546000906001600160a01b038381166101009092041614610bdd57506000610cdc565b60005b600d54811015610cd6576000600d8281548110610bf957fe5b6000918252602080832090910154808352600c825260409283902054600b5484516321f8a72160e01b81526004810184905294519295506001600160a01b0391821694610100909104909116926321f8a72192602480840193829003018186803b158015610c6657600080fd5b505afa158015610c7a573d6000803e3d6000fd5b505050506040513d6020811015610c9057600080fd5b50516001600160a01b0316141580610cbd57506000818152600c60205260409020546001600160a01b0316155b15610ccd57600092505050610cdc565b50600101610be0565b50600190505b919050565b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610d3257600080fd5b505afa158015610d46573d6000803e3d6000fd5b505050506040513d6020811015610d5c57600080fd5b505192915050565b6001546001600160a01b03163314610dad5760405162461bcd60e51b8152600401808060200182810382526035815260200180612a026035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610e2a611d2f565b6001600160a01b0316336001600160a01b03161490506000610e4a611d7f565b6001600160a01b0316336001600160a01b03161490506000610e6a611dcc565b6001600160a01b0316336001600160a01b03161490508280610e895750815b80610e915750805b610ecc5760405162461bcd60e51b8152600401808060200182810382526033815260200180612a666033913960400191505060405180910390fd5b610ed68585611e0f565b5050505050565b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108075780601f106107dc57610100808354040283529160200191610807565b610f4f6119b2565b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b610fab6119b2565b60035460ff16611002576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea00600254011061105d576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6005546001600160a01b031681565b60006110cd611d2f565b6001600160a01b0316336001600160a01b031614905060006110ed611d7f565b6001600160a01b0316336001600160a01b0316149050600061110d611dcc565b6001600160a01b0316336001600160a01b0316149050828061112c5750815b806111345750805b61116f5760405162461bcd60e51b8152600401808060200182810382526033815260200180612a666033913960400191505060405180910390fd5b6111798585611f39565b505050505050565b611189612036565b600780546001600160a01b0319166001600160a01b0383161790556111ad816120e6565b50565b6224ea0081565b60006111c1611822565b6006546111d7906001600160a01b0316836119fb565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561120d576112068383612223565b90506108a5565b6001600160a01b03831661123157600654611206906001600160a01b031683611f39565b600654611248906001600160a01b03168484612385565b9392505050565b6112576129e2565b60005b600d5481101561129557600d818154811061127157fe5b906000526020600020015482826018811061128857fe5b602002015260010161125a565b5090565b60006112a3611822565b60006112ad611d7f565b600654600e54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b15801561130757600080fd5b505af115801561131b573d6000803e3d6000fd5b505050506040513d606081101561133157600080fd5b506040015190508281156113be57600754600654604080516370a0823160e01b81526001600160a01b039283166004820152905191909216916370a08231916024808301926020929190829003018186803b15801561138f57600080fd5b505afa1580156113a3573d6000803e3d6000fd5b505050506040513d60208110156113b957600080fd5b505190505b8084116113cb57836113cd565b805b6006549094506113e7906001600160a01b03168686612385565b95945050505050565b60035460ff1681565b6114016125b2565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b61142b6119b2565b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b600d818154811061149557fe5b600091825260209091200154905081565b6006546001600160a01b031681565b600e5481565b60075460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561151457600080fd5b505afa158015611528573d6000803e3d6000fd5b505050506040513d602081101561153e57600080fd5b50519392505050565b601881565b6000611556611822565b6000611560611d7f565b6001600160a01b0316631b16802c86600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b1580156115c157600080fd5b505af11580156115d5573d6000803e3d6000fd5b505050506040513d60608110156115eb57600080fd5b5060400151905082811561167557600754604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561164657600080fd5b505afa15801561165a573d6000803e3d6000fd5b505050506040513d602081101561167057600080fd5b505190505b808410156116835783611685565b805b9350611692868686611b72565b9695505050505050565b6007546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6004546001600160a01b031681565b6116da612036565b600a55565b6000806116ea611d7f565b6001600160a01b03166319d5c66584600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561174957600080fd5b505afa15801561175d573d6000803e3d6000fd5b505050506040513d606081101561177357600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b1580156117c857600080fd5b505afa1580156117dc573d6000803e3d6000fd5b505050506040513d60208110156117f257600080fd5b505190508082111561180957600092505050610cdc565b611819818363ffffffff61262616565b92505050610cdc565b6004546001600160a01b0316331480159061184857506005546001600160a01b03163314155b801561185f57506006546001600160a01b03163314155b1561187757600680546001600160a01b031916331790555b565b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612ac88239602101905060405180910390206118cc88612683565b6118d588612683565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561194457818101518382015260200161192c565b50505050905090810190601f1680156119715780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561199557600080fd5b505af11580156119a9573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146118775760405162461bcd60e51b815260040180806020018281038252602f815260200180612a99602f913960400191505060405180910390fd5b611a03611d7f565b6001600160a01b031663059c29ec83600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611a6257600080fd5b505afa158015611a76573d6000803e3d6000fd5b505050506040513d6020811015611a8c57600080fd5b505115611aca5760405162461bcd60e51b8152600401808060200182810382526025815260200180612ae96025913960400191505060405180910390fd5b80611ad4836116df565b1015611b115760405162461bcd60e51b815260040180806020018281038252602f815260200180612a37602f913960400191505060405180910390fd5b611b1961268f565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611b5e57600080fd5b505afa158015611179573d6000803e3d6000fd5b60075460065460408051636eb1769f60e11b81526001600160a01b0387811660048301529283166024820152905160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611bce57600080fd5b505afa158015611be2573d6000803e3d6000fd5b505050506040513d6020811015611bf857600080fd5b505114611d245760075460065460408051636eb1769f60e11b81526001600160a01b038881166004830152928316602482018190529151929093169263da46098c92889291611ca3918891879163dd62ed3e91604480820192602092909190829003018186803b158015611c6b57600080fd5b505afa158015611c7f573d6000803e3d6000fd5b505050506040513d6020811015611c9557600080fd5b50519063ffffffff61262616565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611d0b57600080fd5b505af1158015611d1f573d6000803e3d6000fd5b505050505b610a1b848484612385565b6000611d7a66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c20616464726573730000000000000000008152506126db565b905090565b6000611d7a6822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e6765722061646472657373000000000000008152506126db565b6000611d7a6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b8152506126db565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611ea591869186916370a0823191602480820192602092909190829003018186803b158015611e6d57600080fd5b505afa158015611e81573d6000803e3d6000fd5b505050506040513d6020811015611e9757600080fd5b50519063ffffffff61278516565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ef457600080fd5b505af1158015611f08573d6000803e3d6000fd5b5050600a54611f20925090508263ffffffff61278516565b600a55611f2f600083836127df565b610ba58282612832565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611f9991879186916370a08231916024808301926020929190829003018186803b158015611c6b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611fe857600080fd5b505af1158015611ffc573d6000803e3d6000fd5b5050600a54612014925090508363ffffffff61262616565b600a55612023836000846127df565b61202d8383612976565b50600192915050565b6004546001600160a01b0316331480159061205c57506005546001600160a01b03163314155b801561207357506006546001600160a01b03163314155b1561208b57600680546001600160a01b031916331790555b6000546006546001600160a01b03908116911614611877576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b60048054604080516001600160a01b038581166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c0988601988952865160c48701528651949097169763907dff979791959294919384938493839260e4909201918a0190808383885b838110156121be5781810151838201526020016121a6565b50505050905090810190601f1680156121eb5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561220f57600080fd5b505af1158015610ed6573d6000803e3d6000fd5b600080600e54631cd554d160e21b141561225757506006548290612251906001600160a01b03168583612385565b50612316565b61225f611d7f565b600654600e5460408051630a1e187d60e01b81526001600160a01b039384166004820152602481019290925260448201879052631cd554d160e21b606483015273feefeefeefeefeefeefeefeefeefeefeefeefeef6084830152519290911691630a1e187d9160a4808201926020929091908290030181600087803b1580156122e757600080fd5b505af11580156122fb573d6000803e3d6000fd5b505050506040513d602081101561231157600080fd5b505190505b61231e611d2f565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561236357600080fd5b505af1158015612377573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906123a857506001600160a01b0383163014155b80156123c257506004546001600160a01b03848116911614155b612413576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600754604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161247191879186916370a0823191602480820192602092909190829003018186803b158015611c6b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156124c057600080fd5b505af11580156124d4573d6000803e3d6000fd5b5050600754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161253691879186916370a0823191602480820192602092909190829003018186803b158015611e6d57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561258557600080fd5b505af1158015612599573d6000803e3d6000fd5b505050506125a88484846127df565b5060019392505050565b6004546001600160a01b03163314806125d557506005546001600160a01b031633145b611877576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b60008282111561267d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611d7a6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d5374617475732061646472657373000000008152505b6000828152600c60205260408120546001600160a01b0316828161277d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561274257818101518382015260200161272a565b50505050905090810190601f16801561276f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082820183811015611248576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612b0e8239602101905060405180910390206118cc88612683565b600454604080516020808201859052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff97919060029061289e87612683565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156129115781810151838201526020016128f9565b50505050905090810190601f16801561293e5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561296257600080fd5b505af1158015611179573d6000803e3d6000fd5b600454604080516020808201859052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff97919060029061289e87612683565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820af20aab32edbb32778c42eb22a85000f8c878d7c9d8b4a9ee35cb2421b1a5c7064736f6c63430005100032",
			"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": 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": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"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": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"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 AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"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": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"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": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			],
			"source": {
				"keccak256": "0x8da9e910f3b5084a5cd123a4ae91d1760daf39f835316ead2eb8b3e7b1a5e486",
				"urls": [
					"bzz-raw://3edededa993339f9ed6b1f7aecd3f04cbe5ae8e15d37019dc1326cb359a71127",
					"dweb:/ipfs/QmdY3BCrwacQrPtKQrQVxez4os2vhL765SCYjbVtBikojB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Synth.sol": "Synth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Synth.sol": {
						"keccak256": "0x8da9e910f3b5084a5cd123a4ae91d1760daf39f835316ead2eb8b3e7b1a5e486",
						"urls": [
							"bzz-raw://3edededa993339f9ed6b1f7aecd3f04cbe5ae8e15d37019dc1326cb359a71127",
							"dweb:/ipfs/QmdY3BCrwacQrPtKQrQVxez4os2vhL765SCYjbVtBikojB"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralSynth": {
			"bytecode": "6101006040526b53797374656d53746174757360a01b60809081526822bc31b430b733b2b960b91b60a0526524b9b9bab2b960d11b60c05266119959541bdbdb60ca1b60e0526200005590600f906004620007cb565b503480156200006357600080fd5b50604051620034de380380620034de83398181016040526101208110156200008a57600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000b657600080fd5b908301906020820185811115620000cc57600080fd5b8251640100000000811182820188101715620000e757600080fd5b82525081516020918201929091019080838360005b8381101562000116578181015183820152602001620000fc565b50505050905090810190601f168015620001445780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200016857600080fd5b9083019060208201858111156200017e57600080fd5b82516401000000008111828201881017156200019957600080fd5b82525081516020918201929091019080838360005b83811015620001c8578181015183820152602001620001ae565b50505050905090810190601f168015620001f65780820380516001836020036101000a031916815260200191505b5060408181526020830151838201516060850151608086015160a090960151610300860190945291965094509291899089908990899089908990899089908190600f60188282826020028201915b81548152602001906001019080831162000244575050505050898989898760128b868160006001600160a01b0316816001600160a01b03161415620002d0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166200037b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b031662000426576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600780546001600160a01b0319166001600160a01b0388161790558451620004a89060089060208801906200080e565b508351620004be9060099060208701906200080e565b5050600a91909155600b805460ff191660ff90921691909117905550506000546001600160a01b031615159150620005339050576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200059b5760008282601881106200054f57fe5b6020020151146200058c57600d8282601881106200056957fe5b602090810291909101518254600181018455600093845291909220015562000592565b6200059b565b60010162000536565b5050600b8054610100600160a81b0319166101006001600160a01b0393841602179055881662000607576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000658576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600e555050506027839055506200067c9050816001600160e01b036200068b16565b505050505050505050620008a0565b600d805460018101825560008290527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5018290555460181162000715576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600b60019054906101000a90046001600160a01b03166001600160a01b03166321f8a721826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200076f57600080fd5b505afa15801562000784573d6000803e3d6000fd5b505050506040513d60208110156200079b57600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b8260188101928215620007fc579160200282015b82811115620007fc578251825591602001919060010190620007df565b506200080a92915062000880565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200085157805160ff1916838001178555620007fc565b82800160010185558215620007fc5791820182811115620007fc578251825591602001919060010190620007df565b6200089d91905b808211156200080a576000815560010162000887565b90565b612c2e80620008b06000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c80639cbdaeb61161015c578063c6c9d828116100ce578063e90dd9e211610087578063e90dd9e21461071d578063eb1edd6114610725578063ec5568891461072d578063f7ea7a3d14610735578063fd92ae7714610752578063ffff51d61461075a5761027f565b8063c6c9d82814610684578063d67bdd25146106a1578063dbd06c85146106a9578063dd62ed3e146106b1578063e3235c91146106df578063e73cced3146106e75761027f565b8063ab49848c11610120578063ab49848c146105d9578063b014c3a31461061a578063b8225dec14610646578063bc67f8321461064e578063bd32aa4414610674578063c58aaae61461067c5761027f565b80639cbdaeb61461054b5780639dc29fac146105535780639f7698071461057f578063a461fc82146105a5578063a9059cbb146105ad5761027f565b80633278c960116101f557806379ba5097116101b957806379ba5097146104d9578063867904b4146104e15780638da5cb5b1461050d57806395d89b411461051557806397107d6d1461051d5780639cb8a26a146105435761027f565b80633278c960146104575780633be99e6f1461045f57806353a47bb714610485578063631e14441461048d57806370a08231146104b35761027f565b806317c70de41161024757806317c70de4146103b357806318160ddd146103cd57806320714f88146103d557806323b872dd146103fb5780632e0f262514610431578063313ce5671461044f5761027f565b806304f3bcec1461028457806306fdde03146102a8578063095ea7b314610325578063131b0ae7146103655780631627540c1461038d575b600080fd5b61028c610780565b604080516001600160a01b039092168252519081900360200190f35b6102b0610794565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ea5781810151838201526020016102d2565b50505050905090810190601f1680156103175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103516004803603604081101561033b57600080fd5b506001600160a01b038135169060200135610822565b604080519115158252519081900360200190f35b61038b6004803603602081101561037b57600080fd5b50356001600160a01b03166108be565b005b61038b600480360360208110156103a357600080fd5b50356001600160a01b03166108e8565b6103bb610944565b60408051918252519081900360200190f35b6103bb61094a565b61038b600480360360208110156103eb57600080fd5b50356001600160a01b0316610950565b6103516004803603606081101561041157600080fd5b506001600160a01b03813581169160208101359091169060400135610a0f565b610439610a36565b6040805160ff9092168252519081900360200190f35b610439610a3b565b61038b610a44565b61038b6004803603602081101561047557600080fd5b50356001600160a01b0316610a86565b61028c610bbc565b610351600480360360208110156104a357600080fd5b50356001600160a01b0316610bcb565b6103bb600480360360208110156104c957600080fd5b50356001600160a01b0316610cf4565b61038b610d77565b61038b600480360360408110156104f757600080fd5b506001600160a01b038135169060200135610e33565b61028c610f19565b6102b0610f28565b61038b6004803603602081101561053357600080fd5b50356001600160a01b0316610f83565b61038b610fdf565b61028c6110f0565b61038b6004803603604081101561056957600080fd5b506001600160a01b0381351690602001356110ff565b61038b6004803603602081101561059557600080fd5b50356001600160a01b03166111e6565b6103bb611215565b610351600480360360408110156105c357600080fd5b506001600160a01b03813516906020013561121c565b6105e16112b4565b604051808261030080838360005b838110156106075781810151838201526020016105ef565b5050505090500191505060405180910390f35b6103516004803603604081101561063057600080fd5b506001600160a01b0381351690602001356112fe565b610351611455565b61038b6004803603602081101561066457600080fd5b50356001600160a01b031661145e565b61038b611488565b61028c6114d9565b6103bb6004803603602081101561069a57600080fd5b50356114ed565b61028c61150b565b6103bb61151a565b6103bb600480360360408110156106c757600080fd5b506001600160a01b0381358116916020013516611520565b6103bb6115ac565b610351600480360360608110156106fd57600080fd5b506001600160a01b038135811691602081013590911690604001356115b1565b61028c611701565b61028c611710565b61028c611728565b61038b6004803603602081101561074b57600080fd5b5035611737565b6103bb611744565b6103bb6004803603602081101561077057600080fd5b50356001600160a01b031661174a565b600b5461010090046001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561081a5780601f106107ef5761010080835404028352916020019161081a565b820191906000526020600020905b8154815290600101906020018083116107fd57829003601f168201915b505050505081565b600061082c61188d565b60065460075460408051633691826360e21b81526001600160a01b0393841660048201819052878516602483015260448201879052915191939092169163da46098c91606480830192600092919082900301818387803b15801561088f57600080fd5b505af11580156108a3573d6000803e3d6000fd5b505050506108b28185856118e4565b60019150505b92915050565b6108c6611a14565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6108f0611a14565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600a5481565b610958611a14565b6001600160a01b0381166109b3576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b6000610a1961188d565b610a238483611a5d565b610a2e848484611bd4565b949350505050565b601281565b600b5460ff1681565b610a4c611a14565b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b610a8e611a14565b600b8054610100600160a81b0319166101006001600160a01b0384160217905560005b600d54811015610bb8576000600d8281548110610aca57fe5b60009182526020918290200154600b546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506101009091046001600160a01b03169263dacb2d0192608480840193829003018186803b158015610b5857600080fd5b505afa158015610b6c573d6000803e3d6000fd5b505050506040513d6020811015610b8257600080fd5b50516000918252600c602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610ab1565b5050565b6001546001600160a01b031681565b600b546000906001600160a01b038381166101009092041614610bf057506000610cef565b60005b600d54811015610ce9576000600d8281548110610c0c57fe5b6000918252602080832090910154808352600c825260409283902054600b5484516321f8a72160e01b81526004810184905294519295506001600160a01b0391821694610100909104909116926321f8a72192602480840193829003018186803b158015610c7957600080fd5b505afa158015610c8d573d6000803e3d6000fd5b505050506040513d6020811015610ca357600080fd5b50516001600160a01b0316141580610cd057506000818152600c60205260409020546001600160a01b0316155b15610ce057600092505050610cef565b50600101610bf3565b50600190505b919050565b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610d4557600080fd5b505afa158015610d59573d6000803e3d6000fd5b505050506040513d6020811015610d6f57600080fd5b505192915050565b6001546001600160a01b03163314610dc05760405162461bcd60e51b8152600401808060200182810382526035815260200180612a916035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610e3d611d91565b6001600160a01b0316336001600160a01b03161490506000610e5d611de1565b6001600160a01b0316336001600160a01b03161490506000610e7d611e2e565b6001600160a01b0316336001600160a01b03161490506000610e9d611e71565b6001600160a01b0316336001600160a01b03161490508380610ebc5750825b80610ec45750815b80610ecc5750805b610f075760405162461bcd60e51b8152600401808060200182810382526044815260200180612af56044913960600191505060405180910390fd5b610f118686611e97565b505050505050565b6000546001600160a01b031681565b6009805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561081a5780601f106107ef5761010080835404028352916020019161081a565b610f8b611a14565b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b610fe7611a14565b60035460ff1661103e576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110611099576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b6005546001600160a01b031681565b6000611109611d91565b6001600160a01b0316336001600160a01b03161490506000611129611de1565b6001600160a01b0316336001600160a01b03161490506000611149611e2e565b6001600160a01b0316336001600160a01b03161490506000611169611e71565b6001600160a01b0316336001600160a01b031614905083806111885750825b806111905750815b806111985750805b6111d35760405162461bcd60e51b8152600401808060200182810382526044815260200180612af56044913960600191505060405180910390fd5b6111dd8686611fc1565b50505050505050565b6111ee6120be565b600780546001600160a01b0319166001600160a01b0383161790556112128161216e565b50565b6224ea0081565b600061122661188d565b60065461123c906001600160a01b031683611a5d565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156112725761126b83836122b2565b90506108b8565b6001600160a01b0383166112965760065461126b906001600160a01b031683611fc1565b6006546112ad906001600160a01b03168484612414565b9392505050565b6112bc612a71565b60005b600d548110156112fa57600d81815481106112d657fe5b90600052602060002001548282601881106112ed57fe5b60200201526001016112bf565b5090565b600061130861188d565b6000611312611de1565b600654600e54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b15801561136c57600080fd5b505af1158015611380573d6000803e3d6000fd5b505050506040513d606081101561139657600080fd5b5060400151905082811561142357600754600654604080516370a0823160e01b81526001600160a01b039283166004820152905191909216916370a08231916024808301926020929190829003018186803b1580156113f457600080fd5b505afa158015611408573d6000803e3d6000fd5b505050506040513d602081101561141e57600080fd5b505190505b8084116114305783611432565b805b60065490945061144c906001600160a01b03168686612414565b95945050505050565b60035460ff1681565b611466612641565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b611490611a14565b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b600d81815481106114fa57fe5b600091825260209091200154905081565b6006546001600160a01b031681565b600e5481565b60075460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561157957600080fd5b505afa15801561158d573d6000803e3d6000fd5b505050506040513d60208110156115a357600080fd5b50519392505050565b601881565b60006115bb61188d565b60006115c5611de1565b6001600160a01b0316631b16802c86600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561162657600080fd5b505af115801561163a573d6000803e3d6000fd5b505050506040513d606081101561165057600080fd5b506040015190508281156116da57600754604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156116ab57600080fd5b505afa1580156116bf573d6000803e3d6000fd5b505050506040513d60208110156116d557600080fd5b505190505b808410156116e857836116ea565b805b93506116f7868686611bd4565b9695505050505050565b6007546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6004546001600160a01b031681565b61173f6120be565b600a55565b60275481565b600080611755611de1565b6001600160a01b03166319d5c66584600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b1580156117b457600080fd5b505afa1580156117c8573d6000803e3d6000fd5b505050506040513d60608110156117de57600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561183357600080fd5b505afa158015611847573d6000803e3d6000fd5b505050506040513d602081101561185d57600080fd5b505190508082111561187457600092505050610cef565b611884818363ffffffff6126b516565b92505050610cef565b6004546001600160a01b031633148015906118b357506005546001600160a01b03163314155b80156118ca57506006546001600160a01b03163314155b156118e257600680546001600160a01b031916331790555b565b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612b9382396021019050604051809103902061193788612712565b61194088612712565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156119af578181015183820152602001611997565b50505050905090810190601f1680156119dc5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611a0057600080fd5b505af11580156111dd573d6000803e3d6000fd5b6000546001600160a01b031633146118e25760405162461bcd60e51b815260040180806020018281038252602f815260200180612b64602f913960400191505060405180910390fd5b611a65611de1565b6001600160a01b031663059c29ec83600e546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611ac457600080fd5b505afa158015611ad8573d6000803e3d6000fd5b505050506040513d6020811015611aee57600080fd5b505115611b2c5760405162461bcd60e51b8152600401808060200182810382526025815260200180612bb46025913960400191505060405180910390fd5b80611b368361174a565b1015611b735760405162461bcd60e51b815260040180806020018281038252602f815260200180612ac6602f913960400191505060405180910390fd5b611b7b61271e565b6001600160a01b03166342a28e21600e546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611bc057600080fd5b505afa158015610f11573d6000803e3d6000fd5b60075460065460408051636eb1769f60e11b81526001600160a01b0387811660048301529283166024820152905160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611c3057600080fd5b505afa158015611c44573d6000803e3d6000fd5b505050506040513d6020811015611c5a57600080fd5b505114611d865760075460065460408051636eb1769f60e11b81526001600160a01b038881166004830152928316602482018190529151929093169263da46098c92889291611d05918891879163dd62ed3e91604480820192602092909190829003018186803b158015611ccd57600080fd5b505afa158015611ce1573d6000803e3d6000fd5b505050506040513d6020811015611cf757600080fd5b50519063ffffffff6126b516565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611d6d57600080fd5b505af1158015611d81573d6000803e3d6000fd5b505050505b610a2e848484612414565b6000611ddc66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c206164647265737300000000000000000081525061276a565b905090565b6000611ddc6822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e67657220616464726573730000000000000081525061276a565b6000611ddc6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b81525061276a565b6000611ddc6027546040518060600160405280602b8152602001612b39602b913961276a565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611f2d91869186916370a0823191602480820192602092909190829003018186803b158015611ef557600080fd5b505afa158015611f09573d6000803e3d6000fd5b505050506040513d6020811015611f1f57600080fd5b50519063ffffffff61281416565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611f7c57600080fd5b505af1158015611f90573d6000803e3d6000fd5b5050600a54611fa8925090508263ffffffff61281416565b600a55611fb76000838361286e565b610bb882826128c1565b600754604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f691869161202191879186916370a08231916024808301926020929190829003018186803b158015611ccd57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561207057600080fd5b505af1158015612084573d6000803e3d6000fd5b5050600a5461209c925090508363ffffffff6126b516565b600a556120ab8360008461286e565b6120b58383612a05565b50600192915050565b6004546001600160a01b031633148015906120e457506005546001600160a01b03163314155b80156120fb57506006546001600160a01b03163314155b1561211357600680546001600160a01b031916331790555b6000546006546001600160a01b039081169116146118e2576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b60048054604080516001600160a01b038581166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c0988601988952865160c48701528651949097169763907dff979791959294919384938493839260e4909201918a0190808383885b8381101561224657818101518382015260200161222e565b50505050905090810190601f1680156122735780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561229757600080fd5b505af11580156122ab573d6000803e3d6000fd5b5050505050565b600080600e54631cd554d160e21b14156122e6575060065482906122e0906001600160a01b03168583612414565b506123a5565b6122ee611de1565b600654600e5460408051630a1e187d60e01b81526001600160a01b039384166004820152602481019290925260448201879052631cd554d160e21b606483015273feefeefeefeefeefeefeefeefeefeefeefeefeef6084830152519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561237657600080fd5b505af115801561238a573d6000803e3d6000fd5b505050506040513d60208110156123a057600080fd5b505190505b6123ad611d91565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156123f257600080fd5b505af1158015612406573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061243757506001600160a01b0383163014155b801561245157506004546001600160a01b03848116911614155b6124a2576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600754604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161250091879186916370a0823191602480820192602092909190829003018186803b158015611ccd57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561254f57600080fd5b505af1158015612563573d6000803e3d6000fd5b5050600754604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916125c591879186916370a0823191602480820192602092909190829003018186803b158015611ef557600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561261457600080fd5b505af1158015612628573d6000803e3d6000fd5b5050505061263784848461286e565b5060019392505050565b6004546001600160a01b031633148061266457506005546001600160a01b031633145b6118e2576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b60008282111561270c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611ddc6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d5374617475732061646472657373000000008152505b6000828152600c60205260408120546001600160a01b0316828161280c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127d15781810151838201526020016127b9565b50505050905090810190601f1680156127fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b6000828201838110156112ad576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60045460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612bd982396021019050604051809103902061193788612712565b600454604080516020808201859052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff97919060029061292d87612712565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156129a0578181015183820152602001612988565b50505050905090810190601f1680156129cd5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156129f157600080fd5b505af1158015610f11573d6000803e3d6000fd5b600454604080516020808201859052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169163907dff97919060029061292d87612712565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e6765722c20497373756572206f72204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c6f7765645265736f6c766572206973206d697373696e67206d756c7469436f6c6c61746572616c20616464726573734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820c9322ce1e41974476ab6d503417713b542b12b21e2e633b5cbd8a979e49c8fd764736f6c63430005100032",
			"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"
						},
						{
							"internalType": "bytes32",
							"name": "_multiCollateralKey",
							"type": "bytes32"
						}
					],
					"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": 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": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"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": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": "multiCollateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd92ae77"
				},
				{
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"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 AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"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": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"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": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			],
			"source": {
				"keccak256": "0x153f392299fac48cc06ca86dd544a0d67fb9056f588e0f63609461d457787804",
				"urls": [
					"bzz-raw://d38a3f9676784f34f8bb736db0916eda86808837f13305ef0b402f585f01dc1f",
					"dweb:/ipfs/Qma9SWM9xNiBUJADN1JLVEkJSJpKFdm3zcddhxC5wSStao"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiCollateralSynth.sol": "MultiCollateralSynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MultiCollateralSynth.sol": {
						"keccak256": "0x153f392299fac48cc06ca86dd544a0d67fb9056f588e0f63609461d457787804",
						"urls": [
							"bzz-raw://d38a3f9676784f34f8bb736db0916eda86808837f13305ef0b402f585f01dc1f",
							"dweb:/ipfs/Qma9SWM9xNiBUJADN1JLVEkJSJpKFdm3zcddhxC5wSStao"
						]
					}
				},
				"version": 1
			}
		},
		"Depot": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051603202600f5560408051630241ebdb60e61b8152905173__$5b1a0139898c1861867d128118276f8f0f$__9163907af6c0916004808301926020929190829003018186803b158015620000c557600080fd5b505af4158015620000da573d6000803e3d6000fd5b505050506040513d6020811015620000f157600080fd5b50516101f402601055604080516060810182526814de5b9d1a1cd554d160ba1b81526c45786368616e6765526174657360981b6020820152680a6f2dce8d0cae8d2f60bb1b918101919091526200014d90601290600362000473565b503480156200015b57600080fd5b5060405162003a0e38038062003a0e833981810160405260608110156200018157600080fd5b5080516020820151604092830151835161030081019485905292939192909182919060129060189082845b815481526020019060010190808311620001ac57508893505050506001600160a01b03811662000223576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002ce576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005460038054610100600160a81b0319166101006001600160a01b0390931692830217905560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53916020908290030190a16000546001600160a01b031662000379576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60016006556000546001600160a01b0316620003d0576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b601881101562000438576000828260188110620003ec57fe5b602002015114620004295760098282601881106200040657fe5b60209081029190910151825460018101845560009384529190922001556200042f565b62000438565b600101620003d3565b5050600780546001600160a01b039283166001600160a01b031991821617909155600a80549490921693169290921790915550620004d69050565b8260188101928215620004a4579160200282015b82811115620004a457825182559160200191906001019062000487565b50620004b2929150620004b6565b5090565b620004d391905b80821115620004b25760008155600101620004bd565b90565b61352880620004e66000396000f3fe6080604052600436106102675760003560e01c806391b4ded911610144578063bb7df172116100b6578063c8d889f21161007a578063c8d889f2146108f3578063dc8fa6c21461091d578063e3235c9114610947578063e6d76a761461095c578063f852d39314610986578063fd12167f146109b057610267565b8063bb7df17214610842578063bd32aa441461086c578063c58aaae614610881578063c6abb7c714610896578063c6c9d828146108c957610267565b8063aab483d611610108578063aab483d614610723578063ab49848c1461074d578063b02c43d01461079b578063b0c2cb96146107e8578063b1338cc414610818578063b8225dec1461082d57610267565b806391b4ded9146106975780639342c0eb146106ac5780639cb8a26a146106cf578063a3d8829b146106e4578063a461fc821461070e57610267565b80633278c960116101dd578063631e1444116101a1578063631e1444146105dd57806364e39b87146106105780636d5ab4a91461064357806379ba50971461065857806381b797dc1461066d5780638da5cb5b1461068257610267565b80633278c960146105425780633be99e6f146105575780634d0387fb1461058a57806353a47bb71461059f5780635c975abb146105b457610267565b80631627540c1161022f5780631627540c1461047c57806316c38b3c146104b157806317c70de4146104dd5780631f930115146104f257806320714f88146104fa5780632194f3a21461052d57610267565b806302279438146103d557806304f3bcec146103ef578063080c279a146104205780630c928bc2146104355780630c928f0514610452575b60068054600101908190556208aa8960eb1b6102816109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102c457600080fd5b505afa1580156102d8573d6000803e3d6000fd5b505050506040513d60208110156102ee57600080fd5b505115610330576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b60055460ff16156103725760405162461bcd60e51b815260040180806020018281038252603c815260200180613493603c913960400191505060405180910390fd5b61037a610a1b565b505060065481146103d2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50005b6103dd61120b565b60408051918252519081900360200190f35b3480156103fb57600080fd5b506104046113da565b604080516001600160a01b039092168252519081900360200190f35b34801561042c57600080fd5b506103dd6113e9565b6103dd6004803603602081101561044b57600080fd5b50356113ef565b34801561045e57600080fd5b506103dd6004803603602081101561047557600080fd5b50356115ba565b34801561048857600080fd5b506104af6004803603602081101561049f57600080fd5b50356001600160a01b0316611651565b005b3480156104bd57600080fd5b506104af600480360360208110156104d457600080fd5b503515156116ad565b3480156104e957600080fd5b506103dd611727565b6103dd61172d565b34801561050657600080fd5b506104af6004803603602081101561051d57600080fd5b50356001600160a01b03166118a0565b34801561053957600080fd5b5061040461195f565b34801561054e57600080fd5b506104af61196e565b34801561056357600080fd5b506104af6004803603602081101561057a57600080fd5b50356001600160a01b03166119b0565b34801561059657600080fd5b506103dd611add565b3480156105ab57600080fd5b50610404611ae3565b3480156105c057600080fd5b506105c9611af2565b604080519115158252519081900360200190f35b3480156105e957600080fd5b506105c96004803603602081101561060057600080fd5b50356001600160a01b0316611afb565b34801561061c57600080fd5b506104af6004803603602081101561063357600080fd5b50356001600160a01b0316611c16565b34801561064f57600080fd5b506103dd611c78565b34801561066457600080fd5b506104af611c7e565b34801561067957600080fd5b506104af611d3a565b34801561068e57600080fd5b50610404611f74565b3480156106a357600080fd5b506103dd611f83565b6103dd600480360360408110156106c257600080fd5b5080359060200135611f89565b3480156106db57600080fd5b506104af6122ce565b3480156106f057600080fd5b506103dd6004803603602081101561070757600080fd5b50356123df565b34801561071a57600080fd5b506103dd61246e565b34801561072f57600080fd5b506104af6004803603602081101561074657600080fd5b5035612475565b34801561075957600080fd5b50610762612565565b604051808261030080838360005b83811015610788578181015183820152602001610770565b5050505090500191505060405180910390f35b3480156107a757600080fd5b506107c5600480360360208110156107be57600080fd5b50356125ab565b604080516001600160a01b03909316835260208301919091528051918290030190f35b3480156107f457600080fd5b506103dd6004803603604081101561080b57600080fd5b50803590602001356125d0565b34801561082457600080fd5b506103dd61279d565b34801561083957600080fd5b506105c96127a3565b34801561084e57600080fd5b506104af6004803603602081101561086557600080fd5b50356127ac565b34801561087857600080fd5b506104af6127ef565b34801561088d57600080fd5b50610404612840565b3480156108a257600080fd5b506103dd600480360360208110156108b957600080fd5b50356001600160a01b0316612854565b3480156108d557600080fd5b506103dd600480360360208110156108ec57600080fd5b5035612866565b3480156108ff57600080fd5b506103dd6004803603602081101561091657600080fd5b5035612884565b34801561092957600080fd5b506104af6004803603602081101561094057600080fd5b503561291f565b34801561095357600080fd5b506103dd612ae3565b34801561096857600080fd5b506104af6004803603602081101561097f57600080fd5b5035612ae8565b34801561099257600080fd5b506103dd600480360360208110156109a957600080fd5b5035612b80565b3480156109bc57600080fd5b506103dd612c8b565b6000610a166c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612c91565b905090565b6000601054341115610a5e5760405162461bcd60e51b815260040180806020018281038252602581526020018061341e6025913960400191505060405180910390fd5b600080610aee610a6c6109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ab557600080fd5b505afa158015610ac9573d6000803e3d6000fd5b505050506040513d6020811015610adf57600080fd5b5051349063ffffffff612d3d16565b600c5490915081905b600082118015610b085750600d5481105b156110b657610b156132e7565b506000818152600b6020908152604091829020825180840190935280546001600160a01b031680845260019091015491830191909152610b6b57600c54610b6390600163ffffffff612d6716565b600c556110ad565b8281602001511115610e0f576020810151600090610b8f908563ffffffff612dc116565b60408051808201825284516001600160a01b03908116825260208083018581526000898152600b909252939020915182546001600160a01b03191691161781559051600190910155600e54909150610be79085612dc1565b600e55610c77610bf56109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c3e57600080fd5b505afa158015610c52573d6000803e3d6000fd5b505050506040513d6020811015610c6857600080fd5b5051859063ffffffff612e1e16565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f19350505050610d2557600a546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610cde573d6000803e3d6000fd5b5081516040805188815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610d71565b81516040805188815260208101879052815186936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610d79612e48565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610dd857600080fd5b505af1158015610dec573d6000803e3d6000fd5b505050506040513d6020811015610e0257600080fd5b50600094506110ad915050565b828160200151116110ad576000828152600b6020526040812080546001600160a01b0319168155600190810191909155600c54610e519163ffffffff612d6716565b600c556020810151600e54610e6b9163ffffffff612dc116565b600e55610eff610e796109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ec257600080fd5b505afa158015610ed6573d6000803e3d6000fd5b505050506040513d6020811015610eec57600080fd5b505160208301519063ffffffff612e1e16565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610fad57600a546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610f66573d6000803e3d6000fd5b5080516040805187815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610ffd565b80516020808301516040805189815292830191909152805185936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b611005612e48565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561106857600080fd5b505af115801561107c573d6000803e3d6000fd5b505050506040513d602081101561109257600080fd5b505060208101516110aa90849063ffffffff612dc116565b92505b50600101610af7565b50801561117857336108fc61114e6110cc6109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561111557600080fd5b505afa158015611129573d6000803e3d6000fd5b505050506040513d602081101561113f57600080fd5b5051849063ffffffff612e1e16565b6040518115909202916000818181858888f19350505050158015611176573d6000803e3d6000fd5b505b600061118a838363ffffffff612dc116565b9050801561120357604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152631cd554d160e21b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b935050505090565b6000620a69cb60eb1b61121c6109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561125f57600080fd5b505afa158015611273573d6000803e3d6000fd5b505050506040513d602081101561128957600080fd5b5051156112cb576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b6208aa8960eb1b6112da6109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561131d57600080fd5b505afa158015611331573d6000803e3d6000fd5b505050506040513d602081101561134757600080fd5b505115611389576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b60055460ff16156113cb5760405162461bcd60e51b815260040180806020018281038252603c815260200180613493603c913960400191505060405180910390fd5b6113d3612e95565b9250505090565b6007546001600160a01b031681565b600f5481565b60006208aa8960eb1b6114006109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561144357600080fd5b505afa158015611457573d6000803e3d6000fd5b505050506040513d602081101561146d57600080fd5b5051156114af576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b60055460ff16156114f15760405162461bcd60e51b815260040180806020018281038252603c815260200180613493603c913960400191505060405180910390fd5b6114f96109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561154257600080fd5b505afa158015611556573d6000803e3d6000fd5b505050506040513d602081101561156c57600080fd5b505183146115ab5760405162461bcd60e51b81526004018080602001828103825260258152602001806134cf6025913960400191505060405180910390fd5b6115b3610a1b565b9392505050565b60006116496115c76109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561161057600080fd5b505afa158015611624573d6000803e3d6000fd5b505050506040513d602081101561163a57600080fd5b5051839063ffffffff612d3d16565b90505b919050565b611659612fe2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6116b5612fe2565b60055460ff16151581151514156116cb57611724565b6005805460ff1916821515179081905560ff16156116e857426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60025481565b60068054600101908190556000906208aa8960eb1b61174a6109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561178d57600080fd5b505afa1580156117a1573d6000803e3d6000fd5b505050506040513d60208110156117b757600080fd5b5051156117f9576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b60055460ff161561183b5760405162461bcd60e51b815260040180806020018281038252603c815260200180613493603c913960400191505060405180910390fd5b611843610a1b565b925050600654811461189c576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6118a8612fe2565b6001600160a01b038116611903576040805162461bcd60e51b815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600a546001600160a01b031681565b611976612fe2565b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b6119b8612fe2565b600780546001600160a01b0319166001600160a01b03831617905560005b600954811015611ad9576000600982815481106119ef57fe5b600091825260209182902001546007546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015611a7957600080fd5b505afa158015611a8d573d6000803e3d6000fd5b505050506040513d6020811015611aa357600080fd5b505160009182526008602052604090912080546001600160a01b0319166001600160a01b039092169190911790556001016119d6565b5050565b600e5481565b6001546001600160a01b031681565b60055460ff1681565b6007546000906001600160a01b03838116911614611b1b5750600061164c565b60005b600954811015611c0d57600060098281548110611b3757fe5b6000918252602080832090910154808352600882526040928390205460075484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015611b9d57600080fd5b505afa158015611bb1573d6000803e3d6000fd5b505050506040513d6020811015611bc757600080fd5b50516001600160a01b0316141580611bf457506000818152600860205260409020546001600160a01b0316155b15611c045760009250505061164c565b50600101611b1e565b50600192915050565b611c1e612fe2565b600a80546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b600c5481565b6001546001600160a01b03163314611cc75760405162461bcd60e51b81526004018080602001828103825260358152602001806133496035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600c546000905b600d54811015611e1d57611d536132e7565b506000818152600b6020908152604091829020825180840190935280546001600160a01b031680845260019091015491830191909152331415611e14576020810151611da690849063ffffffff612d6716565b6000838152600b6020908152604080832080546001600160a01b0319168155600101929092558351848201518351908152925193965085936001600160a01b03909116927f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f7292908290030190a35b50600101611d41565b50600e54611e31908263ffffffff612dc116565b600e5533600090815260116020526040902054611e5590829063ffffffff612d6716565b33600090815260116020526040812055905080611ea35760405162461bcd60e51b81526004018080602001828103825260218152602001806133ad6021913960400191505060405180910390fd5b611eab612e48565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611f0a57600080fd5b505af1158015611f1e573d6000803e3d6000fd5b505050506040513d6020811015611f3457600080fd5b5050604080513381526020810183905281517faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b929181900390910190a150565b6000546001600160a01b031681565b60045481565b6000620a69cb60eb1b611f9a6109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fdd57600080fd5b505afa158015611ff1573d6000803e3d6000fd5b505050506040513d602081101561200757600080fd5b505115612049576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b6208aa8960eb1b6120586109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561209b57600080fd5b505afa1580156120af573d6000803e3d6000fd5b505050506040513d60208110156120c557600080fd5b505115612107576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b60055460ff16156121495760405162461bcd60e51b815260040180806020018281038252603c815260200180613493603c913960400191505060405180910390fd5b6121516109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561219a57600080fd5b505afa1580156121ae573d6000803e3d6000fd5b505050506040513d60208110156121c457600080fd5b505185146122035760405162461bcd60e51b815260040180806020018281038252602b81526020018061331e602b913960400191505060405180910390fd5b61220b6109c5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561225457600080fd5b505afa158015612268573d6000803e3d6000fd5b505050506040513d602081101561227e57600080fd5b505184146122bd5760405162461bcd60e51b815260040180806020018281038252602f81526020018061337e602f913960400191505060405180910390fd5b6122c5612e95565b95945050505050565b6122d6612fe2565b60035460ff1661232d576040805162461bcd60e51b815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea006002540110612388576040805162461bcd60e51b815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b600354604080516101009092046001600160a01b03168252517f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7916020908290030190a160035461010090046001600160a01b0316ff5b60006116496123ec6109c5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561243557600080fd5b505afa158015612449573d6000803e3d6000fd5b505050506040513d602081101561245f57600080fd5b5051839063ffffffff612e1e16565b6224ea0081565b61247d612fe2565b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156124c157600080fd5b505af41580156124d5573d6000803e3d6000fd5b505050506040513d60208110156124eb57600080fd5b5051811161252a5760405162461bcd60e51b81526004018080602001828103825260308152602001806134636030913960400191505060405180910390fd5b600f8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b61256d6132fe565b60005b60095481101561189c576009818154811061258757fe5b906000526020600020015482826018811061259e57fe5b6020020152600101612570565b600b60205260009081526040902080546001909101546001600160a01b039091169082565b6000620a69cb60eb1b6125e16109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561262457600080fd5b505afa158015612638573d6000803e3d6000fd5b505050506040513d602081101561264e57600080fd5b505115612690576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b60055460ff16156126d25760405162461bcd60e51b815260040180806020018281038252603c815260200180613493603c913960400191505060405180910390fd5b6126da6109c5565b6001600160a01b031663ac82f608620a69cb60eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561272357600080fd5b505afa158015612737573d6000803e3d6000fd5b505050506040513d602081101561274d57600080fd5b5051831461278c5760405162461bcd60e51b81526004018080602001828103825260258152602001806134cf6025913960400191505060405180910390fd5b6127958461302d565b949350505050565b60105481565b60035460ff1681565b6127b4612fe2565b60108190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b6127f7612fe2565b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b60035461010090046001600160a01b031681565b60116020526000908152604090205481565b6009818154811061287357fe5b600091825260209091200154905081565b6000806129146128926109c5565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156128db57600080fd5b505afa1580156128ef573d6000803e3d6000fd5b505050506040513d602081101561290557600080fd5b5051849063ffffffff612d3d16565b90506115b3816123df565b612927612e48565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561297f57600080fd5b505af1158015612993573d6000803e3d6000fd5b505050506040513d60208110156129a957600080fd5b5050600f54811015612a3257336000908152601160205260409020546129d5908263ffffffff612d6716565b3360008181526011602090815260409182902093909355600f5481519283529282018490528181019290925290517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd29181900360600190a1611724565b604080518082018252338082526020808301858152600d80546000908152600b8452869020945185546001600160a01b0319166001600160a01b039091161785559051600190940193909355915483518581529351909391927fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4928290030190a3600d54612ac790600163ffffffff612d6716565b600d55600e54612add908263ffffffff612d6716565b600e5550565b601881565b612af0612fe2565b612af86131d7565b600080546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b158015612b5157600080fd5b505af1158015612b65573d6000803e3d6000fd5b505050506040513d6020811015612b7b57600080fd5b505050565b6000620a69cb60eb1b612b916109c5565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612bd457600080fd5b505afa158015612be8573d6000803e3d6000fd5b505050506040513d6020811015612bfe57600080fd5b505115612c40576040805162461bcd60e51b815260206004820152601b6024820152600080516020613443833981519152604482015290519081900360640190fd5b60055460ff1615612c825760405162461bcd60e51b815260040180806020018281038252603c815260200180613493603c913960400191505060405180910390fd5b6115b38361302d565b600d5481565b6000828152600860205260408120546001600160a01b03168281612d335760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cf8578181015183820152602001612ce0565b50505050905090810190601f168015612d255780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5090505b92915050565b6000670de0b6b3a7640000612d58848463ffffffff61322416565b81612d5f57fe5b049392505050565b6000828201838110156115b3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115612e18576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006115b382612e3c85670de0b6b3a764000063ffffffff61322416565b9063ffffffff61327d16565b6000610a166814de5b9d1a1cd554d160ba1b6040518060400160405280601981526020017f4d697373696e672053796e746873555344206164647265737300000000000000815250612c91565b600080612ea134612884565b600a546040519192506001600160a01b0316903480156108fc02916000818181858888f19350505050158015612edb573d6000803e3d6000fd5b50612ee46131d7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612f4357600080fd5b505af1158015612f57573d6000803e3d6000fd5b505050506040513d6020811015612f6d57600080fd5b50506040805134602082015260608101839052608080825260039082018190526208aa8960eb1b60a083015260c0828401819052820152620a69cb60eb1b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1905090565b6000546001600160a01b0316331461302b5760405162461bcd60e51b815260040180806020018281038252602f8152602001806133ce602f913960400191505060405180910390fd5b565b600080613039836123df565b9050613043612e48565b600a54604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905192909116916323b872dd916064808201926020929091908290030181600087803b1580156130a057600080fd5b505af11580156130b4573d6000803e3d6000fd5b505050506040513d60208110156130ca57600080fd5b506130d590506131d7565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561313457600080fd5b505af1158015613148573d6000803e3d6000fd5b505050506040513d602081101561315e57600080fd5b50506040805160208101859052606081018390526080808252600490820152631cd554d160e21b60a082015260c0818301819052600390820152620a69cb60eb1b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a192915050565b6000610a16680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250612c91565b60008261323357506000612d37565b8282028284828161324057fe5b04146115b35760405162461bcd60e51b81526004018080602001828103825260218152602001806133fd6021913960400191505060405180910390fd5b60008082116132d3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816132de57fe5b04949350505050565b604080518082019091526000808252602082015290565b604051806103000160405280601890602082028038833950919291505056fe47756172616e74656564206574686572207261746520776f756c64206e6f74206265207265636569766564596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697047756172616e746565642073796e746865746978207261746520776f756c64206e6f74206265207265636569766564596f752068617665206e6f206465706f7369747320746f2077697468647261772e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745544820616d6f756e742061626f7665206d61784574685075726368617365206c696d69745261746520696e76616c6964206f72206e6f7420612073796e746800000000004d696e696d756d206465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20554e49545468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656447756172616e74656564207261746520776f756c64206e6f74206265207265636569766564a265627a7a72315820ec06a1cfb2bd9678c93347ece5437e2186bcfda52b922991c3faa4e4e1b8462a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "fromAddress",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromETHAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "ClearedDeposit",
					"type": "event",
					"signature": "0x6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "string",
							"name": "fromCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "string",
							"name": "toCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "Exchange",
					"type": "event",
					"signature": "0xdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFundsWallet",
							"type": "address"
						}
					],
					"name": "FundsWalletUpdated",
					"type": "event",
					"signature": "0x4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MaxEthPurchaseUpdated",
					"type": "event",
					"signature": "0xdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c8243"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MinimumDepositAmountUpdated",
					"type": "event",
					"signature": "0xa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc54267"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "receiver",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "NonPayableContract",
					"type": "event",
					"signature": "0xf2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c"
				},
				{
					"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": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "SynthDeposit",
					"type": "event",
					"signature": "0xd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimum",
							"type": "uint256"
						}
					],
					"name": "SynthDepositNotAccepted",
					"type": "event",
					"signature": "0xbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "SynthDepositRemoved",
					"type": "event",
					"signature": "0x3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f72"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "SynthWithdrawal",
					"type": "event",
					"signature": "0xaf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositEndIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd12167f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositStartIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6d5ab4a9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdc8fa6c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "deposits",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "user",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb02c43d0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForSNX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x02279438"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedEtherRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedSynthetixRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForSNXAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x9342c0eb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x1f930115"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForSynthsAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x0c928bc2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "synthAmount",
							"type": "uint256"
						}
					],
					"name": "exchangeSynthsForSNX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf852d393"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "synthAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeSynthsForSNXAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb0c2cb96"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundsWallet",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2194f3a2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEthPurchase",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb1338cc4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumDepositAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x080c279a"
				},
				{
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						}
					],
					"name": "setFundsWallet",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x64e39b87"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEthPurchase",
							"type": "uint256"
						}
					],
					"name": "setMaxEthPurchase",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb7df172"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setMinimumDepositAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaab483d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "smallDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6abb7c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "synthetixReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8d889f2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "synthetixReceivedForSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa3d8829b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "synthsReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c928f05"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSellableDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d0387fb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "withdrawMyDepositedSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x81b797dc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawSynthetix",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6d76a76"
				}
			],
			"source": {
				"keccak256": "0x2ad3aa970cf5f057acc31adc0073d88a28269220aa7a81b9b00da2db0e39003a",
				"urls": [
					"bzz-raw://e21bdea4ca0e04ec7b1a26a01787e68a553d79650de26581c7a55a6d6fd1cc71",
					"dweb:/ipfs/QmYMQeQ8rdQ8ARhJDmZjfCJH6U3qJErFYaQ8rMaKRSnCdE"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Depot.sol": "Depot"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Depot.sol": {
						"keccak256": "0x2ad3aa970cf5f057acc31adc0073d88a28269220aa7a81b9b00da2db0e39003a",
						"urls": [
							"bzz-raw://e21bdea4ca0e04ec7b1a26a01787e68a553d79650de26581c7a55a6d6fd1cc71",
							"dweb:/ipfs/QmYMQeQ8rdQ8ARhJDmZjfCJH6U3qJErFYaQ8rMaKRSnCdE"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateral": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$09231a05ed34b6851f1018822ecfa0dcb8$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051607d0260085560408051630241ebdb60e61b8152905160649173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600955620001266301e133806009546200059360201b620020d41790919060201c565b600a556103e873__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600b5573__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b505161138802600c5560408051630241ebdb60e61b8152905173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c0916004808301926020929190829003018186803b1580156200027457600080fd5b505af415801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b5051600d556032600e55600f805460ff191690556040805160a0810182526b53797374656d53746174757360a01b8152680a6f2dce8d0e68aa8960bb1b60208201526814de5b9d1a1cd554d160ba1b918101919091526411195c1bdd60da1b60608201526c45786368616e6765526174657360981b60808201526200032a906016906005620005ff565b503480156200033857600080fd5b50604051620035a9380380620035a9833981810160405260408110156200035e57600080fd5b50805160209091015160408051610300810191829052829160169060189082845b8154815260200190600101908083116200037f57508793505050506001600160a01b038116620003f6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620004a1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60016004556000546001600160a01b0316620004f8576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620005605760008282601881106200051457fe5b602002015114620005515760078282601881106200052e57fe5b602090810291909101518254600181018455600093845291909220015562000557565b62000560565b600101620004fb565b5050600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a000160105562000662565b6000808211620005ea576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620005f657fe5b04949350505050565b826018810192821562000630579160200282015b828111156200063057825182559160200191906001019062000613565b506200063e92915062000642565b5090565b6200065f91905b808211156200063e576000815560010162000649565b90565b612f3780620006726000396000f3fe6080604052600436106102885760003560e01c80638c4638691161015a578063c6c9d828116100c1578063e3c1e58c1161007a578063e3c1e58c146109f8578063e40108ed14610a0d578063e5829d2014610a22578063ee5f3f5c14610a4c578063eea8f5da14610a61578063f53dfb8414610a7657610288565b8063c6c9d8281461092c578063cf09b4ae14610956578063d05951a01461096b578063dcaf9c4414610995578063e220a811146109aa578063e3235c91146109e357610288565b8063a2e1734211610113578063a2e17342146107cd578063a76cdfa5146107fd578063aa754a2a14610827578063ab49848c1461089d578063b410a034146108eb578063bb8c6d6c1461090057610288565b80638c463869146106a75780638da5cb5b146106e05780638fdc8f3b146106f557806391b4ded91461071f5780639f7d568814610734578063a1c515861461074957610288565b80634f069f66116101fe578063631e1444116101b7578063631e14441461058d5780636b231938146105c057806379ba5097146105c85780637c3a00fd146105dd5780637cc1f867146105f257806389c937de1461066e57610288565b80634f069f66146104a757806350e3b2e7146104d157806353a47bb7146104fb5780635c975abb146105105780635d1a2229146105395780635f84f3021461056357610288565b806323aa7f0f1161025057806323aa7f0f1461037957806327cff2e51461038e5780632f2bf15b146103c7578063361e20861461044a5780633be99e6f1461045f5780634189bb491461049257610288565b806304f3bcec1461028d578063089f7fb4146102be5780631474b279146103035780631627540c1461031857806316c38b3c1461034d575b600080fd5b34801561029957600080fd5b506102a2610aa0565b604080516001600160a01b039092168252519081900360200190f35b3480156102ca57600080fd5b506102f1600480360360208110156102e157600080fd5b50356001600160a01b0316610aaf565b60408051918252519081900360200190f35b34801561030f57600080fd5b506102f1610ac1565b34801561032457600080fd5b5061034b6004803603602081101561033b57600080fd5b50356001600160a01b0316610ac7565b005b34801561035957600080fd5b5061034b6004803603602081101561037057600080fd5b50351515610b23565b34801561038557600080fd5b506102f1610b9d565b34801561039a57600080fd5b506102f1600480360360408110156103b157600080fd5b506001600160a01b038135169060200135610ba3565b3480156103d357600080fd5b506103fa600480360360208110156103ea57600080fd5b50356001600160a01b0316610bcc565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043657818101518382015260200161041e565b505050509050019250505060405180910390f35b34801561045657600080fd5b506102f1610d8c565b34801561046b57600080fd5b5061034b6004803603602081101561048257600080fd5b50356001600160a01b0316610d92565b34801561049e57600080fd5b506102f1610ebf565b3480156104b357600080fd5b5061034b600480360360208110156104ca57600080fd5b5035610ec5565b3480156104dd57600080fd5b5061034b600480360360208110156104f457600080fd5b5035610f08565b34801561050757600080fd5b506102a2610f4b565b34801561051c57600080fd5b50610525610f5a565b604080519115158252519081900360200190f35b34801561054557600080fd5b5061034b6004803603602081101561055c57600080fd5b5035610f63565b34801561056f57600080fd5b5061034b6004803603602081101561058657600080fd5b5035610fe8565b34801561059957600080fd5b50610525600480360360208110156105b057600080fd5b50356001600160a01b0316611134565b6102f161124f565b3480156105d457600080fd5b5061034b6116e5565b3480156105e957600080fd5b506102f16117a1565b3480156105fe57600080fd5b506106076117a7565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561067a57600080fd5b506102f16004803603604081101561069157600080fd5b506001600160a01b038135169060200135611812565b3480156106b357600080fd5b506102f1600480360360408110156106ca57600080fd5b506001600160a01b03813516906020013561184c565b3480156106ec57600080fd5b506102a261186b565b34801561070157600080fd5b506102f16004803603602081101561071857600080fd5b503561187a565b34801561072b57600080fd5b506102f1611894565b34801561074057600080fd5b506102f161189a565b34801561075557600080fd5b506107826004803603604081101561076c57600080fd5b506001600160a01b0381351690602001356118a0565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156107d957600080fd5b506102f1600480360360408110156107f057600080fd5b5080359060200135611927565b34801561080957600080fd5b5061034b6004803603602081101561082057600080fd5b5035611955565b34801561083357600080fd5b506108606004803603604081101561084a57600080fd5b506001600160a01b038135169060200135611998565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b3480156108a957600080fd5b506108b26119f3565b604051808261030080838360005b838110156108d85781810151838201526020016108c0565b5050505090500191505060405180910390f35b3480156108f757600080fd5b506102f1611a39565b34801561090c57600080fd5b5061034b6004803603602081101561092357600080fd5b50351515611a5e565b34801561093857600080fd5b506102f16004803603602081101561094f57600080fd5b5035611b08565b34801561096257600080fd5b506102f1611b26565b34801561097757600080fd5b5061034b6004803603602081101561098e57600080fd5b5035611b2c565b3480156109a157600080fd5b506102f1611c67565b3480156109b657600080fd5b5061034b600480360360408110156109cd57600080fd5b506001600160a01b038135169060200135611c6d565b3480156109ef57600080fd5b506102f1611e46565b348015610a0457600080fd5b50610525611e4b565b348015610a1957600080fd5b506102f1611e54565b348015610a2e57600080fd5b5061034b60048036036020811015610a4557600080fd5b5035611e5a565b348015610a5857600080fd5b506102f1611f2e565b348015610a6d57600080fd5b506102f1611f34565b348015610a8257600080fd5b506102f160048036036020811015610a9957600080fd5b5035611f3a565b6005546001600160a01b031681565b60156020526000908152604090205481565b600e5481565b610acf611f5d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610b2b611f5d565b60035460ff1615158115151415610b4157610b9a565b6003805460ff1916821515179081905560ff1615610b5e57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60125481565b6000610bad612c69565b610bb78484611fa8565b9050610bc2816120b9565b9150505b92915050565b6001600160a01b03811660009081526014602090815260408083208054825181850281018501909352808352606094859484015b82821015610c715760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101610c00565b50505050905060608151604051908082528060200260200182016040528015610ca4578160200160208202803883390190505b5090506000805b8351811015610d1257838181518110610cc057fe5b602002602001015160a0015160001415610d0a57838181518110610ce057fe5b602002602001015160800151838381518110610cf857fe5b60209081029190910101526001909101905b600101610cab565b50606081604051908082528060200260200182016040528015610d3f578160200160208202803883390190505b50905060005b82811015610d8057838181518110610d5957fe5b6020026020010151828281518110610d6d57fe5b6020908102919091010152600101610d45565b5093505050505b919050565b600b5481565b610d9a611f5d565b600580546001600160a01b0319166001600160a01b03831617905560005b600754811015610ebb57600060078281548110610dd157fe5b600091825260209182902001546005546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610e5b57600080fd5b505afa158015610e6f573d6000803e3d6000fd5b505050506040513d6020811015610e8557600080fd5b505160009182526006602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610db8565b5050565b60135481565b610ecd611f5d565b600c8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b610f10611f5d565b600d8190556040805182815290517f8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d5288399181900360200190a150565b6001546001600160a01b031681565b60035460ff1681565b610f6b611f5d565b6103e8808210610fac5760405162461bcd60e51b8152600401808060200182810382526025815260200180612cfd6025913960400191505060405180910390fd5b600e8290556040805183815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a15050565b610ff0611f5d565b6301e1338081116110325760405162461bcd60e51b8152600401808060200182810382526037815260200180612ecc6037913960400191505060405180910390fd5b73__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561107657600080fd5b505af415801561108a573d6000803e3d6000fd5b505050506040513d60208110156110a057600080fd5b50518111156110e05760405162461bcd60e51b8152600401808060200182810382526025815260200180612e316025913960400191505060405180910390fd5b60098190556110f9816301e1338063ffffffff6120d416565b600a5560095460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b6005546000906001600160a01b0383811691161461115457506000610d87565b60005b6007548110156112465760006007828154811061117057fe5b6000918252602080832090910154808352600682526040928390205460055484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b1580156111d657600080fd5b505afa1580156111ea573d6000803e3d6000fd5b505050506040513d602081101561120057600080fd5b50516001600160a01b031614158061122d57506000818152600660205260409020546001600160a01b0316155b1561123d57600092505050610d87565b50600101611157565b50600192915050565b60035460009060ff16156112945760405162461bcd60e51b815260040180806020018281038252603c815260200180612df5603c913960400191505060405180910390fd5b60048054600101908190556112a761213e565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e68aa8960e31b815250602001905060206040518083038186803b1580156112f157600080fd5b505afa158015611305573d6000803e3d6000fd5b505050506040513d602081101561131b57600080fd5b50511561136f576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732073455448207261746520697320696e76616c696400604482015290519081900360640190fd5b61137761218f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b50505050600d543410156114085760405162461bcd60e51b815260040180806020018281038252603e815260200180612db7603e913960400191505060405180910390fd5b600f5460ff1615611460576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600e5433600090815260146020526040902054106114af5760405162461bcd60e51b8152600401808060200182810382526022815260200180612d226022913960400191505060405180910390fd5b60006114ba3461187a565b9050600c546114d4826011546121df90919063ffffffff16565b106115105760405162461bcd60e51b8152600401808060200182810382526023815260200180612d446023913960400191505060405180910390fd5b611518612239565b9250611522612c69565b506040805160c081018252338082523460208084019182528385018681524260608601908152608086018a8152600060a0880181815296815260148552978820805460018082018355918a5294909820875160069095020180546001600160a01b0319166001600160a01b0390951694909417845593519683019690965551600282015593516003850155516004840155516005909201919091556011546115ca90836121df565b6011556115d5612271565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561163457600080fd5b505af1158015611648573d6000803e3d6000fd5b5050604080518781526020810186905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505060045481146116e1576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6001546001600160a01b0316331461172e5760405162461bcd60e51b8152600401808060200182810382526035815260200180612cc86035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600854600080808080808080808080806117bf611a39565b9b506009549a50600a549950600b549850600c549750600d5496506011549550601254945060135493504792506010549150600f60009054906101000a900460ff169050909192939495969798999a9b9c565b600061181c612c69565b6118268484611fa8565b90506000611833826122be565b9050611843826040015182611927565b95945050505050565b6000611856612c69565b6118608484611fa8565b9050610bc2816122be565b6000546001600160a01b031681565b6000610bc6611887611a39565b839063ffffffff61230116565b60025481565b60105481565b6000806000806000806000806118b4612c69565b6118be8b8b611fa8565b8051602082015160408301516060840151608085015160a0860151949e50929c50909a5098509650945090506118fc876118f7836122be565b611927565b925061191761190a826120b9565b849063ffffffff6121df16565b9150509295985092959890939650565b600061194e61194183600a5461232b90919063ffffffff16565b849063ffffffff61238416565b9392505050565b61195d611f5d565b600b8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b601460205281600052604060002081815481106119b157fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b03909416965091945092909186565b6119fb612ca8565b60005b6007548110156116e15760078181548110611a1557fe5b9060005260206000200154828260188110611a2c57fe5b60200201526001016119fe565b6000611a5960085468056bc75e2d6310000061239990919063ffffffff16565b905090565b611a66611f5d565b6010544211611abc576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600f805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b60078181548110611b1557fe5b600091825260209091200154905081565b600d5481565b6004805460010190819055611b3f61213e565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e68aa8960e31b815250602001905060206040518083038186803b158015611b8957600080fd5b505afa158015611b9d573d6000803e3d6000fd5b505050506040513d6020811015611bb357600080fd5b505115611c07576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732073455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611c1133836123ae565b6004548114610ebb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60085481565b6004805460010190819055611c8061213e565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e68aa8960e31b815250602001905060206040518083038186803b158015611cca57600080fd5b505afa158015611cde573d6000803e3d6000fd5b505050506040513d6020811015611cf457600080fd5b505115611d48576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732073455448207261746520697320696e76616c696400604482015290519081900360640190fd5b600f5460ff16611d9f576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b611da983836123ae565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114611e41576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b601881565b600f5460ff1681565b600a5481565b611e62611f5d565b683635c9adc5dea00000811115611eab576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d63100000811015611ef3576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60088190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b60115481565b600c5481565b6000610bc661188768056bc75e2d6310000060085461239990919063ffffffff16565b6000546001600160a01b03163314611fa65760405162461bcd60e51b815260040180806020018281038252602f815260200180612d67602f913960400191505060405180910390fd5b565b611fb0612c69565b6001600160a01b0383166000908152601460209081526040808320805482518185028101850190935280835260609492939192909184015b828210156120595760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101611fe8565b509293506000925050505b81518110156120b1578382828151811061207a57fe5b60200260200101516080015114156120a95781818151811061209857fe5b602002602001015192505050610bc6565b600101612064565b505092915050565b6000610bc6600b54836040015161238490919063ffffffff16565b600080821161212a576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161213557fe5b04949350505050565b6000611a596c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e6765526174657320616464726573730000008152506129d1565b6000611a596b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d5374617475732061646472657373000000008152506129d1565b60008282018381101561194e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60135460009061225090600163ffffffff6121df16565b60135560125461226790600163ffffffff6121df16565b6012819055905090565b6000611a59680a6f2dce8d0e68aa8960bb1b6040518060400160405280601981526020017f4d697373696e672053796e7468734554482061646472657373000000000000008152506129d1565b60a08101516000901515806122e85760608301516122e390429063ffffffff612a7b16565b61194e565b606083015160a084015161194e9163ffffffff612a7b16565b6000670de0b6b3a764000061231c848463ffffffff61232b16565b8161232357fe5b049392505050565b60008261233a57506000610bc6565b8282028284828161234757fe5b041461194e5760405162461bcd60e51b8152600401808060200182810382526021815260200180612d966021913960400191505060405180910390fd5b600061194e8383670de0b6b3a7640000612ad8565b600061194e8383670de0b6b3a7640000612b15565b6123b661218f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156123ee57600080fd5b505afa158015612402573d6000803e3d6000fd5b5050505061240e612c69565b6124188383611fa8565b90506000816080015111612469576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60a0810151156124b6576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b80604001516124c3612271565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561251857600080fd5b505afa15801561252c573d6000803e3d6000fd5b505050506040513d602081101561254257600080fd5b505110156125815760405162461bcd60e51b815260040180806020018281038252603e815260200180612e8e603e913960400191505060405180910390fd5b61258a81612b47565b60408101516011546125a19163ffffffff612a7b16565b60115560408101516000906125b9906118f7846122be565b905060006125c6836120b9565b905060006125da838363ffffffff6121df16565b90506125e4612271565b6001600160a01b0316639dc29fac3386604001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b50505050612667612bdb565b6001600160a01b0316630c928f05826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156126aa57600080fd5b505afa1580156126be573d6000803e3d6000fd5b505050506040513d60208110156126d457600080fd5b50516126de612c1c565b6001600160a01b03166370a082316126f4612bdb565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561273a57600080fd5b505afa15801561274e573d6000803e3d6000fd5b505050506040513d602081101561276457600080fd5b505110156127a35760405162461bcd60e51b8152600401808060200182810382526038815260200180612e566038913960400191505060405180910390fd5b6127ab612bdb565b6001600160a01b0316631f930115826040518263ffffffff1660e01b81526004016020604051808303818588803b1580156127e557600080fd5b505af11580156127f9573d6000803e3d6000fd5b50505050506040513d602081101561281057600080fd5b5061281b9050612c1c565b6001600160a01b031663a9059cbb73feefeefeefeefeefeefeefeefeefeefeefeefeef612846612c1c565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561289b57600080fd5b505afa1580156128af573d6000803e3d6000fd5b505050506040513d60208110156128c557600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561291657600080fd5b505af115801561292a573d6000803e3d6000fd5b505050506040513d602081101561294057600080fd5b5050602084015133906108fc9061295d908463ffffffff612a7b16565b6040518115909202916000818181858888f19350505050158015612985573d6000803e3d6000fd5b50604080518681526020810183905281516001600160a01b038916927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a2505050505050565b6000828152600660205260408120546001600160a01b03168281612a735760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a38578181015183820152602001612a20565b50505050905090810190601f168015612a655780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082821115612ad2576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600a8304612aef868663ffffffff61232b16565b81612af657fe5b0490506005600a825b0610612b0957600a015b600a9004949350505050565b600080612b3b84612b2f87600a870263ffffffff61232b16565b9063ffffffff6120d416565b90506005600a82612aff565b80516001600160a01b03166000908152601460205260408120905b8154811015612bbf578260800151828281548110612b7c57fe5b9060005260206000209060060201600401541415612bb75742828281548110612ba157fe5b9060005260206000209060060201600501819055505b600101612b62565b50601354612bd490600163ffffffff612a7b16565b6013555050565b6000611a596411195c1bdd60da1b604051806040016040528060158152602001744d697373696e67204465706f74206164647265737360581b8152506129d1565b6000611a596814de5b9d1a1cd554d160ba1b6040518060400160405280601981526020017f4d697373696e672053796e7468735553442061646472657373000000000000008152506129d1565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f776e65722063616e6e6f742073657420686967686572207468616e20484152445f43415045616368206163636f756e74206973206c696d74656420746f203530206c6f616e734c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e53697a655468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e2031303025204150525468652073555344204465706f7420646f6573206e6f74206861766520656e6f756768207355534420746f2062757920666f722066656573596f7520646f206e6f742068617665207468652072657175697265642053796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f59454152a265627a7a72315820c43b00aae3b9be175447eed861714e89e9745eed12c79cd1782df68a94bf225a64736f6c63430005100032",
			"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": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanSizeUpdated",
					"type": "event",
					"signature": "0x8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d528839"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsSynthLoans",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaa754a2a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "calculateMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27cff2e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedSynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"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": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "loanLifeSpan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanLifeSpanResult",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c463869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcf09b4ae"
				},
				{
					"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": false,
					"inputs": [],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6b231938"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50e3b2e7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee5f3f5c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				}
			],
			"source": {
				"keccak256": "0x3e1ac23bd389124b0ee1ddaee93b056dc97315d7da51d4b03661abfc9168aeb3",
				"urls": [
					"bzz-raw://7627cd46b4250555c9c891b3aff984f1c28cc78ef539ae759ec0b96ce76700a0",
					"dweb:/ipfs/Qmf1fSjt9dHLFgsST42oWFm4nBWaBwv11nbvJ1bH6z5Npm"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateral.sol": "EtherCollateral"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateral.sol": {
						"keccak256": "0x3e1ac23bd389124b0ee1ddaee93b056dc97315d7da51d4b03661abfc9168aeb3",
						"urls": [
							"bzz-raw://7627cd46b4250555c9c891b3aff984f1c28cc78ef539ae759ec0b96ce76700a0",
							"dweb:/ipfs/Qmf1fSjt9dHLFgsST42oWFm4nBWaBwv11nbvJ1bH6z5Npm"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateralsUSD": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$dea560c1c88ab8ee92a045569682361255$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b505160960260085560408051630241ebdb60e61b8152905160649173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600955620001266301e133806009546200069360201b6200404e1790919060201c565b600a556103e873__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600b5573__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b50516298968002600c5560408051630241ebdb60e61b8152905173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c0916004808301926020929190829003018186803b1580156200027557600080fd5b505af41580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b5051600d556032600e55600f805460ff1916905560408051630241ebdb60e61b8152905160649173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c091600480820192602092909190829003018186803b1580156200030557600080fd5b505af41580156200031a573d6000803e3d6000fd5b505050506040513d60208110156200033157600080fd5b5051609602816200033e57fe5b04601155600a73__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038957600080fd5b505af41580156200039e573d6000803e3d6000fd5b505050506040513d6020811015620003b557600080fd5b505181620003bf57fe5b0460125560405180608001604052806b53797374656d53746174757360a01b81526020016814de5b9d1a1cd554d160ba1b81526020016c45786368616e6765526174657360981b815260200166119959541bdbdb60ca1b81525060189060046200042b929190620006ff565b503480156200043957600080fd5b506040516200534238038062005342833981810160405260408110156200045f57600080fd5b508051602090910151604080516103008101918290528291601890819081845b8154815260200190600101908083116200047f57508793505050506001600160a01b038116620004f6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620005a1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60016004556000546001600160a01b0316620005f8576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620006605760008282601881106200061457fe5b602002015114620006515760078282601881106200062e57fe5b602090810291909101518254600181018455600093845291909220015562000657565b62000660565b600101620005fb565b5050600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a000160105562000762565b6000808211620006ea576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620006f657fe5b04949350505050565b826018810192821562000730579160200282015b828111156200073057825182559160200191906001019062000713565b506200073e92915062000742565b5090565b6200075f91905b808211156200073e576000815560010162000749565b90565b614bd080620007726000396000f3fe6080604052600436106103815760003560e01c80637c3a00fd116101d1578063ab49848c11610102578063e3235c91116100a0578063ee5f3f5c1161006f578063ee5f3f5c14610d43578063eea8f5da14610d58578063f45f08fb14610d6d578063f53dfb8414610da657610381565b8063e3235c9114610cda578063e3c1e58c14610cef578063e40108ed14610d04578063e5829d2014610d1957610381565b8063c6c9d828116100dc578063c6c9d82814610c38578063d05951a014610c62578063dcaf9c4414610c8c578063e220a81114610ca157610381565b8063ab49848c14610ba9578063b410a03414610bf7578063bb8c6d6c14610c0c57610381565b8063946ce8cd1161016f578063a2e1734211610149578063a2e1734214610a89578063a5d5db0c14610ab9578063a76cdfa514610ae5578063aa754a2a14610b0f57610381565b8063946ce8cd146109c65780639f7d5688146109f0578063a1c5158614610a0557610381565b806389c937de116101ab57806389c937de146109395780638da5cb5b146109725780638fdc8f3b1461098757806391b4ded9146109b157610381565b80637c3a00fd146108695780637cc1f8671461087e57806380a5d3d8146108fa57610381565b80633be99e6f116102b65780635c975abb11610254578063631e144411610223578063631e1444146107dc578063675969be1461080f578063767a7b051461082457806379ba50971461085457610381565b80635c975abb1461070d5780635d1a2229146107365780635f84f3021461076057806360655ba71461078a57610381565b80634f069f66116102905780634f069f66146106785780634f11815c146106a257806353a47bb7146106db57806354e3e70d146106f057610381565b80633be99e6f146105f75780634189bb491461062a578063462b97251461063f57610381565b806323aa7f0f116103235780632f2bf15b116102fd5780632f2bf15b146104f0578063361e208614610573578063384585711461058857806339735e37146105c757610381565b806323aa7f0f146104b157806323f5589a146104c657806324bbab8b146104db57610381565b80631627540c1161035f5780631627540c1461041157806316c38b3c146104465780631775765f1461047257806317da255e1461048757610381565b806304f3bcec14610386578063089f7fb4146103b75780631474b279146103fc575b600080fd5b34801561039257600080fd5b5061039b610dd0565b604080516001600160a01b039092168252519081900360200190f35b3480156103c357600080fd5b506103ea600480360360208110156103da57600080fd5b50356001600160a01b0316610ddf565b60408051918252519081900360200190f35b34801561040857600080fd5b506103ea610df1565b34801561041d57600080fd5b506104446004803603602081101561043457600080fd5b50356001600160a01b0316610df7565b005b34801561045257600080fd5b506104446004803603602081101561046957600080fd5b50351515610e53565b34801561047e57600080fd5b506103ea610ecd565b34801561049357600080fd5b50610444600480360360208110156104aa57600080fd5b5035610ed3565b3480156104bd57600080fd5b506103ea610f16565b3480156104d257600080fd5b506103ea610f1c565b3480156104e757600080fd5b506103ea610f22565b3480156104fc57600080fd5b506105236004803603602081101561051357600080fd5b50356001600160a01b0316610f2c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561055f578181015183820152602001610547565b505050509050019250505060405180910390f35b34801561057f57600080fd5b506103ea61111e565b34801561059457600080fd5b50610444600480360360608110156105ab57600080fd5b506001600160a01b038135169060208101359060400135611124565b3480156105d357600080fd5b506103ea600480360360408110156105ea57600080fd5b50803590602001356116ff565b34801561060357600080fd5b506104446004803603602081101561061a57600080fd5b50356001600160a01b03166117f2565b34801561063657600080fd5b506103ea61191f565b34801561064b57600080fd5b506103ea6004803603604081101561066257600080fd5b506001600160a01b038135169060200135611925565b34801561068457600080fd5b506104446004803603602081101561069b57600080fd5b5035611945565b3480156106ae57600080fd5b506103ea600480360360408110156106c557600080fd5b506001600160a01b038135169060200135611988565b3480156106e757600080fd5b5061039b6119af565b6103ea6004803603602081101561070657600080fd5b50356119be565b34801561071957600080fd5b50610722612001565b604080519115158252519081900360200190f35b34801561074257600080fd5b506104446004803603602081101561075957600080fd5b503561200a565b34801561076c57600080fd5b506104446004803603602081101561078357600080fd5b503561208d565b34801561079657600080fd5b506107c3600480360360408110156107ad57600080fd5b506001600160a01b0381351690602001356121d9565b6040805192835260208301919091528051918290030190f35b3480156107e857600080fd5b50610722600480360360208110156107ff57600080fd5b50356001600160a01b0316612249565b34801561081b57600080fd5b506103ea612364565b34801561083057600080fd5b506104446004803603604081101561084757600080fd5b508035906020013561236a565b34801561086057600080fd5b506104446126c2565b34801561087557600080fd5b506103ea61277e565b34801561088a57600080fd5b50610893612784565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561090657600080fd5b506104446004803603606081101561091d57600080fd5b506001600160a01b0381351690602081013590604001356127ef565b34801561094557600080fd5b506103ea6004803603604081101561095c57600080fd5b506001600160a01b038135169060200135612b50565b34801561097e57600080fd5b5061039b612bb2565b34801561099357600080fd5b506103ea600480360360208110156109aa57600080fd5b5035612bc1565b3480156109bd57600080fd5b506103ea612c67565b3480156109d257600080fd5b50610444600480360360208110156109e957600080fd5b5035612c6d565b3480156109fc57600080fd5b506103ea612d6a565b348015610a1157600080fd5b50610a3e60048036036040811015610a2857600080fd5b506001600160a01b038135169060200135612d70565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b348015610a9557600080fd5b506103ea60048036036040811015610aac57600080fd5b5080359060200135612e17565b61044460048036036040811015610acf57600080fd5b506001600160a01b038135169060200135612e45565b348015610af157600080fd5b5061044460048036036020811015610b0857600080fd5b503561300b565b348015610b1b57600080fd5b50610b4860048036036040811015610b3257600080fd5b506001600160a01b03813516906020013561304e565b604080516001600160a01b03909b168b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015264ffffffffff1661012083015251908190036101400190f35b348015610bb557600080fd5b50610bbe6130cc565b604051808261030080838360005b83811015610be4578181015183820152602001610bcc565b5050505090500191505060405180910390f35b348015610c0357600080fd5b506103ea613116565b348015610c1857600080fd5b5061044460048036036020811015610c2f57600080fd5b5035151561313b565b348015610c4457600080fd5b506103ea60048036036020811015610c5b57600080fd5b50356131e5565b348015610c6e57600080fd5b5061044460048036036020811015610c8557600080fd5b5035613203565b348015610c9857600080fd5b506103ea61331b565b348015610cad57600080fd5b5061044460048036036040811015610cc457600080fd5b506001600160a01b038135169060200135613321565b348015610ce657600080fd5b506103ea6134d2565b348015610cfb57600080fd5b506107226134d7565b348015610d1057600080fd5b506103ea6134e0565b348015610d2557600080fd5b5061044460048036036020811015610d3c57600080fd5b50356134e6565b348015610d4f57600080fd5b506103ea6135ba565b348015610d6457600080fd5b506103ea6135c0565b348015610d7957600080fd5b506103ea60048036036040811015610d9057600080fd5b506001600160a01b0381351690602001356135c6565b348015610db257600080fd5b506103ea60048036036020811015610dc957600080fd5b50356135f0565b6005546001600160a01b031681565b60176020526000908152604090205481565b600e5481565b610dff61369d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610e5b61369d565b60035460ff1615158115151415610e7157610eca565b6003805460ff1916821515179081905560ff1615610e8e57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60115481565b610edb61369d565b600d8190556040805182815290517f9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb69181900360200190a150565b60145481565b60125481565b6208aa8960eb1b81565b6001600160a01b03811660009081526016602090815260408083208054825181850281018501909352808352606094859484015b828210156110035760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101610f60565b50505050905060608151604051908082528060200260200182016040528015611036578160200160208202803883390190505b5090506000805b83518110156110a45783818151811061105257fe5b602002602001015160c001516000141561109c5783818151811061107257fe5b602002602001015160a0015183838151811061108a57fe5b60209081029190910101526001909101905b60010161103d565b506060816040519080825280602002602001820160405280156110d1578160200160208202803883390190505b50905060005b82811015611112578381815181106110eb57fe5b60200260200101518282815181106110ff57fe5b60209081029190910101526001016110d7565b5093505050505b919050565b600b5481565b60048054600101908190556111376136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561118057600080fd5b505afa158015611194573d6000803e3d6000fd5b505050506040513d60208110156111aa57600080fd5b5051156111ec576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b6111f4613739565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050508161124d613789565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112a257600080fd5b505afa1580156112b6573d6000803e3d6000fd5b505050506040513d60208110156112cc57600080fd5b5051101561131b576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820735553442062616c616e636560481b604482015290519081900360640190fd5b6113236147ef565b61132d85856137d6565b905061133881613919565b6000806000611346846139b5565b925092509250601154831061138c5760405162461bcd60e51b81526004018080602001828103825260288152602001806148726028913960400191505060405180910390fd5b60006113c36113bd836113b18861010001518960400151613aa590919063ffffffff16565b9063ffffffff613aa516565b846116ff565b905060008782106113d457876113d6565b815b90506113e0613789565b6001600160a01b0316639dc29fac33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b50505050600080600061148284611478888c6101000151613aa590919063ffffffff16565b8b60400151613aff565b509250925092506114938383613b78565b600061149d6136e8565b6001600160a01b031663654a60ac631cd554d160e21b876208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156114fd57600080fd5b505afa158015611511573d6000803e3d6000fd5b505050506040513d602081101561152757600080fd5b505160125460408051630241ebdb60e61b815290519293506000926115cc926115bf92909173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c0916004808301926020929190829003018186803b15801561158757600080fd5b505af415801561159b573d6000803e3d6000fd5b505050506040513d60208110156115b157600080fd5b50519063ffffffff613aa516565b839063ffffffff613c9716565b90506115f08b6115e9868e60400151613cc190919063ffffffff16565b8542613d1e565b6116108b61160b838e60200151613cc190919063ffffffff16565b613dfe565b50604051339082156108fc029083906000818181858888f1935050505015801561163e573d6000803e3d6000fd5b508e6001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58f33898560405180858152602001846001600160a01b03166001600160a01b0316815260200183815260200182815260200194505050505060405180910390a2505050505050505050505060045481146116f9576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b50505050565b60008073__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174657600080fd5b505af415801561175a573d6000803e3d6000fd5b505050506040513d602081101561177057600080fd5b5051601154909150600061179a61178d868463ffffffff613f2316565b879063ffffffff613cc116565b905060006117d36117c6846117ba60125488613aa590919063ffffffff16565b9063ffffffff613f2316565b859063ffffffff613cc116565b90506117e5828263ffffffff613f2316565b9450505050505b92915050565b6117fa61369d565b600580546001600160a01b0319166001600160a01b03831617905560005b60075481101561191b5760006007828154811061183157fe5b600091825260209182902001546005546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b1580156118bb57600080fd5b505afa1580156118cf573d6000803e3d6000fd5b505050506040513d60208110156118e557600080fd5b505160009182526006602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101611818565b5050565b60155481565b600061192f6147ef565b61193984846137d6565b60600151949350505050565b61194d61369d565b600c8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b60006119926147ef565b61199c84846137d6565b90506119a781613f4d565b949350505050565b6001546001600160a01b031681565b60035460009060ff1615611a035760405162461bcd60e51b815260040180806020018281038252603c815260200180614a7e603c913960400191505060405180910390fd5b6004805460010190819055611a166136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a5f57600080fd5b505afa158015611a73573d6000803e3d6000fd5b505050506040513d6020811015611a8957600080fd5b505115611acb576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b611ad3613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611b0b57600080fd5b505afa158015611b1f573d6000803e3d6000fd5b50505050600d54341015611b645760405162461bcd60e51b8152600401808060200182810382526048815260200180614b546048913960600191505060405180910390fd5b600f5460ff1615611bbc576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600e543360009081526016602052604090205410611c0b5760405162461bcd60e51b8152600401808060200182810382526023815260200180614a0b6023913960400191505060405180910390fd5b6000611c1634612bc1565b905080841115611c575760405162461bcd60e51b81526004018080602001828103825260278152602001806149456027913960400191505060405180910390fd5b6000611c6285613fb4565b90506000611c76868363ffffffff613cc116565b9050600c54611c9087601354613aa590919063ffffffff16565b1115611ccd5760405162461bcd60e51b81526004018080602001828103825260238152602001806149e86023913960400191505060405180910390fd5b611cd5613fcb565b9450611cdf6147ef565b5060408051610140810182523381523460208201529081018790526060810183905242608082015260a08101869052600060c0820181905260095460e083015261010082018190526101208201528215611e2c57611d3b613789565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611dae57600080fd5b505af1158015611dc2573d6000803e3d6000fd5b50505050611dce614003565b6001600160a01b03166322bf55ef846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611e1357600080fd5b505af1158015611e27573d6000803e3d6000fd5b505050505b336000908152601660209081526040808320805460018082018355918552938390208551600a9095020180546001600160a01b0319166001600160a01b0390951694909417845591840151918301919091558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009909101805464ffffffffff191664ffffffffff909216919091179055601354611ef49088613aa5565b601355611eff613789565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611f5e57600080fd5b505af1158015611f72573d6000803e3d6000fd5b505060408051898152602081018b905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505050506004548114611ffb576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b50919050565b60035460ff1681565b61201261369d565b6103e881106120525760405162461bcd60e51b81526004018080602001828103825260338152602001806149b56033913960400191505060405180910390fd5b600e8190556040805182815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a150565b61209561369d565b6301e1338081116120d75760405162461bcd60e51b8152600401808060200182810382526037815260200180614b1d6037913960400191505060405180910390fd5b73__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561211b57600080fd5b505af415801561212f573d6000803e3d6000fd5b505050506040513d602081101561214557600080fd5b50518111156121855760405162461bcd60e51b8152600401808060200182810382526025815260200180614aba6025913960400191505060405180910390fd5b600981905561219e816301e1338063ffffffff61404e16565b600a5560095460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b6000806121e46147ef565b6121ee85856137d6565b9050600061220e8261010001518360400151613aa590919063ffffffff16565b90506122376122258261222085613f4d565b612e17565b6101008401519063ffffffff613aa516565b93508160600151925050509250929050565b6005546000906001600160a01b0383811691161461226957506000611119565b60005b60075481101561235b5760006007828154811061228557fe5b6000918252602080832090910154808352600682526040928390205460055484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b1580156122eb57600080fd5b505afa1580156122ff573d6000803e3d6000fd5b505050506040513d602081101561231557600080fd5b50516001600160a01b031614158061234257506000818152600660205260409020546001600160a01b0316155b1561235257600092505050611119565b5060010161226c565b50600192915050565b600d5481565b60035460ff16156123ac5760405162461bcd60e51b815260040180806020018281038252603c815260200180614a7e603c913960400191505060405180910390fd5b60048054600101908190556123bf6136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561240857600080fd5b505afa15801561241c573d6000803e3d6000fd5b505050506040513d602081101561243257600080fd5b505115612474576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b600082116124b35760405162461bcd60e51b815260040180806020018281038252602981526020018061496c6029913960400191505060405180910390fd5b6124bb613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124f357600080fd5b505afa158015612507573d6000803e3d6000fd5b5050600f5460ff161591506125659050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b61256d6147ef565b61257733856137d6565b905061258281613919565b602081015160009061259a908563ffffffff613cc116565b90506125a46147ef565b6125ae8383613dfe565b905060006125bb826139b5565b5050905060115481116125ff5760405162461bcd60e51b815260040180806020018281038252603181526020018061489a6031913960400191505060405180910390fd5b604051339087156108fc029088906000818181858888f1935050505015801561262c573d6000803e3d6000fd5b50602080830151604080518a8152928301899052828101919091525133917ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303919081900360600190a25050505060045481146126bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b505050565b6001546001600160a01b0316331461270b5760405162461bcd60e51b81526004018080602001828103825260358152602001806148eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b6008546000808080808080808080808061279c613116565b9b506009549a50600a549950600b549850600c549750600d5496506013549550601454945060155493504792506010549150600f60009054906101000a900460ff169050909192939495969798999a9b9c565b6127f76136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561284057600080fd5b505afa158015612854573d6000803e3d6000fd5b505050506040513d602081101561286a57600080fd5b5051156128ac576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b6128b4613739565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156128ec57600080fd5b505afa158015612900573d6000803e3d6000fd5b505050508061290d613789565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561296257600080fd5b505afa158015612976573d6000803e3d6000fd5b505050506040513d602081101561298c57600080fd5b505110156129db576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820735553442062616c616e636560481b604482015290519081900360640190fd5b6129e36147ef565b6129ed84846137d6565b90506129f881613919565b6000612a168261010001518360400151613aa590919063ffffffff16565b90506000612a278261222085613f4d565b90506000612a4382856101000151613aa590919063ffffffff16565b9050600080600080612a5a89868a60400151613aff565b9350935093509350612a6a613789565b6001600160a01b0316639dc29fac338b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ac957600080fd5b505af1158015612add573d6000803e3d6000fd5b50505050612aeb8484613b78565b612af788828442613d1e565b604080518b8152602081018b905280820183905290516001600160a01b038d16917f2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572919081900360600190a25050505050505050505050565b6000612b5a6147ef565b612b6484846137d6565b90506000612b90612b878361010001518460400151613aa590919063ffffffff16565b61222084613f4d565b610100830151909150612ba9908263ffffffff613aa516565b95945050505050565b6000546001600160a01b031681565b60006117ec612bce6136e8565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612c1757600080fd5b505afa158015612c2b573d6000803e3d6000fd5b505050506040513d6020811015612c4157600080fd5b5051612c5b612c4e613116565b859063ffffffff613c9716565b9063ffffffff613c9716565b60025481565b612c7561369d565b73__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612cb957600080fd5b505af4158015612ccd573d6000803e3d6000fd5b505050506040513d6020811015612ce357600080fd5b50518111612d2f576040805162461bcd60e51b8152602060048201526014602482015273526174696f206c657373207468616e203130302560601b604482015290519081900360640190fd5b60118190556040805182815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9181900360200190a150565b60105481565b600080600080600080600080612d846147ef565b612d8e8b8b6137d6565b9050806000015198508060200151975080604001519650806080015195508060a0015194508060c001519350612dee612ddc612b878361010001518460400151613aa590919063ffffffff16565b6101008301519063ffffffff613aa516565b9250612e07816060015184613aa590919063ffffffff16565b9150509295985092959890939650565b6000612e3e612e3183600a546140b890919063ffffffff16565b849063ffffffff61411116565b9392505050565b60035460ff1615612e875760405162461bcd60e51b815260040180806020018281038252603c815260200180614a7e603c913960400191505060405180910390fd5b60003411612ec65760405162461bcd60e51b81526004018080602001828103825260258152602001806149206025913960400191505060405180910390fd5b612ece613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f0657600080fd5b505afa158015612f1a573d6000803e3d6000fd5b5050600f5460ff16159150612f789050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b612f806147ef565b612f8a83836137d6565b9050612f9581613919565b6020810151600090612fad903463ffffffff613aa516565b9050612fb98282613dfe565b506040805184815234602082015280820183905290516001600160a01b038616917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c919081900360600190a250505050565b61301361369d565b600b8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b6016602052816000526040600020818154811061306757fe5b60009182526020909120600a909102018054600182015460028301546003840154600485015460058601546006870154600788015460088901546009909901546001600160a01b039098169a50959850939692959194909392909164ffffffffff168a565b6130d4614852565b60005b60075481101561311257600781815481106130ee57fe5b906000526020600020015482826018811061310557fe5b60200201526001016130d7565b5090565b600061313660085468056bc75e2d6310000061412690919063ffffffff16565b905090565b61314361369d565b6010544211613199576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600f805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b600781815481106131f257fe5b600091825260209091200154905081565b60048054600101908190556132166136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561325f57600080fd5b505afa158015613273573d6000803e3d6000fd5b505050506040513d602081101561328957600080fd5b5051156132cb576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b6132d73383600061413b565b600454811461191b576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b60085481565b60048054600101908190556133346136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561337d57600080fd5b505afa158015613391573d6000803e3d6000fd5b505050506040513d60208110156133a757600080fd5b5051156133e9576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b600f5460ff16613440576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b61344c8383600161413b565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a260045481146126bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b601881565b600f5460ff1681565b600a5481565b6134ee61369d565b683635c9adc5dea00000811115613537576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d6310000081101561357f576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60088190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b60135481565b600c5481565b60006135d06147ef565b6135da84846137d6565b90506135e5816139b5565b509095945050505050565b60006117ec68056bc75e2d63100000613691612c4e61360d6136e8565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561365657600080fd5b505afa15801561366a573d6000803e3d6000fd5b505050506040513d602081101561368057600080fd5b50516008549063ffffffff61412616565b9063ffffffff61412616565b6000546001600160a01b031633146136e65760405162461bcd60e51b815260040180806020018281038252602f815260200180614a2e602f913960400191505060405180910390fd5b565b60006131366c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e67655261746573206164647265737300000081525061464e565b60006131366b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d53746174757320616464726573730000000081525061464e565b60006131366814de5b9d1a1cd554d160ba1b6040518060400160405280601981526020017f4d697373696e672053796e74687355534420616464726573730000000000000081525061464e565b6137de6147ef565b6001600160a01b0383166000908152601660209081526040808320805482518185028101850190935280835260609492939192909184015b828210156138b95760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101613816565b509293506000925050505b815181101561391157838282815181106138da57fe5b602002602001015160a001511415613909578181815181106138f857fe5b6020026020010151925050506117ec565b6001016138c4565b505092915050565b60008160a0015111613968576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60c081015115610eca576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b6000806000806139d78561010001518660400151613aa590919063ffffffff16565b90506139e68161222087613f4d565b9150613a796139f36136e8565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a3c57600080fd5b505afa158015613a50573d6000803e3d6000fd5b505050506040513d6020811015613a6657600080fd5b505160208701519063ffffffff613c9716565b9250613a9b613a8e828463ffffffff613aa516565b849063ffffffff613f2316565b9350509193909250565b600082820183811015612e3e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808381868015801590613b145750600087115b15613b4f57868111613b265780613b28565b865b9450613b3a838663ffffffff613cc116565b9250613b4c818663ffffffff613cc116565b90505b8591508015613b6e57613b68828263ffffffff613cc116565b91508093505b5093509350935093565b8115613c7757613b86613789565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613bf957600080fd5b505af1158015613c0d573d6000803e3d6000fd5b50505050613c19614003565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613c5e57600080fd5b505af1158015613c72573d6000803e3d6000fd5b505050505b801561191b57601354613c90908263ffffffff613cc116565b6013555050565b6000670de0b6b3a7640000613cb2848463ffffffff6140b816565b81613cb957fe5b049392505050565b600082821115613d18576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b83516001600160a01b03166000908152601660205260408120905b8154811015613df6578560a00151828281548110613d5357fe5b90600052602060002090600a0201600501541415613dee5784828281548110613d7857fe5b90600052602060002090600a02016002018190555083828281548110613d9a57fe5b90600052602060002090600a02016008018190555082828281548110613dbc57fe5b90600052602060002090600a020160090160006101000a81548164ffffffffff021916908364ffffffffff1602179055505b600101613d39565b505050505050565b613e066147ef565b82516001600160a01b03166000908152601660205260408120905b8154811015613911578460a00151828281548110613e3b57fe5b90600052602060002090600a0201600501541415613f1b5783828281548110613e6057fe5b90600052602060002090600a020160010181905550818181548110613e8157fe5b60009182526020918290206040805161014081018252600a90930290910180546001600160a01b031683526001810154938301939093526002830154908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015461010082015260099091015464ffffffffff1661012082015292506117ec915050565b600101613e21565b6000612e3e82613f4185670de0b6b3a764000063ffffffff6140b816565b9063ffffffff61404e16565b600080600083610120015164ffffffffff1611613f6e578260800151613f7c565b82610120015164ffffffffff165b905060008360c0015111613f9f57613f9a428263ffffffff613cc116565b612e3e565b60c0830151612e3e908263ffffffff613cc116565b60006117ec600b548361411190919063ffffffff16565b601554600090613fe290600163ffffffff613aa516565b601555601454613ff990600163ffffffff613aa516565b6014819055905090565b600061313666119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c206164647265737300000000000000000081525061464e565b60008082116140a4576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816140af57fe5b04949350505050565b6000826140c7575060006117ec565b828202828482816140d457fe5b0414612e3e5760405162461bcd60e51b8152600401808060200182810382526021815260200180614a5d6021913960400191505060405180910390fd5b6000612e3e8383670de0b6b3a76400006146f8565b6000612e3e8383670de0b6b3a7640000614735565b614143613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561417b57600080fd5b505afa15801561418f573d6000803e3d6000fd5b5050505061419b6147ef565b6141a584846137d6565b90506141b081613919565b60006141d1612b878361010001518460400151613aa590919063ffffffff16565b905060006141ec828460400151613aa590919063ffffffff16565b9050600061420883856101000151613aa590919063ffffffff16565b905081614213613789565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561426857600080fd5b505afa15801561427c573d6000803e3d6000fd5b505050506040513d602081101561429257600080fd5b505110156142d15760405162461bcd60e51b815260040180806020018281038252603e815260200180614adf603e913960400191505060405180910390fd5b6142da8461475b565b6143086142f98561010001518660400151613cc190919063ffffffff16565b6013549063ffffffff613cc116565b601355614313613789565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561437257600080fd5b505af1158015614386573d6000803e3d6000fd5b50505050614392613789565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561440557600080fd5b505af1158015614419573d6000803e3d6000fd5b50505050614425614003565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561446a57600080fd5b505af115801561447e573d6000803e3d6000fd5b50505050602084015185156145c75760006144976136e8565b6001600160a01b031663654a60ac631cd554d160e21b866208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156144f757600080fd5b505afa15801561450b573d6000803e3d6000fd5b505050506040513d602081101561452157600080fd5b505160125460408051630241ebdb60e61b81529051929350600092614581926115bf92909173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c0916004808301926020929190829003018186803b15801561158757600080fd5b9050614593838263ffffffff613cc116565b604051909350339082156108fc029083906000818181858888f193505050501580156145c3573d6000803e3d6000fd5b5050505b84516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015614600573d6000803e3d6000fd5b50604080518881526020810184905281516001600160a01b038b16927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a25050505050505050565b6000828152600660205260408120546001600160a01b031682816146f05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156146b557818101518382015260200161469d565b50505050905090810190601f1680156146e25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600080600a830461470f868663ffffffff6140b816565b8161471657fe5b0490506005600a825b061061472957600a015b600a9004949350505050565b60008061474f84613f4187600a870263ffffffff6140b816565b90506005600a8261471f565b80516001600160a01b03166000908152601660205260408120905b81548110156147d3578260a0015182828154811061479057fe5b90600052602060002090600a02016005015414156147cb57428282815481106147b557fe5b90600052602060002090600a0201600601819055505b600101614776565b506015546147e890600163ffffffff613cc116565b6015555050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff1681525090565b604051806103000160405280601890602082028038833950919291505056fe436f6c6c61746572616c20726174696f2061626f7665206c69717569646174696f6e20726174696f436f6c6c61746572616c20726174696f2062656c6f77206c69717569646174696f6e2061667465722077697468647261775265656e7472616e637947756172643a207265656e7472616e742063616c6c00596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20304c6f616e20616d6f756e742065786365656473206d617820626f72726f77696e6720706f776572416d6f756e7420746f207769746864726177206d7573742062652067726561746572207468616e2030426c6f636b656420617320455448207261746520697320696e76616c696400004f776e65722063616e6e6f742073657420686967686572207468616e204143434f554e545f4c4f414e5f4c494d49545f4341504c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e45616368206163636f756e74206973206c696d6974656420746f203530206c6f616e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052596f7520646f206e6f742068617665207468652072657175697265642053796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f594541524e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e436f6c6c61746572616c53697a65a265627a7a72315820e6b58a3e9729ae5feebbb211c3c89855eb0a1370b08ab5b3623dfe9c496e795b64736f6c63430005100032",
			"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": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedCollateral",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "repaidAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLoanAmount",
							"type": "uint256"
						}
					],
					"name": "LoanRepaid",
					"type": "event",
					"signature": "0x2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanCollateralSizeUpdated",
					"type": "event",
					"signature": "0x9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb6"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "COLLATERAL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x24bbab8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsSynthLoans",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanInterestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint40",
							"name": "lastInterestAccrued",
							"type": "uint40"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaa754a2a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToLiquidate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39735e37"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "depositCollateral",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa5d5db0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedSynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoanCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanCollateralRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf45f08fb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x462b9725"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"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": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_debtToCover",
							"type": "uint256"
						}
					],
					"name": "liquidateLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38458571"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"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": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanCollateralSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x675969be"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						}
					],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x54e3e70d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"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": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_repayAmount",
							"type": "uint256"
						}
					],
					"name": "repayLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80a5d3d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanCollateralSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x17da255e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "timeSinceInterestAccrualOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f11815c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "totalFeesOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60655ba7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee5f3f5c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdrawCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x767a7b05"
				}
			],
			"source": {
				"keccak256": "0x85918fcd0515828e0a6698e27e43151d5e0333d936ea6b5a9f6f9341a9b68266",
				"urls": [
					"bzz-raw://7964611442f889a7902be71fee3694191df2a91c5271b0d2bc6230f57450ff50",
					"dweb:/ipfs/QmTov7Qh1msopL3brEmVxmihjhX2xPsEcgBq6AnqSPWEyu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateralsUSD.sol": "EtherCollateralsUSD"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateralsUSD.sol": {
						"keccak256": "0x85918fcd0515828e0a6698e27e43151d5e0333d936ea6b5a9f6f9341a9b68266",
						"urls": [
							"bzz-raw://7964611442f889a7902be71fee3694191df2a91c5271b0d2bc6230f57450ff50",
							"dweb:/ipfs/QmTov7Qh1msopL3brEmVxmihjhX2xPsEcgBq6AnqSPWEyu"
						]
					}
				},
				"version": 1
			}
		},
		"SynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b506040516113693803806113698339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611304806100656000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630120be331461006757806327fe55a6146100a5578063492dbcdd14610146578063a827bf481461022c578063d18ab37614610252578063eade6d2d14610276575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b0381351690602001356102ce565b60408051918252519081900360200190f35b6100ad61054d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100f15781810151838201526020016100d9565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610130578181015183820152602001610118565b5050505090500194505050505060405180910390f35b61014e6107b9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561019657818101518382015260200161017e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d55781810151838201526020016101bd565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156102145781810151838201526020016101fc565b50505050905001965050505050505060405180910390f35b61014e6004803603602081101561024257600080fd5b50356001600160a01b0316610b32565b61025a610ec9565b604080516001600160a01b039092168252519081900360200190f35b61027e610ed8565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ba5781810151838201526020016102a2565b505050509050019250505060405180910390f35b6000806102d9611182565b905060006102e561123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d602081101561034c57600080fd5b5051905060005b81811015610543576000846001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103a157600080fd5b505afa1580156103b5573d6000803e3d6000fd5b505050506040513d60208110156103cb57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b15801561041b57600080fd5b505afa15801561042f573d6000803e3d6000fd5b505050506040513d602081101561044557600080fd5b5051604080516370a0823160e01b81526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b15801561049157600080fd5b505afa1580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b5051604080516001600160e01b031960e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b5051959095019450600101610353565b5050505092915050565b606080606061055a611182565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059257600080fd5b505afa1580156105a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105cf57600080fd5b81019080805160405193929190846401000000008211156105ef57600080fd5b90830190602082018581111561060457600080fd5b825186602082028301116401000000008211171561062157600080fd5b82525081516020918201928201910280838360005b8381101561064e578181015183820152602001610636565b5050505090500160405250505090508061066661123f565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156106c45781810151838201526020016106ac565b505050509050019250505060006040518083038186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561072457600080fd5b810190808051604051939291908464010000000082111561074457600080fd5b90830190602082018581111561075957600080fd5b825186602082028301116401000000008211171561077657600080fd5b82525081516020918201928201910280838360005b838110156107a357818101518382015260200161078b565b5050505090500160405250505092509250509091565b606080606060006107c8611182565b905060006107d461123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d602081101561083b57600080fd5b505160408051828152602080840282010190915290915060609082801561086c578160200160208202803883390190505b50905060608260405190808252806020026020018201604052801561089b578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156108ca578160200160208202803883390190505b50905060005b84811015610b22576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d602081101561094857600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561098e57600080fd5b505afa1580156109a2573d6000803e3d6000fd5b505050506040513d60208110156109b857600080fd5b505185518690849081106109c857fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d6020811015610a3757600080fd5b50518451859084908110610a4757fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610a6e57fe5b6020026020010151868581518110610a8257fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610ad457600080fd5b505afa158015610ae8573d6000803e3d6000fd5b505050506040513d6020811015610afe57600080fd5b50518351849084908110610b0e57fe5b6020908102919091010152506001016108d0565b5091975095509350505050909192565b60608060606000610b41611182565b90506000610b4d61123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8a57600080fd5b505afa158015610b9e573d6000803e3d6000fd5b505050506040513d6020811015610bb457600080fd5b5051604080518281526020808402820101909152909150606090828015610be5578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610c14578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610c43578160200160208202803883390190505b50905060005b84811015610eb8576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c9757600080fd5b505afa158015610cab573d6000803e3d6000fd5b505050506040513d6020811015610cc157600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610d0757600080fd5b505afa158015610d1b573d6000803e3d6000fd5b505050506040513d6020811015610d3157600080fd5b50518551869084908110610d4157fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50518451859084908110610ddd57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610e0457fe5b6020026020010151868581518110610e1857fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610e6a57600080fd5b505afa158015610e7e573d6000803e3d6000fd5b505050506040513d6020811015610e9457600080fd5b50518351849084908110610ea457fe5b602090810291909101015250600101610c49565b509199909850909650945050505050565b6000546001600160a01b031681565b60606000610ee4611182565b90506000610ef061123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2d57600080fd5b505afa158015610f41573d6000803e3d6000fd5b505050506040513d6020811015610f5757600080fd5b5051604080518281526020808402820101909152909150606090828015610f88578160200160208202803883390190505b50905060005b82811015611179576000856001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fdc57600080fd5b505afa158015610ff0573d6000803e3d6000fd5b505050506040513d602081101561100657600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d602081101561108057600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d60208110156110e957600080fd5b50511561117057806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561112957600080fd5b505afa15801561113d573d6000803e3d6000fd5b505050506040513d602081101561115357600080fd5b5051835184908490811061116357fe5b6020026020010181815250505b50600101610f8e565b50935050505090565b600080546040805163dacb2d0160e01b8152680a6f2dce8d0cae8d2f60bb1b600482015260248101829052601960448201527f4d697373696e672053796e746865746978206164647265737300000000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d602081101561123857600080fd5b5051905090565b600080546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fdfea265627a7a7231582077467ba8e88a45f5a36561a64fa7ae5bb0853a686809ccd3dbdc0334f92e835364736f6c63430005100032",
			"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": "frozenSynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeade6d2d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "synthsBalances",
					"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": "synthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27fe55a6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthsTotalSupplies",
					"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": "totalSynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0120be33"
				}
			],
			"source": {
				"keccak256": "0xab16e851e11066e708768d227250ac10e4ccdfb8f8a7d148afc91d6db81c49ef",
				"urls": [
					"bzz-raw://2a592d5998ef3b5f66ecd403d0c4ff2aedaccfb490d0f87a572ab44233a225ae",
					"dweb:/ipfs/QmWQ93dhawRQNMQNk2RaGsMnaZKYJz8tuwZbBpASiBwcYY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthUtil.sol": "SynthUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthUtil.sol": {
						"keccak256": "0xab16e851e11066e708768d227250ac10e4ccdfb8f8a7d148afc91d6db81c49ef",
						"urls": [
							"bzz-raw://2a592d5998ef3b5f66ecd403d0c4ff2aedaccfb490d0f87a572ab44233a225ae",
							"dweb:/ipfs/QmWQ93dhawRQNMQNk2RaGsMnaZKYJz8tuwZbBpASiBwcYY"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106d13803806106d18339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a15061051a806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101d1565b6100e7610270565b604080516001600160a01b039092168252519081900360200190f35b6100be61027f565b6100e761033b565b61011b61034a565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b5035151561035a565b61011b6103c0565b6100be6004803603602081101561016c57600080fd5b503515156103d0565b61017d610436565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101d9610436565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102c85760405162461bcd60e51b81526004018080602001828103825260358152602001806104826035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b610362610436565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6103d8610436565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b0316331461047f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806104b7602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204664d7d3050c4344d53c494e65bf9603d2a5945ffdd42b2916b339bbe9410f2364736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"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": "0xe967ee4aaefe48b46edfb9a62689a660d5fd07a7c4df571feb527b29bb547480",
				"urls": [
					"bzz-raw://4749fa2efb80b288ecdb632ecc6bf09bc7f15f7792ec2c88e6c9eb63c8f81e25",
					"dweb:/ipfs/QmPBuW4bbU35ntkdymoxMUoaXKRKaNBRMkXcCKhGGxd8RY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0xe967ee4aaefe48b46edfb9a62689a660d5fd07a7c4df571feb527b29bb547480",
						"urls": [
							"bzz-raw://4749fa2efb80b288ecdb632ecc6bf09bc7f15f7792ec2c88e6c9eb63c8f81e25",
							"dweb:/ipfs/QmPBuW4bbU35ntkdymoxMUoaXKRKaNBRMkXcCKhGGxd8RY"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "6008805460ff191660011790556101406040526524b9b9bab2b960d11b60809081526822bc31b430b733b2b960b91b60a0526c45786368616e6765526174657360981b60c0526b53797374656d53746174757360a01b60e0526e115d1a195c90dbdb1b185d195c985b608a1b610100527f4574686572436f6c6c61746572616c735553440000000000000000000000000061012052620000a4906009906006620003fd565b50348015620000b257600080fd5b50604051620026653803806200266583398181016040526040811015620000d857600080fd5b50805160209091015160408051610300810191829052829160099060189082845b815481526020019060010190808311620000f957508793505050506001600160a01b03811662000170576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166200021b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620002835760008282601881106200023757fe5b602002015114620002745760048282601881106200025157fe5b60209081029190910151825460018101845560009384529190922001556200027a565b62000283565b6001016200021e565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620002c26e466c657869626c6553746f7261676560881b620002ca565b505062000460565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018290555460181162000354576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b158015620003a157600080fd5b505afa158015620003b6573d6000803e3d6000fd5b505050506040513d6020811015620003cd57600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b82601881019282156200042e579160200282015b828111156200042e57825182559160200191906001019062000411565b506200043c92915062000440565b5090565b6200045d91905b808211156200043c576000815560010162000447565b90565b6121f580620004706000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063c6c9d82811610097578063d685743a11610071578063d685743a14610648578063e3235c911461066b578063e3476cd414610673578063fc5247731461067b5761018e565b8063c6c9d828146105b5578063cda218c7146105d2578063d0fffafd146106405761018e565b80638da5cb5b146104815780638dd5bfbc14610489578063a5f27edb146104a6578063ab49848c146104ae578063af5355d8146104ef578063b13cd785146104f75761018e565b80633a900a2e1161014b578063631e144411610125578063631e1444146103515780636bf7c4351461038b578063759076e51461045857806379ba5097146104795761018e565b80633a900a2e146102f35780633be99e6f1461032357806353a47bb7146103495761018e565b806304bd11e51461019357806304f3bcec146101b457806305393262146101d85780630fb38465146101f25780631627540c1461020f57806317b38db414610235575b600080fd5b6101b2600480360360208110156101a957600080fd5b50351515610683565b005b6101bc610697565b604080516001600160a01b039092168252519081900360200190f35b6101e06106a6565b60408051918252519081900360200190f35b6101e06004803603602081101561020857600080fd5b50356106ac565b6101b26004803603602081101561022557600080fd5b50356001600160a01b03166106c1565b6101b26004803603604081101561024b57600080fd5b810190602081018135600160201b81111561026557600080fd5b82018360208201111561027757600080fd5b803590602001918460208302840111600160201b8311171561029857600080fd5b919390929091602081019035600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460208302840111600160201b831117156102e857600080fd5b50909250905061071d565b6102fb610798565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b6101b26004803603602081101561033957600080fd5b50356001600160a01b03166107c9565b6101bc6108f6565b6103776004803603602081101561036757600080fd5b50356001600160a01b0316610905565b604080519115158252519081900360200190f35b6103f9600480360360208110156103a157600080fd5b810190602081018135600160201b8111156103bb57600080fd5b8201836020820111156103cd57600080fd5b803590602001918460208302840111600160201b831117156103ee57600080fd5b509092509050610a20565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561044357818101518382015260200161042b565b50505050905001935050505060405180910390f35b610460610a6b565b6040805192835290151560208301528051918290030190f35b6101b2610a7e565b6101bc610b3a565b6101b26004803603602081101561049f57600080fd5b5035610b49565b610377610c25565b6104b6610c2e565b604051808261030080838360005b838110156104dc5781810151838201526020016104c4565b5050505090500191505060405180910390f35b6101e0610c78565b6105656004803603602081101561050d57600080fd5b810190602081018135600160201b81111561052757600080fd5b82018360208201111561053957600080fd5b803590602001918460208302840111600160201b8311171561055a57600080fd5b509092509050610c87565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105a1578181015183820152602001610589565b505050509050019250505060405180910390f35b6101e0600480360360208110156105cb57600080fd5b5035610cce565b6101b2600480360360208110156105e857600080fd5b810190602081018135600160201b81111561060257600080fd5b82018360208201111561061457600080fd5b803590602001918460208302840111600160201b8311171561063557600080fd5b509092509050610cec565b6101e0610e81565b6101b26004803603604081101561065e57600080fd5b5080359060200135610e87565b6101e0610f14565b6101b2610f19565b61037761112e565b61068b61113b565b610694816111a1565b50565b6002546001600160a01b031681565b60055490565b6000818152600660205260409020545b919050565b6106c96111ee565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610725611237565b61079284848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808802828101820190935287825290935087925086918291850190849080828437600092018290525092506112b1915050565b50505050565b6007546005546008546000928392839283929190829060ff166107ba82611466565b94509450945094505090919293565b6107d16111ee565b600280546001600160a01b0319166001600160a01b03831617905560005b6004548110156108f25760006004828154811061080857fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b15801561089257600080fd5b505afa1580156108a6573d6000803e3d6000fd5b505050506040513d60208110156108bc57600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b039092169190911790556001016107ef565b5050565b6001546001600160a01b031681565b6002546000906001600160a01b03838116911614610925575060006106bc565b60005b600454811015610a175760006004828154811061094157fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b1580156109a757600080fd5b505afa1580156109bb573d6000803e3d6000fd5b505050506040513d60208110156109d157600080fd5b50516001600160a01b03161415806109fe57506000818152600360205260409020546001600160a01b0316155b15610a0e576000925050506106bc565b50600101610928565b50600192915050565b60606000610a6084848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061147f92505050565b915091509250929050565b600080610a766115f8565b915091509091565b6001546001600160a01b03163314610ac75760405162461bcd60e51b81526004018080602001828103825260358152602001806120d56035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b610b516111ee565b6000610b5b61175d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9e57600080fd5b505afa158015610bb2573d6000803e3d6000fd5b505050506040513d6020811015610bc857600080fd5b50516001600160a01b031614610c14576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260066020526040812055565b60085460ff1690565b610c366120b5565b60005b600454811015610c745760048181548110610c5057fe5b9060005260206000200154828260188110610c6757fe5b6020020152600101610c39565b5090565b6000610c826117a0565b905090565b6060610cc583838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061184f92505050565b90505b92915050565b60048181548110610cdb57fe5b600091825260209091200154905081565b610cf46118df565b60606000610d00611945565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610d7257600080fd5b505afa158015610d86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610daf57600080fd5b8101908080516040519392919084600160201b821115610dce57600080fd5b908301906020820185811115610de357600080fd5b82518660208202830111600160201b82111715610dff57600080fd5b82525081516020918201928201910280838360005b83811015610e2c578181015183820152602001610e14565b505050509190910160408181526020938401518a850280840186019092528a83529698509596506107929590945089935088928392508501908490808284376000920191909152508692508591506112b19050565b60075490565b610e8f61113b565b604080516001808252818301909252606091602080830190803883390190505090508281600081518110610ebf57fe5b60209081029190910101526040805160018082528183019092526060918160200160208202803883390190505090508281600081518110610efc57fe5b602002602001018181525050610792828260006112b1565b601881565b610f216118df565b6060610f2b61175d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f6357600080fd5b505afa158015610f77573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610fa057600080fd5b8101908080516040519392919084600160201b821115610fbf57600080fd5b908301906020820185811115610fd457600080fd5b82518660208202830111600160201b82111715610ff057600080fd5b82525081516020918201928201910280838360005b8381101561101d578181015183820152602001611005565b505050509050016040525050509050606060006110398361147f565b815191935091506000805b828110156110ae57600085828151811061105a57fe5b60200260200101519050611077818461199690919063ffffffff16565b9250806006600089858151811061108a57fe5b60209081029190910181015182528101919091526040016000205550600101611044565b506005819055426007556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a1611127836111a1565b5050505050565b6000610c82600754611466565b61114361175d565b6001600160a01b0316336001600160a01b03161461119f576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60085460ff16151581151514610694576008805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b0316331461119f5760405162461bcd60e51b815260040180806020018281038252602f81526020018061212b602f913960400191505060405180910390fd5b61123f61175d565b6001600160a01b0316336001600160a01b0316148061127657506112616119f0565b6001600160a01b0316336001600160a01b0316145b61119f5760405162461bcd60e51b815260040180806020018281038252602181526020018061210a6021913960400191505060405180910390fd5b825182518114611308576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b60008060606113178787611a3d565b905060005b848110156113a657600088828151811061133257fe5b60200260200101519050600083838151811061134a57fe5b6020026020010151905061137a60066000848152602001908152602001600020548761199690919063ffffffff16565b955061138c858263ffffffff61199616565b60009283526006602052604090922055925060010161131c565b5081831461144e57600554808411156113f05760405162461bcd60e51b815260040180806020018281038252602381526020018061217b6023913960400191505060405180910390fd5b61141083611404838763ffffffff611de316565b9063ffffffff61199616565b60058190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b841561145d5761145d856111a1565b50505050505050565b60008142036114736117a0565b1080610cc85750501590565b606060006060600061148f611945565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156114ed5781810151838201526020016114d5565b505050509050019250505060006040518083038186803b15801561151057600080fd5b505afa158015611524573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561154d57600080fd5b8101908080516040519392919084600160201b82111561156c57600080fd5b90830190602082018581111561158157600080fd5b82518660208202830111600160201b8211171561159d57600080fd5b82525081516020918201928201910280838360005b838110156115ca5781810151838201526020016115b2565b505050509190910160405250602001519294509192506115ee915086905083611a3d565b9350915050915091565b6000806060600061170e61160a61175d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561164257600080fd5b505afa158015611656573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561167f57600080fd5b8101908080516040519392919084600160201b82111561169e57600080fd5b9083019060208201858111156116b357600080fd5b82518660208202830111600160201b821117156116cf57600080fd5b82525081516020918201928201910280838360005b838110156116fc5781810151838201526020016116e4565b5050505090500160405250505061147f565b815191935091506000805b828110156117515761174785828151811061173057fe5b60200260200101518361199690919063ffffffff16565b9150600101611719565b50945090925050509091565b6000610c826524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250611e40565b60006117aa611ee2565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561181e57600080fd5b505afa158015611832573d6000803e3d6000fd5b505050506040513d602081101561184857600080fd5b5051905090565b6060600082519050606081604051908082528060200260200182016040528015611883578160200160208202803883390190505b50905060005b828110156118d757600660008683815181106118a157fe5b60200260200101518152602001908152602001600020548282815181106118c457fe5b6020908102919091010152600101611889565b509392505050565b6000546001600160a01b0316331461119f576118f9611f35565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561193157600080fd5b505afa158015610792573d6000803e3d6000fd5b6000610c826c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250611e40565b600082820183811015610cc5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c826822bc31b430b733b2b960b91b6040518060400160405280601981526020017f4d697373696e672045786368616e676572206164647265737300000000000000815250611e40565b6060600083519050606081604051908082528060200260200182016040528015611a71578160200160208202803883390190505b5090506060611a7e61175d565b6001600160a01b0316633b6afe40876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611adc578181015183820152602001611ac4565b505050509050019250505060006040518083038186803b158015611aff57600080fd5b505afa158015611b13573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611b3c57600080fd5b8101908080516040519392919084600160201b821115611b5b57600080fd5b908301906020820185811115611b7057600080fd5b82518660208202830111600160201b82111715611b8c57600080fd5b82525081516020918201928201910280838360005b83811015611bb9578181015183820152602001611ba1565b50505050905001604052505050905060008090505b83811015611dd8576000878281518110611be457fe5b602002602001015190506000838381518110611bfc57fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415611c65576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611ca057600080fd5b505afa158015611cb4573d6000803e3d6000fd5b505050506040513d6020811015611cca57600080fd5b50519050631cd554d160e21b83148080611cea5750630e68aa8960e31b84145b15611d8b57600081611d0357611cfe611f85565b611d0b565b611d0b611fd8565b90506000816001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d4857600080fd5b505afa158015611d5c573d6000803e3d6000fd5b505050506040513d6020811015611d7257600080fd5b50519050611d86848263ffffffff611de316565b935050505b611db18a8681518110611d9a57fe5b60200260200101518361201290919063ffffffff16565b878681518110611dbd57fe5b6020908102919091010152505060019092019150611bce9050565b509095945050505050565b600082821115611e3a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828152600360205260408120546001600160a01b031682816118d75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ea7578181015183820152602001611e8f565b50505050905090810190601f168015611ed45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610c826e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250611e40565b6000610c826b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250611e40565b6000610c826e115d1a195c90dbdb1b185d195c985b608a1b6040518060400160405280601f81526020017f4d697373696e67204574686572436f6c6c61746572616c206164647265737300815250611e40565b6000610c8272115d1a195c90dbdb1b185d195c985b1cd554d1606a1b60405180606001604052806023815260200161219e60239139611e40565b6000610cc58383670de0b6b3a7640000848067016345785d8a0000612037868661205c565b8161203e57fe5b0490506005600a82061061205057600a015b600a9004949350505050565b60008261206b57506000610cc8565b8282028284828161207857fe5b0414610cc55760405162461bcd60e51b815260040180806020018281038252602181526020018061215a6021913960400191505060405180910390fd5b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774361636865642073796e74682073756d206578636565647320746f74616c20646562744d697373696e67204574686572436f6c6c61746572616c735553442061646472657373a265627a7a723158204fcfd5b5bff617e3a28c236a2567f1eab4a1ef80cab6dbfae3d72bf22d8c2cb864736f6c63430005100032",
			"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": "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": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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": "cachedSynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0fb38465"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedSynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "snxIssuedDebts",
							"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": "currentSynthDebts",
					"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": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"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": "purgeCachedSynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8dd5bfbc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"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": "updateCachedSynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd685743a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedSynthDebts",
					"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": "updateCachedSynthDebtsWithRates",
					"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": "0xc4146a1ac6b6e159db43fb0d3ae897f5105e2fbd822b68c37c2c7e8814ca1bed",
				"urls": [
					"bzz-raw://5fa8802bda4dae85a257f31e5a9edb927eca566dac928963dfb98ebe0b31c25c",
					"dweb:/ipfs/Qmdn758KoV7va7wiQvN7u8z1iJoofPpmAxY13YMHs76sDq"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DebtCache.sol": "DebtCache"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DebtCache.sol": {
						"keccak256": "0xc4146a1ac6b6e159db43fb0d3ae897f5105e2fbd822b68c37c2c7e8814ca1bed",
						"urls": [
							"bzz-raw://5fa8802bda4dae85a257f31e5a9edb927eca566dac928963dfb98ebe0b31c25c",
							"dweb:/ipfs/Qmdn758KoV7va7wiQvN7u8z1iJoofPpmAxY13YMHs76sDq"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangerWithVirtualSynth": {
			"bytecode": "6101a06040526b53797374656d53746174757360a01b60809081526c45786368616e6765537461746560981b60a0526c45786368616e6765526174657360981b60c052680a6f2dce8d0cae8d2f60bb1b60e05266119959541bdbdb60ca1b610100526d54726164696e675265776172647360901b610120527044656c6567617465417070726f76616c7360781b610140526524b9b9bab2b960d11b610160526844656274436163686560b81b61018052620000bf9060069060096200041e565b50348015620000cd57600080fd5b5060405162005d4f38038062005d4f83398181016040526040811015620000f357600080fd5b5080516020909101516040805161030081019182905283918391829160069060189082845b8154815260200190600101908083116200011857508793505050506001600160a01b0381166200018f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b03166200023a576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620002a25760008282601881106200025657fe5b602002015114620002935760048282601881106200027057fe5b602090810291909101518254600181018455600093845291909220015562000299565b620002a2565b6001016200023d565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620002e16e466c657869626c6553746f7261676560881b620002eb565b5050505062000481565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b018290555460181162000375576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b158015620003c257600080fd5b505afa158015620003d7573d6000803e3d6000fd5b505050506040513d6020811015620003ee57600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b82601881019282156200044f579160200282015b828111156200044f57825182559160200191906001019062000432565b506200045d92915062000461565b5090565b6200047e91905b808211156200045d576000815560010162000468565b90565b6158be80620004916000396000f3fe60806040523480156200001157600080fd5b5060043610620002085760003560e01c80636a1c4758116200011d578063c193f0d811620000b1578063dfffca76116200007b578063dfffca76146200061f578063e3235c911462000672578063f3995224146200067c578063f450aa3414620006e65762000208565b8063c193f0d814620005a0578063c6c9d82814620005aa578063ce09694014620005ca578063d6f32e0614620005f05762000208565b806386baa45c11620000f357806386baa45c14620004f45780638925711714620005475780638da5cb5b1462000551578063ab49848c146200055b5762000208565b80636a1c4758146200048557806379ba509714620004ca5780637dd1a57a14620004d45762000208565b80631b16802c11620001a15780634c268fc8116200016b5780634c268fc814620003e357806353a47bb7146200041e57806357af302c1462000428578063631e1444146200045c5762000208565b80631b16802c1462000377578063372a395a14620003a65780633be99e6f14620003b05780633fa70f4514620003d95762000208565b80630b9e31c911620001e35780630b9e31c914620002b95780631627540c14620002db57806319d5c66514620003045780631a5c609514620003515762000208565b806304f3bcec146200020d578063059c29ec14620002335780630a1e187d1462000274575b600080fd5b6200021762000712565b604080516001600160a01b039092168252519081900360200190f35b62000262600480360360408110156200024b57600080fd5b506001600160a01b03813516906020013562000721565b60408051918252519081900360200190f35b62000262600480360360a08110156200028c57600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160809091013516620007cc565b620002d960048036036020811015620002d157600080fd5b5035620008d7565b005b620002d960048036036020811015620002f357600080fd5b50356001600160a01b031662000b4c565b62000333600480360360408110156200031c57600080fd5b506001600160a01b03813516906020013562000baa565b60408051938452602084019290925282820152519081900360600190f35b62000262600480360360408110156200036957600080fd5b508035906020013562000bca565b62000333600480360360408110156200038f57600080fd5b506001600160a01b03813516906020013562000bd8565b6200026262000c5f565b620002d960048036036020811015620003c857600080fd5b50356001600160a01b031662000c70565b6200026262000da5565b6200026260048036036080811015620003fb57600080fd5b506001600160a01b03813516906020810135906040810135906060013562000daa565b6200021762000ed6565b62000448600480360360208110156200044057600080fd5b503562000ee5565b604080519115158252519081900360200190f35b62000448600480360360208110156200047457600080fd5b50356001600160a01b031662000f42565b62000262600480360360a08110156200049d57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013562001068565b620002d962001246565b6200026260048036036020811015620004ec57600080fd5b503562001304565b62000262600480360360e08110156200050c57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c0013562001316565b6200026262001430565b620002176200143c565b620005656200144b565b604051808261030080838360005b838110156200058d57818101518382015260200162000573565b5050505090500191505060405180910390f35b620004486200149b565b6200026260048036036020811015620005c257600080fd5b5035620014a7565b620002d960048036036040811015620005e257600080fd5b5080359060200135620014c6565b62000448600480360360408110156200060857600080fd5b506001600160a01b03813516906020013562001592565b62000262600480360360e08110156200063757600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135620015ca565b62000262620017b5565b620006c5600480360360c08110156200069457600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135620017ba565b604080519283526001600160a01b0390911660208301528051918290030190f35b6200033360048036036060811015620006fe57600080fd5b5080359060208101359060400135620018df565b6002546001600160a01b031681565b6000620007c36200073162001901565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200078f57600080fd5b505afa158015620007a4573d6000803e3d6000fd5b505050506040513d6020811015620007bb57600080fd5b505162001954565b90505b92915050565b600080620007d9620019be565b9050336001600160a01b03821614806200086a5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156200083957600080fd5b505afa1580156200084e573d6000803e3d6000fd5b505050506040513d60208110156200086557600080fd5b505114155b620008a75760405162461bcd60e51b8152600401808060200182810382526045815260200180620057b06045913960600191505060405180910390fd5b6000620008ba8888888888600062001a0d565b509093509050620008cc818562001e3f565b505095945050505050565b620008e162001ef7565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156200091a57600080fd5b505afa1580156200092f573d6000803e3d6000fd5b5050505060006001600160a01b03166200094862001f49565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200098c57600080fd5b505afa158015620009a1573d6000803e3d6000fd5b505050506040513d6020811015620009b857600080fd5b50516001600160a01b0316141562000a07576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b62000a8e8162000a1662001f8e565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000a5a57600080fd5b505afa15801562000a6f573d6000803e3d6000fd5b505050506040513d602081101562000a8657600080fd5b505162001fe1565b62000ad7576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b62000ae162001ef7565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801562000b3057600080fd5b505af115801562000b45573d6000803e3d6000fd5b5050505050565b62000b566200224f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600062000bbb85856200229c565b50919790965090945092505050565b6000620007c3838362002591565b600080600062000be762001ef7565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801562000c2b57600080fd5b505afa15801562000c40573d6000803e3d6000fd5b5050505062000c52858560016200259e565b9250925092509250925092565b600062000c6b62002934565b905090565b62000c7a6200224f565b600280546001600160a01b0319166001600160a01b03831617905560005b60045481101562000da15760006004828154811062000cb357fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b15801562000d3e57600080fd5b505afa15801562000d53573d6000803e3d6000fd5b505050506040513d602081101562000d6a57600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b0390921691909117905560010162000c98565b5050565b604181565b81600062000db762001f49565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000dfb57600080fd5b505afa15801562000e10573d6000803e3d6000fd5b505050506040513d602081101562000e2757600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801562000e7457600080fd5b505afa15801562000e89573d6000803e3d6000fd5b505050506040513d602081101562000ea057600080fd5b505190508082111562000eb1578091505b821562000ecd5762000eca828463ffffffff620029f016565b91505b50949350505050565b6001546001600160a01b031681565b600062000f3a8262000ef662001f8e565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000a5a57600080fd5b90505b919050565b6002546000906001600160a01b0383811691161462000f645750600062000f3d565b60005b6004548110156200105f5760006004828154811062000f8257fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b15801562000fe957600080fd5b505afa15801562000ffe573d6000803e3d6000fd5b505050506040513d60208110156200101557600080fd5b50516001600160a01b03161415806200104357506000818152600360205260409020546001600160a01b0316155b15620010555760009250505062000f3d565b5060010162000f67565b50600192915050565b60008062001075620019be565b9050336001600160a01b0382161480620011065750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015620010d557600080fd5b505afa158015620010ea573d6000803e3d6000fd5b505050506040513d60208110156200110157600080fd5b505114155b620011435760405162461bcd60e51b8152600401808060200182810382526045815260200180620057b06045913960600191505060405180910390fd5b6200114d62002a4b565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b158015620011a157600080fd5b505afa158015620011b6573d6000803e3d6000fd5b505050506040513d6020811015620011cd57600080fd5b505162001221576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b600062001234888787878c600062001a0d565b509093509050620008cc818962001e3f565b6001546001600160a01b03163314620012915760405162461bcd60e51b81526004018080602001828103825260358152602001806200575a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60056020526000908152604090205481565b60008062001323620019be565b9050336001600160a01b0382161480620013b45750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156200138357600080fd5b505afa15801562001398573d6000803e3d6000fd5b505050506040513d6020811015620013af57600080fd5b505114155b620013f15760405162461bcd60e51b8152600401808060200182810382526045815260200180620057b06045913960600191505060405180910390fd5b6000620014048a8a8a8a8a600062001a0d565b50909350905062001416818662001e3f565b6200142384888562002a86565b5050979650505050505050565b600062000c6b62002b04565b6000546001600160a01b031681565b6200145562004358565b60005b6004548110156200149757600481815481106200147157fe5b90600052602060002001548282601881106200148957fe5b602002015260010162001458565b5090565b600062000c6b62002b81565b60048181548110620014b557fe5b600091825260209091200154905081565b6000620014d262001f8e565b9050336001600160a01b0382161462001532576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b600082116200157f576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526005602052604090912055565b6000620015a0838362000721565b15620015af57506001620007c6565b6000620015bd84846200229c565b5050501515949350505050565b600080620015d7620019be565b9050336001600160a01b0382161480620016685750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156200163757600080fd5b505afa1580156200164c573d6000803e3d6000fd5b505050506040513d60208110156200166357600080fd5b505114155b620016a55760405162461bcd60e51b8152600401808060200182810382526045815260200180620057b06045913960600191505060405180910390fd5b620016af62002a4b565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b1580156200170357600080fd5b505afa15801562001718573d6000803e3d6000fd5b505050506040513d60208110156200172f57600080fd5b505162001783576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000620017968a8989898e600062001a0d565b509093509050620017a8818662001e3f565b6200142384878562002a86565b601881565b6000806000620017c9620019be565b9050336001600160a01b03821614806200185a5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156200182957600080fd5b505afa1580156200183e573d6000803e3d6000fd5b505050506040513d60208110156200185557600080fd5b505114155b620018975760405162461bcd60e51b8152600401808060200182810382526045815260200180620057b06045913960600191505060405180910390fd5b6000620018aa8a8a8a8a8a600162001a0d565b9195509093509050620018be818762001e3f565b8415620018d257620018d285888662002a86565b5050965096945050505050565b6000806000620018f186868662002c02565b5092999198509650945050505050565b600062000c6b6c45786368616e6765537461746560981b6040518060400160405280601d81526020017f4d697373696e672045786368616e67655374617465206164647265737300000081525062002ce7565b6000806200196162002b04565b90508215806200198257506200197e838263ffffffff620029f016565b4210155b156200199357600091505062000f3d565b620019b742620019aa858463ffffffff620029f016565b9063ffffffff62002d9516565b9392505050565b600062000c6b680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e74686574697820616464726573730000000000000081525062002ce7565b600080600062001a1f88888862002df3565b600062001a2e888b8b62002fd9565b90508062001a4757506000925082915081905062001e33565b600080600062001a59848d8c62002c02565b939a5091985094509250905062001a718c8362003016565b8062001a84575062001a848a8262003016565b1562001a9f57506000955085945084935062001e3392505050565b62001ab08c8e868d8b8e8e620030b9565b94506001600160a01b0385161562001ac6578498505b851562001d355762001ad762001f8e565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801562001b3257600080fd5b505afa15801562001b47573d6000803e3d6000fd5b505050506040513d602081101562001b5e57600080fd5b5051955062001b6c62001f49565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562001bb757600080fd5b505afa15801562001bcc573d6000803e3d6000fd5b505050506040513d602081101562001be357600080fd5b50516001600160a01b031663867904b462001bfd620033ae565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562001c3657600080fd5b505afa15801562001c4b573d6000803e3d6000fd5b505050506040513d602081101562001c6257600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801562001cb257600080fd5b505af115801562001cc7573d6000803e3d6000fd5b5050505062001cd5620033ae565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562001d1b57600080fd5b505af115801562001d30573d6000803e3d6000fd5b505050505b62001d6960405180604001604052808e81526020018c815250604051806040016040528085815260200184815250620033fb565b62001d73620019be565b6001600160a01b0316636c00f3108e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801562001e0557600080fd5b505af115801562001e1a573d6000803e3d6000fd5b5050505062001e2e898d868d8b88620036d0565b505050505b96509650969350505050565b60008211801562001e5857506001600160a01b03811615155b801562001e6a575062001e6a62002b81565b1562000da15762001e7a620038ed565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801562001eda57600080fd5b505af115801562001eef573d6000803e3d6000fd5b505050505050565b600062000c6b6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d53746174757320616464726573730000000081525062002ce7565b600062000c6b6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b81525062002ce7565b600062000c6b6c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e67655261746573206164647265737300000081525062002ce7565b60008162001ff257506001620007c6565b60008381526005602052604090205480156200201d5762002014818462003941565b915050620007c6565b60606200202962001f8e565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156200207657600080fd5b505afa1580156200208b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015620020b557600080fd5b8101908080516040519392919084640100000000821115620020d657600080fd5b908301906020820185811115620020ec57600080fd5b82518660208202830111640100000000821117156200210a57600080fd5b82525081516020918201928201910280838360005b83811015620021395781810151838201526020016200211f565b50505050905001604052602001805160405193929190846401000000008211156200216357600080fd5b9083019060208201858111156200217957600080fd5b82518660208202830111640100000000821117156200219757600080fd5b82525081516020918201928201910280838360005b83811015620021c6578181015183820152602001620021ac565b505050509050016040525050505090506000600190505b815181101562002243576000828281518110620021f657fe5b6020026020010151118015620022275750620022278282815181106200221857fe5b60200260200101518662003941565b156200223a5760019350505050620007c6565b600101620021dd565b50600095945050505050565b6000546001600160a01b031633146200229a5760405162461bcd60e51b815260040180806020018281038252602f815260200180620057f5602f913960400191505060405180910390fd5b565b60008060006060620022ad62001901565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200230b57600080fd5b505afa15801562002320573d6000803e3d6000fd5b505050506040513d60208110156200233757600080fd5b50516040805182815260208084028201019091529092506060908380156200237c57816020015b6200236862004377565b8152602001906001900390816200235e5790505b50905060005b8381101562002585576000806200239862004377565b620023a58b8b86620039ab565b9050600080620023b58362003acd565b915091506000620023c562001f8e565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156200243557600080fd5b505afa1580156200244a573d6000803e3d6000fd5b505050506040513d60208110156200246157600080fd5b505160808501519091506000906200247b90839062003c2a565b90506200248d85606001518262003941565b6200250e578085606001511115620024d2576060850151620024b6908263ffffffff62002d9516565b9650620024ca8d8863ffffffff620029f016565b9c506200250e565b84606001518111156200250e576060850151620024f790829063ffffffff62002d9516565b95506200250b8c8763ffffffff620029f016565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a001518152508989815181106200256557fe5b602002602001018190525050505050505050808060010191505062002382565b50905092959194509250565b6000620007c38262003cc3565b6000806000620025af868662000721565b15620025ed5760405162461bcd60e51b8152600401808060200182810382526023815260200180620058676023913960400191505060405180910390fd5b60008060006060620026008a8a6200229c565b935093509350935082841115620026385762002623848463ffffffff62002d9516565b9650620026328a8a8962003da0565b62002662565b83831115620026625762002653838563ffffffff62002d9516565b9550620026628a8a8862003efa565b871562002751576040805160018082528183019092526060916020808301908038833901905050905089816000815181106200269a57fe5b602002602001018181525050620026b062004054565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101562002710578181015183820152602001620026f6565b5050505090500192505050600060405180830381600087803b1580156200273657600080fd5b505af11580156200274b573d6000803e3d6000fd5b50505050505b60005b8151811015620028a0578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e9408383815181106200279657fe5b602002602001015160000151848481518110620027af57fe5b602002602001015160200151858581518110620027c857fe5b602002602001015160400151868681518110620027e157fe5b602002602001015160600151878781518110620027fa57fe5b6020026020010151608001518888815181106200281357fe5b602002602001015160a001518989815181106200282c57fe5b602002602001015160c001518a8a815181106200284557fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a260010162002754565b50819450620028ae62001901565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156200290e57600080fd5b505af115801562002923573d6000803e3d6000fd5b505050505050505093509350939050565b600062002940620040a3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015620029bd57600080fd5b505afa158015620029d2573d6000803e3d6000fd5b505050506040513d6020811015620029e957600080fd5b5051905090565b600082820183811015620007c3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600062000c6b7044656c6567617465417070726f76616c7360781b6040518060600160405280602181526020016200578f6021913962002ce7565b62002a90620019be565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801562002ae657600080fd5b505af115801562002afb573d6000803e3d6000fd5b50505050505050565b600062002b10620040a3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015620029bd57600080fd5b600062002b8d620040a3565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015620029bd57600080fd5b60008060008060008062002c1562001f8e565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801562002c6957600080fd5b505afa15801562002c7e573d6000803e3d6000fd5b505050506040513d606081101562002c9557600080fd5b5080516020820151604090920151919450909250905062002cb7888862002591565b935062002cc5818562003c2a565b955062002cd9818763ffffffff62002d9516565b945050939792965093509350565b6000828152600360205260408120546001600160a01b0316828162002d8d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562002d5157818101518382015260200162002d37565b50505050905090810190601f16801562002d7f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60008282111562002ded576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8083141562002e3f576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b6000821162002e83576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811062002eb257fe5b602002602001018181525050818160018151811062002ecd57fe5b60200260200101818152505062002ee362001f8e565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101562002f4357818101518382015260200162002f29565b505050509050019250505060206040518083038186803b15801562002f6757600080fd5b505afa15801562002f7c573d6000803e3d6000fd5b505050506040513d602081101562002f9357600080fd5b50511562002fd35760405162461bcd60e51b8152600401808060200182810382526022815260200180620058456022913960400191505060405180910390fd5b50505050565b600080600062002fec858560006200259e565b88955090935091505080156200300d576200300a8585888562000daa565b92505b50509392505050565b600062003024838362001fe1565b15620030a6576200303462001ef7565b6001600160a01b031663abc0bb6e8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156200308357600080fd5b505af115801562003098573d6000803e3d6000fd5b5050505060019050620007c6565b6000928352600560205260409092205590565b6000620030c562001f49565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200310957600080fd5b505afa1580156200311e573d6000803e3d6000fd5b505050506040513d60208110156200313557600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156200318a57600080fd5b505af11580156200319f573d6000803e3d6000fd5b505050506000620031af62001f49565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620031f357600080fd5b505afa15801562003208573d6000803e3d6000fd5b505050506040513d60208110156200321f57600080fd5b50519050821562003327576000819050620032a4816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156200326d57600080fd5b505afa15801562003282573d6000803e3d6000fd5b505050506040513d60208110156200329957600080fd5b505186888a620040f8565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156200330757600080fd5b505af11580156200331c573d6000803e3d6000fd5b5050505050620033a2565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156200338857600080fd5b505af11580156200339d573d6000803e3d6000fd5b505050505b50979650505050505050565b600062000c6b66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c206164647265737300000000000000000081525062002ce7565b8151600090631cd554d160e21b14806200341f57506020830151631cd554d160e21b145b90506000816200343157600362003434565b60025b60ff16905060608160405190808252806020026020018201604052801562003466578160200160208202803883390190505b5090508460006020020151816000815181106200347f57fe5b6020908102919091010152846001602002015181600181518110620034a057fe5b602002602001018181525050606082604051908082528060200260200182016040528015620034d9578160200160208202803883390190505b509050846000602002015181600081518110620034f257fe5b60209081029190910101528460016020020151816001815181106200351357fe5b60200260200101818152505083620035d757631cd554d160e21b826002815181106200353b57fe5b60200260200101818152505073__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200358c57600080fd5b505af4158015620035a1573d6000803e3d6000fd5b505050506040513d6020811015620035b857600080fd5b5051815182906002908110620035ca57fe5b6020026020010181815250505b620035e162004054565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015620036465781810151838201526020016200362c565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015620036875781810151838201526020016200366d565b50505050905001945050505050600060405180830381600087803b158015620036af57600080fd5b505af1158015620036c4573d6000803e3d6000fd5b50505050505050505050565b6000620036dc62001f8e565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200372557600080fd5b505afa1580156200373a573d6000803e3d6000fd5b505050506040513d60208110156200375157600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015620037a157600080fd5b505afa158015620037b6573d6000803e3d6000fd5b505050506040513d6020811015620037cd57600080fd5b50519050620037db62001901565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b1580156200386157600080fd5b505af115801562003876573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b600062000c6b6d54726164696e675265776172647360901b6040518060400160405280601e81526020017f4d697373696e672054726164696e67526577617264732061646472657373000081525062002ce7565b60008215806200394f575081155b156200395e57506001620007c6565b60008383111562003983576200397b838563ffffffff6200423316565b905062003998565b62003995848463ffffffff6200423316565b90505b620039a262002934565b11159392505050565b620039b562004377565b600080600080600080600080620039cb62001901565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801562003a3257600080fd5b505afa15801562003a47573d6000803e3d6000fd5b505050506040513d61010081101562003a5f57600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b600080600062003adc62001f8e565b9050600062003aea62002b04565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801562003b5557600080fd5b505afa15801562003b6a573d6000803e3d6000fd5b505050506040513d602081101562003b8157600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b15801562003bf257600080fd5b505afa15801562003c07573d6000803e3d6000fd5b505050506040513d602081101562003c1e57600080fd5b50519395939450505050565b6000620007c362003cb58373__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801562003c7a57600080fd5b505af415801562003c8f573d6000803e3d6000fd5b505050506040513d602081101562003ca657600080fd5b50519063ffffffff62002d9516565b849063ffffffff6200426116565b600062003ccf620040a3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562003d6c57600080fd5b505afa15801562003d81573d6000803e3d6000fd5b505050506040513d602081101562003d9857600080fd5b505192915050565b62003daa62001f49565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562003dee57600080fd5b505afa15801562003e03573d6000803e3d6000fd5b505050506040513d602081101562003e1a57600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801562003e6f57600080fd5b505af115801562003e84573d6000803e3d6000fd5b5050505062003e92620019be565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002ae657600080fd5b62003f0462001f49565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562003f4857600080fd5b505afa15801562003f5d573d6000803e3d6000fd5b505050506040513d602081101562003f7457600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801562003fc957600080fd5b505af115801562003fde573d6000803e3d6000fd5b5050505062003fec620019be565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002ae657600080fd5b600062000c6b6844656274436163686560b81b6040518060400160405280601981526020017f4d697373696e672044656274436163686520616464726573730000000000000081525062002ce7565b600062000c6b6e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f7261676520616464726573730081525062002ce7565b6000606960f81b6001600160f81b031983831a60f81b16141562004163576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b60025460405186916001600160a01b0316908690869086906200418690620043c2565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f080158015620041d5573d6000803e3d6000fd5b50604080516001600160a01b03808416825260208201869052818301879052915192935081871692918816917fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f9181900360600190a3949350505050565b6000620007c3826200425485670de0b6b3a764000063ffffffff6200428e16565b9063ffffffff620042ec16565b6000670de0b6b3a76400006200427e848463ffffffff6200428e16565b816200428657fe5b049392505050565b6000826200429f57506000620007c6565b82820282848281620042ad57fe5b0414620007c35760405162461bcd60e51b8152600401808060200182810382526021815260200180620058246021913960400191505060405180910390fd5b600080821162004343576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200434f57fe5b04949350505050565b6040518061030001604052806018906020820280388339509192915050565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b61138980620043d18339019056fe60806040526004805460ff60a01b1916905534801561001d57600080fd5b50604051611389380380611389833981810160405260a081101561004057600080fd5b508051602082015160408301516060840151608090940151600380546001600160a01b038087166001600160a01b03199283161790925560048054928616929091169190911790556007819055929391929091906100a783836001600160e01b036100b416565b506005555061020f915050565b6001600160a01b03821661010f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610128816002546101ae60201b610b011790919060201c565b6002556001600160a01b03821660009081526020818152604090912054610158918390610b016101ae821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015610208576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61116b8061021e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80633db3dc9b116100b85780638f7758391161007c5780638f7758391461036657806395d89b411461036e578063a457c2d714610376578063a9059cbb146103a2578063dbd06c85146103ce578063dd62ed3e146103d657610142565b80633db3dc9b146103005780634be37cea146103085780636a256b291461031057806370a082311461033857806378f2ac261461035e57610142565b806323b872dd1161010a57806323b872dd1461024a5780632c4e722e14610280578063313ce56714610288578063378dc3dc146102a657806339509351146102ae5780633af9e669146102da57610142565b806304f3bcec1461014757806306fdde031461016b578063095ea7b3146101e8578063115f4fee1461022857806318160ddd14610230575b600080fd5b61014f610404565b604080516001600160a01b039092168252519081900360200190f35b610173610413565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ad578181015183820152602001610195565b50505050905090810190601f1680156101da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610214600480360360408110156101fe57600080fd5b506001600160a01b03813516906020013561044d565b604080519115158252519081900360200190f35b61014f610464565b610238610473565b60408051918252519081900360200190f35b6102146004803603606081101561026057600080fd5b506001600160a01b03813581169160208101359091169060400135610479565b6102386104d0565b6102906104df565b6040805160ff9092168252519081900360200190f35b6102386104e4565b610214600480360360408110156102c457600080fd5b506001600160a01b0381351690602001356104ea565b610238600480360360208110156102f057600080fd5b50356001600160a01b0316610526565b610238610531565b610238610537565b6103366004803603602081101561032657600080fd5b50356001600160a01b0316610541565b005b6102386004803603602081101561034e57600080fd5b50356001600160a01b03166105f5565b610214610610565b610214610620565b610173610630565b6102146004803603604081101561038c57600080fd5b506001600160a01b03813516906020013561065c565b610214600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610698565b6102386106a5565b610238600480360360408110156103ec57600080fd5b506001600160a01b03813581169160200135166106ab565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b61029bcb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b600061045a3384846106d6565b5060015b92915050565b6003546001600160a01b031681565b60025490565b60006104868484846107c2565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546104c69186916104c1908663ffffffff61090416565b6106d6565b5060019392505050565b60006104da610961565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff610b0116565b600061045e82610b62565b60065481565b60006104da610b88565b610549610c22565b6003546001600160a01b031663a9059cbb8261056481610b62565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b505050506040513d60208110156105dd57600080fd5b506105f29050816105ed816105f5565b610da2565b50565b6001600160a01b031660009081526020819052604090205490565b600061061a610b88565b15905090565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff61090416565b600061045a3384846107c2565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661071b5760405162461bcd60e51b81526004018080602001828103825260248152602001806111136024913960400191505060405180910390fd5b6001600160a01b0382166107605760405162461bcd60e51b815260040180806020018281038252602281526020018061108a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108075760405162461bcd60e51b81526004018080602001828103825260258152602001806110ee6025913960400191505060405180910390fd5b6001600160a01b03821661084c5760405162461bcd60e51b81526004018080602001828103825260238152602001806110676023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610875908263ffffffff61090416565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108aa908263ffffffff610b0116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561095b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600554600014156109765750600061044a565b600454600090600160a01b900460ff16610ae257600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b50519050600080610a0e610e7b565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610a6d57600080fd5b505afa158015610a81573d6000803e3d6000fd5b505050506040513d6060811015610a9757600080fd5b50805160209091015190925090508115610ac257610abb838363ffffffff61090416565b9250610adb565b8015610adb57610ad8838263ffffffff610b0116565b92505b5050610ae7565b506006545b600554610afb90829063ffffffff610f0a16565b91505090565b600082820183811015610b5b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610b6e836105f5565b9050610b5b610b7b610961565b829063ffffffff610f1f16565b6000610b92610e7b565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610bf157600080fd5b505afa158015610c05573d6000803e3d6000fd5b505050506040513d6020811015610c1b57600080fd5b5051905090565b600454600160a01b900460ff1615610c3957610da0565b6004805460ff60a01b1916600160a01b179055610c54610e7b565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b505050506040513d6060811015610cdf57600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d6020811015610d5657600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610d84610473565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610de75760405162461bcd60e51b81526004018080602001828103825260218152602001806110cd6021913960400191505060405180910390fd5b600254610dfa908263ffffffff61090416565b6002556001600160a01b038216600090815260208190526040902054610e26908263ffffffff61090416565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610bf157600080fd5b6000610b5b8383670de0b6b3a7640000610f34565b6000610b5b8383670de0b6b3a7640000610f78565b600080610f5a84610f4e87600a870263ffffffff610fa316565b9063ffffffff610ffc16565b90506005600a825b0610610f6c57600a015b600a9004949350505050565b600080600a8304610f8f868663ffffffff610fa316565b81610f9657fe5b0490506005600a82610f62565b600082610fb25750600061045e565b82820282848281610fbf57fe5b0414610b5b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110ac6021913960400191505060405180910390fd5b6000808211611052576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161105d57fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820b3f1c9f1b96a3f59c245005fe71abf7e7a48dfe9e6c2f194eaf6c53f9b76b4fb64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c73206164647265737345786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a723158209bc03629d25c84a751dd58af124bbd3def66dabb3a6e19c85c93d73f0b7a5d1064736f6c63430005100032",
			"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": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "vSynth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "VirtualSynthCreated",
					"type": "event",
					"signature": "0xb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"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 IVirtualSynth",
							"name": "vSynth",
							"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": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"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": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isSynthRateInvalid",
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce096940"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"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": "suspendSynthWithInvalidRate",
					"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": "0x8c313e7c9855de0bd7bd331fd0b6b0d24c0aa95fd8d430ee40fb6d13f8faf4ed",
				"urls": [
					"bzz-raw://ffafe1e09d2fa2bf1c4d1197a4aa2ba91bd6a76320d54c25b9023ca0e9a2a750",
					"dweb:/ipfs/QmR4oCwWN97Ecu2BHZDLLJfYqJ6pHcbVKM6ZyK5cFkQYm8"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangerWithVirtualSynth.sol": "ExchangerWithVirtualSynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangerWithVirtualSynth.sol": {
						"keccak256": "0x8c313e7c9855de0bd7bd331fd0b6b0d24c0aa95fd8d430ee40fb6d13f8faf4ed",
						"urls": [
							"bzz-raw://ffafe1e09d2fa2bf1c4d1197a4aa2ba91bd6a76320d54c25b9023ca0e9a2a750",
							"dweb:/ipfs/QmR4oCwWN97Ecu2BHZDLLJfYqJ6pHcbVKM6ZyK5cFkQYm8"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixBridgeToOptimism": {
			"bytecode": "6101206040526c32bc3a1d26b2b9b9b2b733b2b960991b6080908152680a6f2dce8d0cae8d2f60bb1b60a0526524b9b9bab2b960d11b60c0527f52657761726473446973747269627574696f6e0000000000000000000000000060e0527f6f766d3a53796e746865746978427269646765546f42617365000000000000006101005262000090906005908162000246565b503480156200009e57600080fd5b5060405162001ac738038062001ac7833981016040819052620000c191620002bc565b60408051610300810191829052829160059060189082845b815481526020019060010190808311620000d957508793505050506001600160a01b038116620001265760405162461bcd60e51b81526004016200011d90620003b9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200017391849062000381565b60405180910390a1506000546001600160a01b0316620001a75760405162461bcd60e51b81526004016200011d90620003a7565b60005b60188110156200020f576000828260188110620001c357fe5b60200201511462000200576004828260188110620001dd57fe5b602090810291909101518254600181018455600093845291909220015562000206565b6200020f565b600101620001aa565b5050600280546001600160a01b0319166001600160a01b03929092169190911790555050601d805460ff1916600117905562000414565b826018810192821562000277579160200282015b82811115620002775782518255916020019190600101906200025a565b506200028592915062000289565b5090565b620002a691905b8082111562000285576000815560010162000290565b90565b8051620002b681620003fa565b92915050565b60008060408385031215620002d057600080fd5b6000620002de8585620002a9565b9250506020620002f185828601620002a9565b9150509250929050565b6200030681620003e6565b82525050565b6200030681620003d4565b600062000326601183620003cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000355601983620003cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620003918285620002fb565b620003a060208301846200030c565b9392505050565b60208082528101620002b68162000317565b60208082528101620002b68162000346565b90815260200190565b60006001600160a01b038216620002b6565b6000620002b6826000620002b682620003d4565b6200040581620003d4565b81146200041157600080fd5b50565b6116a380620004246000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063c6c9d82811610066578063c6c9d828146101e6578063d7f5b35914610206578063e2ff2d4314610219578063e3235c911461022c57610100565b80638da5cb5b146101a3578063ab49848c146101ab578063b512105f146101c0578063b6b55f25146101d357610100565b80633c6b16ab116100d35780633c6b16ab1461016057806353a47bb714610173578063631e14441461018857806379ba50971461019b57610100565b806304f3bcec146101055780631627540c14610123578063186601ca146101385780633be99e6f1461014d575b600080fd5b61010d610234565b60405161011a91906114de565b60405180910390f35b610136610131366004610fab565b610243565b005b6101406102a1565b60405161011a91906114a3565b61013661015b366004611047565b6102aa565b61013661016e366004611065565b6103ae565b61017b610403565b60405161011a91906113ca565b610140610196366004611047565b610412565b61013661053e565b61017b6105da565b6101b36105e9565b60405161011a9190611494565b6101366101ce366004611065565b610633565b6101366101e1366004611065565b6106ce565b6101f96101f4366004611065565b6108f9565b60405161011a91906114b1565b610136610214366004610fab565b610917565b610136610227366004610fef565b610aa5565b6101f9610c55565b6002546001600160a01b031681565b61024b610c5a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906102969083906113ca565b60405180910390a150565b601d5460ff1681565b6102b2610c5a565b600280546001600160a01b0319166001600160a01b03831617905560005b6004548110156103aa576000600482815481106102e957fe5b60009182526020909120015460025460405163dacb2d0160e01b81529192506001600160a01b03169063dacb2d01906103269084906004016114bf565b60206040518083038186803b15801561033e57600080fd5b505afa158015610352573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103769190810190610fd1565b60009182526003602052604090912080546001600160a01b0319166001600160a01b039092169190911790556001016102d0565b5050565b6103b6610c86565b6103be610ca8565b6001600160a01b0316336001600160a01b0316146103f75760405162461bcd60e51b81526004016103ee9061155d565b60405180910390fd5b61040081610ce7565b50565b6001546001600160a01b031681565b6002546000906001600160a01b0383811691161461043257506000610539565b60005b6004548110156105335760006004828154811061044e57fe5b600091825260208083209091015480835260039091526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061049f9085906004016114b1565b60206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104ef9190810190610fd1565b6001600160a01b031614158061051a57506000818152600360205260409020546001600160a01b0316155b1561052a57600092505050610539565b50600101610435565b50600190505b919050565b6001546001600160a01b031633146105685760405162461bcd60e51b81526004016103ee906114fd565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ab926001600160a01b039182169291169061143c565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6105f1610f4a565b60005b60045481101561062f576004818154811061060b57fe5b906000526020600020015482826018811061062257fe5b60200201526001016105f4565b5090565b61063b610c86565b610643610dd2565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b8152600401610672939291906113d8565b602060405180830381600087803b15801561068c57600080fd5b505af11580156106a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c49190810190611029565b5061040081610ce7565b6106d6610c86565b6106de610e1f565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016107099190611400565b60206040518083038186803b15801561072157600080fd5b505afa158015610735573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107599190810190611083565b156107765760405162461bcd60e51b81526004016103ee9061151d565b61077e610dd2565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016107ad939291906113d8565b602060405180830381600087803b1580156107c757600080fd5b505af11580156107db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ff9190810190611029565b506060338260405160240161081592919061141a565b60408051601f198184030181529190526020810180516001600160e01b0316630404d17160e01b1790529050610849610e62565b6001600160a01b0316633dbb202b61085f610eb3565b83622dc6c06040518463ffffffff1660e01b815260040161088293929190611465565b600060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b50505050336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c836040516108ed91906114b1565b60405180910390a25050565b6004818154811061090657fe5b600091825260209091200154905081565b61091f610c5a565b610927610c86565b6001600160a01b03811661094d5760405162461bcd60e51b81526004016103ee9061156d565b601d805460ff191690556000610961610dd2565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161099191906113ca565b60206040518083038186803b1580156109a957600080fd5b505afa1580156109bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109e19190810190611083565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb90610a12908690859060040161141a565b602060405180830381600087803b158015610a2c57600080fd5b505af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a649190810190611029565b507fa1bbeeb6860c5db529c582b6bdbc57a2e9862ef771e5bed3a082f7d9da54904a308483604051610a9893929190611457565b60405180910390a1505050565b610aad610c86565b610ab5610e62565b6001600160a01b0316336001600160a01b031614610ae55760405162461bcd60e51b81526004016103ee9061154d565b610aed610eb3565b6001600160a01b0316610afe610e62565b6001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3657600080fd5b505afa158015610b4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6e9190810190610fd1565b6001600160a01b031614610b945760405162461bcd60e51b81526004016103ee9061150d565b610b9c610dd2565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b8152600401610bc992919061141a565b602060405180830381600087803b158015610be357600080fd5b505af1158015610bf7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c1b9190810190611029565b50816001600160a01b03167f1a39b9c5044b9f0ff56c5951e30c1ebe24911353aafcceb9250e83a24fe158c4826040516108ed91906114b1565b601881565b6000546001600160a01b03163314610c845760405162461bcd60e51b81526004016103ee9061153d565b565b601d5460ff16610c845760405162461bcd60e51b81526004016103ee9061152d565b6000610ce2722932bbb0b93239a234b9ba3934b13aba34b7b760691b60405180606001604052806023815260200161163e60239139610f09565b905090565b606081604051602401610cfa91906114b1565b60408051601f198184030181529190526020810180516001600160e01b031663a6b96f5760e01b1790529050610d2e610e62565b6001600160a01b0316633dbb202b610d44610eb3565b83622dc6c06040518463ffffffff1660e01b8152600401610d6793929190611465565b600060405180830381600087803b158015610d8157600080fd5b505af1158015610d95573d6000803e3d6000fd5b50505050336001600160a01b03167f95bf5847357310d24f8d03d8bad76c8ee329dfd3a3cb200df21c7bd1619e93bd836040516108ed91906114b1565b6000610ce2680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250610f09565b6000610ce26524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250610f09565b6000610ce26c32bc3a1d26b2b9b9b2b733b2b960991b6040518060400160405280601981526020017f4d697373696e67204d657373656e676572206164647265737300000000000000815250610f09565b6000610ce27f6f766d3a53796e746865746978427269646765546f4261736500000000000000604051806040016040528060168152602001754d697373696e6720427269646765206164647265737360501b8152505b6000828152600360205260408120546001600160a01b03168281610f405760405162461bcd60e51b81526004016103ee91906114ec565b5090505b92915050565b6040518061030001604052806018906020820280388339509192915050565b8035610f448161160e565b8051610f448161160e565b8051610f4481611622565b8035610f448161162b565b8035610f4481611634565b8051610f4481611634565b600060208284031215610fbd57600080fd5b6000610fc98484610f69565b949350505050565b600060208284031215610fe357600080fd5b6000610fc98484610f74565b6000806040838503121561100257600080fd5b600061100e8585610f69565b925050602061101f85828601610f95565b9150509250929050565b60006020828403121561103b57600080fd5b6000610fc98484610f7f565b60006020828403121561105957600080fd5b6000610fc98484610f8a565b60006020828403121561107757600080fd5b6000610fc98484610f95565b60006020828403121561109557600080fd5b6000610fc98484610fa0565b60006110ad838361112a565b505060200190565b6110be816115c9565b82525050565b6110be81611599565b6110d681611580565b6110e08184610539565b92506110eb8261157d565b8060005b8381101561111957815161110387826110a1565b965061110e8361158a565b9250506001016110ef565b505050505050565b6110be816115a4565b6110be8161157d565b600061113e82611586565b6111488185611590565b93506111588185602086016115d4565b61116181611604565b9093019392505050565b6110be816115a9565b6000611181603583611590565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111d8601d83611590565b7f4f6e6c7920746865204c32206272696467652063616e20696e766f6b65000000815260200192915050565b6000611211601883611590565b7f43616e6e6f74206465706f736974207769746820646562740000000000000000815260200192915050565b600061124a601483611590565b73119d5b98dd1a5bdb8819195858dd1a5d985d195960621b815260200192915050565b600061127a602f83611590565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b60006112d7601e83611590565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000611310602a83611590565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b600061135c601b83611590565b7f43616e6e6f74206d69677261746520746f206164647265737320300000000000815260200192915050565b6000611395601783611590565b7f5265736f6c766572206d697373696e6720746172676574000000000000000000815260200192915050565b6110be816115c0565b60208101610f4482846110c4565b606081016113e682866110b5565b6113f360208301856110c4565b610fc9604083018461112a565b6040810161140e82846110b5565b610f44602083016112be565b6040810161142882856110c4565b611435602083018461112a565b9392505050565b6040810161144a82856110c4565b61143560208301846110c4565b606081016113e682866110c4565b6060810161147382866110c4565b81810360208301526114858185611133565b9050610fc960408301846113c1565b6103008101610f4482846110cd565b60208101610f448284611121565b60208101610f44828461112a565b604081016114cd828461112a565b818103602083015261143581611388565b60208101610f44828461116b565b602080825281016114358184611133565b60208082528101610f4481611174565b60208082528101610f44816111cb565b60208082528101610f4481611204565b60208082528101610f448161123d565b60208082528101610f448161126d565b60208082528101610f44816112ca565b60208082528101610f4481611303565b60208082528101610f448161134f565b90565b50601890565b5190565b60200190565b90815260200190565b6000610f44826115b4565b151590565b6000610f4482611599565b6001600160a01b031690565b63ffffffff1690565b6000610f44826115a9565b60005b838110156115ef5781810151838201526020016115d7565b838111156115fe576000848401525b50505050565b601f01601f191690565b61161781611599565b811461040057600080fd5b611617816115a4565b611617816115a9565b6116178161157d56fe4d697373696e672052657761726473446973747269627574696f6e2061646472657373a365627a7a723158209ec549b26182c78ebdbbd1af250eb5dc4d841e7f4953aba3c91de691e8d224106c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "oldBridge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBridge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "BridgeMigrated",
					"type": "event",
					"signature": "0xa1bbeeb6860c5db529c582b6bdbc57a2e9862ef771e5bed3a082f7d9da54904a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Deposit",
					"type": "event",
					"signature": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c"
				},
				{
					"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": "RewardDeposit",
					"type": "event",
					"signature": "0x95bf5847357310d24f8d03d8bad76c8ee329dfd3a3cb200df21c7bd1619e93bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "WithdrawalCompleted",
					"type": "event",
					"signature": "0x1a39b9c5044b9f0ff56c5951e30c1ebe24911353aafcceb9250e83a24fe158c4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "activated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x186601ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "completeWithdrawal",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe2ff2d43"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb6b55f25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newBridge",
							"type": "address"
						}
					],
					"name": "migrateBridge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f5b359"
				},
				{
					"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": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3c6b16ab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "rewardDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb512105f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				}
			],
			"source": {
				"keccak256": "0xe6ff0554139a23bd66100861eff97d178981e965251229c5dc04537e08403f3f",
				"urls": [
					"bzz-raw://1fedb2f22985ee2b5fbf4a48bc7ec134c4a194e96cf90017dd9cc374e672633c",
					"dweb:/ipfs/QmNQA55xFGpqkiim9qWZs8oR6VXEfXX9ytqxJTbM37VqEo"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixBridgeToOptimism.sol": "SynthetixBridgeToOptimism"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixBridgeToOptimism.sol": {
						"keccak256": "0xe6ff0554139a23bd66100861eff97d178981e965251229c5dc04537e08403f3f",
						"urls": [
							"bzz-raw://1fedb2f22985ee2b5fbf4a48bc7ec134c4a194e96cf90017dd9cc374e672633c",
							"dweb:/ipfs/QmNQA55xFGpqkiim9qWZs8oR6VXEfXX9ytqxJTbM37VqEo"
						]
					}
				},
				"version": 1
			}
		}
	}
}
