diff --git a/blockchain/build/contracts/ProofOfPhysicalAddress.json b/blockchain/build/contracts/ProofOfPhysicalAddress.json index 9c2c1d8b..b5205300 100644 --- a/blockchain/build/contracts/ProofOfPhysicalAddress.json +++ b/blockchain/build/contracts/ProofOfPhysicalAddress.json @@ -115,6 +115,81 @@ "stateMutability": "nonpayable", "type": "constructor" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "newSigner", + "type": "address" + } + ], + "name": "LogSignerChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "newRegistry", + "type": "address" + } + ], + "name": "LogRegistryChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "wallet", + "type": "address" + }, + { + "indexed": false, + "name": "keccakIdentifier", + "type": "bytes32" + } + ], + "name": "LogAddressRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "wallet", + "type": "address" + }, + { + "indexed": false, + "name": "keccakIdentifier", + "type": "bytes32" + } + ], + "name": "LogAddressUnregistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "wallet", + "type": "address" + }, + { + "indexed": false, + "name": "keccakIdentifier", + "type": "bytes32" + } + ], + "name": "LogAddressConfirmed", + "type": "event" + }, { "constant": true, "inputs": [ @@ -613,18 +688,18 @@ "type": "function" } ], - "bytecode": "0x6060604052341561000f57600080fd5b6040516020806140cc83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050613fae8061011e6000396000f300606060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305831776146101595780630e666e49146101c5578063238ac933146102165780632c2a178e1461026b5780634028a0f1146104485780636c19e783146104855780637b103999146104be578063853828b6146105135780638da5cb5b14610528578063a5db3d021461057d578063a87430ba14610600578063a91ee0dc1461064d578063ae9b051c14610686578063b4778e2d146106a9578063b55fbd0414610914578063bff1f9e1146109c6578063c0fe077f14610a03578063c228251b14610a82578063c94f2c1b14610beb578063cfad527714610c38578063d673560414610c75578063d956be1014610d27578063de3d702e14610d8c578063e585332e14610dd9578063f0486ab414610f8b578063feea980814610fe5575b600080fd5b341561016457600080fd5b610199600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110bd565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b34156101d057600080fd5b6101fc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111cf565b604051808215151515815260200191505060405180910390f35b341561022157600080fd5b61022961121d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610446600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611243565b005b341561045357600080fd5b61045b6119b5565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561049057600080fd5b6104bc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119cf565b005b34156104c957600080fd5b6104d1611a6e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051e57600080fd5b610526611a94565b005b341561053357600080fd5b61053b611b8f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058857600080fd5b6105fe600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611bb4565b005b341561060b57600080fd5b610637600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f01565b6040518082815260200191505060405180910390f35b341561065857600080fd5b610684600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f1f565b005b341561069157600080fd5b6106a76004808035906020019091905050611fbe565b005b34156106b457600080fd5b6106e9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506120a3565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b8381101561073957808201518184015260208101905061071e565b50505050905090810190601f1680156107665780820380516001836020036101000a031916815260200191505b5086810385528a818151815260200191508051906020019080838360005b8381101561079f578082015181840152602081019050610784565b50505050905090810190601f1680156107cc5780820380516001836020036101000a031916815260200191505b50868103845289818151815260200191508051906020019080838360005b838110156108055780820151818401526020810190506107ea565b50505050905090810190601f1680156108325780820380516001836020036101000a031916815260200191505b50868103835288818151815260200191508051906020019080838360005b8381101561086b578082015181840152602081019050610850565b50505050905090810190601f1680156108985780820380516001836020036101000a031916815260200191505b50868103825287818151815260200191508051906020019080838360005b838110156108d15780820151818401526020810190506108b6565b50505050905090810190601f1680156108fe5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561091f57600080fd5b61094b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506125e1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561098b578082015181840152602081019050610970565b50505050905090810190601f1680156109b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d157600080fd5b6109d961278a565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610a0e57600080fd5b610a47600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035600019169060200190919050506127a4565b604051808515151515815260200184815260200183151515158152602001826000191660001916815260200194505050505060405180910390f35b3415610a8d57600080fd5b610be9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061292e565b005b3415610bf657600080fd5b610c22600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612f04565b6040518082815260200191505060405180910390f35b3415610c4357600080fd5b610c4b612f8b565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610c8057600080fd5b610cac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612fa5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cec578082015181840152602081019050610cd1565b50505050905090810190601f168015610d195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d3257600080fd5b610d7260048080356000191690602001909190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061310b565b604051808215151515815260200191505060405180910390f35b3415610d9757600080fd5b610dc3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506132a7565b6040518082815260200191505060405180910390f35b3415610de457600080fd5b610f5f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506132f6565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b3415610f9657600080fd5b610fcb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506135d1565b604051808215151515815260200191505060405180910390f35b3415610ff057600080fd5b611025600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061382c565b60405180806020018581526020018481526020018360001916600019168152602001828103825286818151815260200191508051906020019080838360005b8381101561107f578082015181840152602081019050611064565b50505050905090810190601f1680156110ac5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b600080600080856110cd816111cf565b15156110d857600080fd5b600091505b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508210156111b75785600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561117a57fe5b90600052602060002090600902016006015414156111aa5760018261119f89856135d1565b9450945094506111c6565b81806001019250506110dd565b60008060008191509450945094505b50509250925092565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154119050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061124e613c3c565b60008e5111151561125e57600080fd5b60008d5111151561126e57600080fd5b60008c5111151561127e57600080fd5b60008b5111151561128e57600080fd5b60008a5111151561129e57600080fd5b600089511115156112ae57600080fd5b8734101515156112bd57600080fd5b338e8e8e8e8e8e8e8e604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140189805190602001908083835b60208310151561133c5780518252602082019150602081019050602083039250611317565b6001836020036101000a03801982511681845116808217855250505050505090500188805190602001908083835b60208310151561138f578051825260208201915060208101905060208303925061136a565b6001836020036101000a03801982511681845116808217855250505050505090500187805190602001908083835b6020831015156113e257805182526020820191506020810190506020830392506113bd565b6001836020036101000a03801982511681845116808217855250505050505090500186805190602001908083835b6020831015156114355780518252602082019150602081019050602083039250611410565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156114885780518252602082019150602081019050602083039250611463565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156114db57805182526020820191506020810190506020830392506114b6565b6001836020036101000a03801982511681845116808217855250505050505090500183815260200182600019166000191681526020019950505050505050505050604051809103902092506115328387878761310b565b151561153d57600080fd5b611546336111cf565b1561157257611559338e8e8e8e8e6132f6565b905050809250508115151561156d57600080fd5b6115fd565b43600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506001600460008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b8d81600001819052508c81602001819052508b81604001819052508a8160600181905250898160800181905250888160a00181905250438160c00181815250508681610100019060001916908160001916815250508c8c8c8c8c6040518086805190602001908083835b60208310151561168c5780518252602082019150602081019050602083039250611667565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156116df57805182526020820191506020810190506020830392506116ba565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b602083101515611732578051825260208201915060208101905060208303925061170d565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b6020831015156117855780518252602082019150602081019050602083039250611760565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831015156117d857805182526020820191506020810190506020830392506117b3565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390208160e001906000191690816000191681525050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180548060010182816118709190613cb3565b9160005260206000209060090201600083909190915060008201518160000190805190602001906118a2929190613ce5565b5060208201518160010190805190602001906118bf929190613ce5565b5060408201518160020190805190602001906118dc929190613ce5565b5060608201518160030190805190602001906118f9929190613ce5565b506080820151816004019080519060200190611916929190613ce5565b5060a0820151816005019080519060200190611933929190613ce5565b5060c0820151816006015560e0820151816007019060001916905561010082015181600801906000191690555050506001600460088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505050505050505050505050565b600460109054906101000a900467ffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a2a57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aef57600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631111515611b1557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611b8d57600080fd5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600033611bc6816111cf565b1515611bd157600080fd5b60008a51111515611be157600080fd5b338a604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182805190602001908083835b602083101515611c595780518252602082019150602081019050602083039250611c34565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405180910390209550611c95868a8a8a61310b565b1515611ca057600080fd5b611d0c338b6040518082805190602001908083835b602083101515611cda5780518252602082019150602081019050602083039250611cb5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206127a4565b80955081965082975083985050505050841515611d2857600080fd5b82151515611d3557600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639918925d338473__PhysicalAddressClaim__________________63deb21fa2436000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1515611de857600080fd5b6102c65a03f41515611df957600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200182600019166000191681526020019350505050600060405180830381600087803b1515611e9e57600080fd5b6102c65a03f11515611eaf57600080fd5b5050506001600460108282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050505050505050565b60036020528060005260406000206000915090508060000154905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f7a57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561201957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561203f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156120a057600080fd5b50565b6120ab613d65565b6120b3613d65565b6120bb613d65565b6120c3613d65565b6120cb613d65565b866120d5816111cf565b15156120e057600080fd5b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018781548110151561212f57fe5b9060005260206000209060090201600101600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018881548110151561218f57fe5b9060005260206000209060090201600201600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101898154811015156121ef57fe5b9060005260206000209060090201600301600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a81548110151561224f57fe5b9060005260206000209060090201600401600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018b8154811015156122af57fe5b9060005260206000209060090201600501848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123555780601f1061232a57610100808354040283529160200191612355565b820191906000526020600020905b81548152906001019060200180831161233857829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123f15780601f106123c6576101008083540402835291602001916123f1565b820191906000526020600020905b8154815290600101906020018083116123d457829003601f168201915b50505050509350828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561248d5780601f106124625761010080835404028352916020019161248d565b820191906000526020600020905b81548152906001019060200180831161247057829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125295780601f106124fe57610100808354040283529160200191612529565b820191906000526020600020905b81548152906001019060200180831161250c57829003601f168201915b50505050509150808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125c55780601f1061259a576101008083540402835291602001916125c5565b820191906000526020600020905b8154815290600101906020018083116125a857829003601f168201915b5050505050905095509550955095509550509295509295909350565b6125e9613d65565b6000826125f5816111cf565b151561260057600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905091505b600082111561276f5781806001900392505061266584836135d1565b1561276a57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101828154811015156126b957fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561275e5780601f106127335761010080835404028352916020019161275e565b820191906000526020600020905b81548152906001019060200180831161274157829003601f168201915b50505050509250612783565b612649565b602060405190810160405280600081525092505b5050919050565b600460009054906101000a900467ffffffffffffffff1681565b6000806000806000866127b6816111cf565b15156127c157600080fd5b600091505b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905082101561290b578660001916600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561286757fe5b9060005260206000209060090201600801546000191614156128fe576001826128908a856135d1565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101858154811015156128df57fe5b9060005260206000209060090201600701549550955095509550612923565b81806001019250506127c6565b60008060008082925080600102905095509550955095505b505092959194509250565b6000806000803361293e816111cf565b151561294957600080fd5b612957338b8b8b8b8b6132f6565b50809550819650505084151561296c57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7508ec73033600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101888154811015156129fb57fe5b9060005260206000209060090201600701546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515612acc57600080fd5b6102c65a03f11515612add57600080fd5b505050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905092508391505b60018303821015612d1e57600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018301815481101515612b8957fe5b9060005260206000209060090201600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010183815481101515612be657fe5b906000526020600020906009020160008201816000019080546001816001161561010002031660029004612c1b929190613d79565b5060018201816001019080546001816001161561010002031660029004612c43929190613d79565b5060028201816002019080546001816001161561010002031660029004612c6b929190613d79565b5060038201816003019080546001816001161561010002031660029004612c93929190613d79565b5060048201816004019080546001816001161561010002031660029004612cbb929190613d79565b5060058201816005019080546001816001161561010002031660029004612ce3929190613d79565b506006820154816006015560078201548160070190600019169055600882015481600801906000191690559050508180600101925050612b2c565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018403815481101515612d7057fe5b906000526020600020906009020160008082016000612d8f9190613e00565b600182016000612d9f9190613e00565b600282016000612daf9190613e00565b600382016000612dbf9190613e00565b600482016000612dcf9190613e00565b600582016000612ddf9190613e00565b6006820160009055600782016000905560088201600090555050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805480919060019003612e4e9190613e48565b506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490501415612ef857600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000612ef59190613e7a565b50505b50505050505050505050565b6000806000809150600090505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050811015612f8157612f6884826135d1565b15612f74576001820191505b8080600101915050612f11565b8192505050919050565b600460089054906101000a900467ffffffffffffffff1681565b612fad613d65565b81612fb7816111cf565b1515612fc257600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490500381548110151561305957fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156130fe5780601f106130d3576101008083540402835291602001916130fe565b820191906000526020600020905b8154815290600101906020018083116130e157829003601f168201915b5050505050915050919050565b6000613115613e9e565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b6020831015156131865780518252602082019150602081019050602083039250613161565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600182888888604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561327b57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff161492505050949350505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490509050919050565b60008060008060008a613308816111cf565b151561331357600080fd5b8a8a8a8a8a6040518086805190602001908083835b60208310151561334d5780518252602082019150602081019050602083039250613328565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156133a0578051825260208201915060208101905060208303925061337b565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156133f357805182526020820191506020810190506020830392506133ce565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b6020831015156134465780518252602082019150602081019050602083039250613421565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831015156134995780518252602082019150602081019050602083039250613474565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390209250600091505b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508210156135b3578260001916600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561357257fe5b9060005260206000209060090201600701546000191614156135a65760018261359b8e856135d1565b9550955095506135c2565b81806001019250506134d1565b60008060008191509550955095505b50505096509650969350505050565b600080836135de816111cf565b15156135e957600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561363857fe5b90600052602060002090600902016007015491506000600102826000191614156136655760009250613824565b600073__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308a886000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b151561378a57600080fd5b6102c65a03f1151561379b57600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b151561380557600080fd5b6102c65a03f4151561381657600080fd5b505050604051805190501192505b505092915050565b613834613d65565b60008060008086613844816111cf565b151561384f57600080fd5b73__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308c600360008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018d8154811015156138f857fe5b9060005260206000209060090201600701546000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b15156139d257600080fd5b6102c65a03f115156139e357600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b1515613a4d57600080fd5b6102c65a03f41515613a5e57600080fd5b505050604051805190509150600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010187815481101515613ab957fe5b9060005260206000209060090201600001600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010188815481101515613b1957fe5b90600052602060002090600902016006015483600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a815481101515613b7b57fe5b906000526020600020906009020160070154838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613c225780601f10613bf757610100808354040283529160200191613c22565b820191906000526020600020905b815481529060010190602001808311613c0557829003601f168201915b505050505093509550955095509550505092959194509250565b61012060405190810160405280613c51613eb2565b8152602001613c5e613eb2565b8152602001613c6b613eb2565b8152602001613c78613eb2565b8152602001613c85613eb2565b8152602001613c92613eb2565b81526020016000815260200160008019168152602001600080191681525090565b815481835581811511613ce057600902816009028360005260206000209182019101613cdf9190613ec6565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613d2657805160ff1916838001178555613d54565b82800160010185558215613d54579182015b82811115613d53578251825591602001919060010190613d38565b5b509050613d619190613f5d565b5090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613db25780548555613def565b82800160010185558215613def57600052602060002091601f016020900482015b82811115613dee578254825591600101919060010190613dd3565b5b509050613dfc9190613f5d565b5090565b50805460018160011615610100020316600290046000825580601f10613e265750613e45565b601f016020900490600052602060002090810190613e449190613f5d565b5b50565b815481835581811511613e7557600902816009028360005260206000209182019101613e749190613ec6565b5b505050565b5080546000825560090290600052602060002090810190613e9b9190613ec6565b50565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b613f5a91905b80821115613f565760008082016000613ee59190613e00565b600182016000613ef59190613e00565b600282016000613f059190613e00565b600382016000613f159190613e00565b600482016000613f259190613e00565b600582016000613f359190613e00565b60068201600090556007820160009055600882016000905550600901613ecc565b5090565b90565b613f7f91905b80821115613f7b576000816000905550600101613f63565b5090565b905600a165627a7a72305820fac0df76ebf6d4119e004e0bb55b63d7cb09c09270cadca76180194b74e2577b0029", - "deployedBytecode": "0x606060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305831776146101595780630e666e49146101c5578063238ac933146102165780632c2a178e1461026b5780634028a0f1146104485780636c19e783146104855780637b103999146104be578063853828b6146105135780638da5cb5b14610528578063a5db3d021461057d578063a87430ba14610600578063a91ee0dc1461064d578063ae9b051c14610686578063b4778e2d146106a9578063b55fbd0414610914578063bff1f9e1146109c6578063c0fe077f14610a03578063c228251b14610a82578063c94f2c1b14610beb578063cfad527714610c38578063d673560414610c75578063d956be1014610d27578063de3d702e14610d8c578063e585332e14610dd9578063f0486ab414610f8b578063feea980814610fe5575b600080fd5b341561016457600080fd5b610199600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110bd565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b34156101d057600080fd5b6101fc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111cf565b604051808215151515815260200191505060405180910390f35b341561022157600080fd5b61022961121d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610446600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611243565b005b341561045357600080fd5b61045b6119b5565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561049057600080fd5b6104bc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119cf565b005b34156104c957600080fd5b6104d1611a6e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051e57600080fd5b610526611a94565b005b341561053357600080fd5b61053b611b8f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058857600080fd5b6105fe600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611bb4565b005b341561060b57600080fd5b610637600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f01565b6040518082815260200191505060405180910390f35b341561065857600080fd5b610684600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611f1f565b005b341561069157600080fd5b6106a76004808035906020019091905050611fbe565b005b34156106b457600080fd5b6106e9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506120a3565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b8381101561073957808201518184015260208101905061071e565b50505050905090810190601f1680156107665780820380516001836020036101000a031916815260200191505b5086810385528a818151815260200191508051906020019080838360005b8381101561079f578082015181840152602081019050610784565b50505050905090810190601f1680156107cc5780820380516001836020036101000a031916815260200191505b50868103845289818151815260200191508051906020019080838360005b838110156108055780820151818401526020810190506107ea565b50505050905090810190601f1680156108325780820380516001836020036101000a031916815260200191505b50868103835288818151815260200191508051906020019080838360005b8381101561086b578082015181840152602081019050610850565b50505050905090810190601f1680156108985780820380516001836020036101000a031916815260200191505b50868103825287818151815260200191508051906020019080838360005b838110156108d15780820151818401526020810190506108b6565b50505050905090810190601f1680156108fe5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561091f57600080fd5b61094b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506125e1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561098b578082015181840152602081019050610970565b50505050905090810190601f1680156109b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d157600080fd5b6109d961278a565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610a0e57600080fd5b610a47600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035600019169060200190919050506127a4565b604051808515151515815260200184815260200183151515158152602001826000191660001916815260200194505050505060405180910390f35b3415610a8d57600080fd5b610be9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061292e565b005b3415610bf657600080fd5b610c22600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612f04565b6040518082815260200191505060405180910390f35b3415610c4357600080fd5b610c4b612f8b565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610c8057600080fd5b610cac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612fa5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cec578082015181840152602081019050610cd1565b50505050905090810190601f168015610d195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d3257600080fd5b610d7260048080356000191690602001909190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061310b565b604051808215151515815260200191505060405180910390f35b3415610d9757600080fd5b610dc3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506132a7565b6040518082815260200191505060405180910390f35b3415610de457600080fd5b610f5f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506132f6565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b3415610f9657600080fd5b610fcb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506135d1565b604051808215151515815260200191505060405180910390f35b3415610ff057600080fd5b611025600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061382c565b60405180806020018581526020018481526020018360001916600019168152602001828103825286818151815260200191508051906020019080838360005b8381101561107f578082015181840152602081019050611064565b50505050905090810190601f1680156110ac5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b600080600080856110cd816111cf565b15156110d857600080fd5b600091505b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508210156111b75785600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561117a57fe5b90600052602060002090600902016006015414156111aa5760018261119f89856135d1565b9450945094506111c6565b81806001019250506110dd565b60008060008191509450945094505b50509250925092565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154119050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061124e613c3c565b60008e5111151561125e57600080fd5b60008d5111151561126e57600080fd5b60008c5111151561127e57600080fd5b60008b5111151561128e57600080fd5b60008a5111151561129e57600080fd5b600089511115156112ae57600080fd5b8734101515156112bd57600080fd5b338e8e8e8e8e8e8e8e604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140189805190602001908083835b60208310151561133c5780518252602082019150602081019050602083039250611317565b6001836020036101000a03801982511681845116808217855250505050505090500188805190602001908083835b60208310151561138f578051825260208201915060208101905060208303925061136a565b6001836020036101000a03801982511681845116808217855250505050505090500187805190602001908083835b6020831015156113e257805182526020820191506020810190506020830392506113bd565b6001836020036101000a03801982511681845116808217855250505050505090500186805190602001908083835b6020831015156114355780518252602082019150602081019050602083039250611410565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156114885780518252602082019150602081019050602083039250611463565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156114db57805182526020820191506020810190506020830392506114b6565b6001836020036101000a03801982511681845116808217855250505050505090500183815260200182600019166000191681526020019950505050505050505050604051809103902092506115328387878761310b565b151561153d57600080fd5b611546336111cf565b1561157257611559338e8e8e8e8e6132f6565b905050809250508115151561156d57600080fd5b6115fd565b43600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506001600460008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b8d81600001819052508c81602001819052508b81604001819052508a8160600181905250898160800181905250888160a00181905250438160c00181815250508681610100019060001916908160001916815250508c8c8c8c8c6040518086805190602001908083835b60208310151561168c5780518252602082019150602081019050602083039250611667565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156116df57805182526020820191506020810190506020830392506116ba565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b602083101515611732578051825260208201915060208101905060208303925061170d565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b6020831015156117855780518252602082019150602081019050602083039250611760565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831015156117d857805182526020820191506020810190506020830392506117b3565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390208160e001906000191690816000191681525050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180548060010182816118709190613cb3565b9160005260206000209060090201600083909190915060008201518160000190805190602001906118a2929190613ce5565b5060208201518160010190805190602001906118bf929190613ce5565b5060408201518160020190805190602001906118dc929190613ce5565b5060608201518160030190805190602001906118f9929190613ce5565b506080820151816004019080519060200190611916929190613ce5565b5060a0820151816005019080519060200190611933929190613ce5565b5060c0820151816006015560e0820151816007019060001916905561010082015181600801906000191690555050506001600460088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050505050505050505050505050565b600460109054906101000a900467ffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a2a57600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611aef57600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631111515611b1557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611b8d57600080fd5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600033611bc6816111cf565b1515611bd157600080fd5b60008a51111515611be157600080fd5b338a604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182805190602001908083835b602083101515611c595780518252602082019150602081019050602083039250611c34565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405180910390209550611c95868a8a8a61310b565b1515611ca057600080fd5b611d0c338b6040518082805190602001908083835b602083101515611cda5780518252602082019150602081019050602083039250611cb5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206127a4565b80955081965082975083985050505050841515611d2857600080fd5b82151515611d3557600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639918925d338473__PhysicalAddressClaim__________________63deb21fa2436000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1515611de857600080fd5b6102c65a03f41515611df957600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200182600019166000191681526020019350505050600060405180830381600087803b1515611e9e57600080fd5b6102c65a03f11515611eaf57600080fd5b5050506001600460108282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050505050505050565b60036020528060005260406000206000915090508060000154905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f7a57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561201957600080fd5b803073ffffffffffffffffffffffffffffffffffffffff16311015151561203f57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156120a057600080fd5b50565b6120ab613d65565b6120b3613d65565b6120bb613d65565b6120c3613d65565b6120cb613d65565b866120d5816111cf565b15156120e057600080fd5b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018781548110151561212f57fe5b9060005260206000209060090201600101600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018881548110151561218f57fe5b9060005260206000209060090201600201600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101898154811015156121ef57fe5b9060005260206000209060090201600301600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a81548110151561224f57fe5b9060005260206000209060090201600401600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018b8154811015156122af57fe5b9060005260206000209060090201600501848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123555780601f1061232a57610100808354040283529160200191612355565b820191906000526020600020905b81548152906001019060200180831161233857829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156123f15780601f106123c6576101008083540402835291602001916123f1565b820191906000526020600020905b8154815290600101906020018083116123d457829003601f168201915b50505050509350828054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561248d5780601f106124625761010080835404028352916020019161248d565b820191906000526020600020905b81548152906001019060200180831161247057829003601f168201915b50505050509250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125295780601f106124fe57610100808354040283529160200191612529565b820191906000526020600020905b81548152906001019060200180831161250c57829003601f168201915b50505050509150808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125c55780601f1061259a576101008083540402835291602001916125c5565b820191906000526020600020905b8154815290600101906020018083116125a857829003601f168201915b5050505050905095509550955095509550509295509295909350565b6125e9613d65565b6000826125f5816111cf565b151561260057600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905091505b600082111561276f5781806001900392505061266584836135d1565b1561276a57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101828154811015156126b957fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561275e5780601f106127335761010080835404028352916020019161275e565b820191906000526020600020905b81548152906001019060200180831161274157829003601f168201915b50505050509250612783565b612649565b602060405190810160405280600081525092505b5050919050565b600460009054906101000a900467ffffffffffffffff1681565b6000806000806000866127b6816111cf565b15156127c157600080fd5b600091505b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905082101561290b578660001916600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561286757fe5b9060005260206000209060090201600801546000191614156128fe576001826128908a856135d1565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101858154811015156128df57fe5b9060005260206000209060090201600701549550955095509550612923565b81806001019250506127c6565b60008060008082925080600102905095509550955095505b505092959194509250565b6000806000803361293e816111cf565b151561294957600080fd5b612957338b8b8b8b8b6132f6565b50809550819650505084151561296c57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7508ec73033600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101888154811015156129fb57fe5b9060005260206000209060090201600701546040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515612acc57600080fd5b6102c65a03f11515612add57600080fd5b505050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905092508391505b60018303821015612d1e57600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018301815481101515612b8957fe5b9060005260206000209060090201600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010183815481101515612be657fe5b906000526020600020906009020160008201816000019080546001816001161561010002031660029004612c1b929190613d79565b5060018201816001019080546001816001161561010002031660029004612c43929190613d79565b5060028201816002019080546001816001161561010002031660029004612c6b929190613d79565b5060038201816003019080546001816001161561010002031660029004612c93929190613d79565b5060048201816004019080546001816001161561010002031660029004612cbb929190613d79565b5060058201816005019080546001816001161561010002031660029004612ce3929190613d79565b506006820154816006015560078201548160070190600019169055600882015481600801906000191690559050508180600101925050612b2c565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018403815481101515612d7057fe5b906000526020600020906009020160008082016000612d8f9190613e00565b600182016000612d9f9190613e00565b600282016000612daf9190613e00565b600382016000612dbf9190613e00565b600482016000612dcf9190613e00565b600582016000612ddf9190613e00565b6006820160009055600782016000905560088201600090555050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805480919060019003612e4e9190613e48565b506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490501415612ef857600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000612ef59190613e7a565b50505b50505050505050505050565b6000806000809150600090505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050811015612f8157612f6884826135d1565b15612f74576001820191505b8080600101915050612f11565b8192505050919050565b600460089054906101000a900467ffffffffffffffff1681565b612fad613d65565b81612fb7816111cf565b1515612fc257600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490500381548110151561305957fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156130fe5780601f106130d3576101008083540402835291602001916130fe565b820191906000526020600020905b8154815290600101906020018083116130e157829003601f168201915b5050505050915050919050565b6000613115613e9e565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b6020831015156131865780518252602082019150602081019050602083039250613161565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600182888888604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561327b57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff161492505050949350505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490509050919050565b60008060008060008a613308816111cf565b151561331357600080fd5b8a8a8a8a8a6040518086805190602001908083835b60208310151561334d5780518252602082019150602081019050602083039250613328565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156133a0578051825260208201915060208101905060208303925061337b565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156133f357805182526020820191506020810190506020830392506133ce565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b6020831015156134465780518252602082019150602081019050602083039250613421565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831015156134995780518252602082019150602081019050602083039250613474565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390209250600091505b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508210156135b3578260001916600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561357257fe5b9060005260206000209060090201600701546000191614156135a65760018261359b8e856135d1565b9550955095506135c2565b81806001019250506134d1565b60008060008191509550955095505b50505096509650969350505050565b600080836135de816111cf565b15156135e957600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561363857fe5b90600052602060002090600902016007015491506000600102826000191614156136655760009250613824565b600073__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308a886000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b151561378a57600080fd5b6102c65a03f1151561379b57600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b151561380557600080fd5b6102c65a03f4151561381657600080fd5b505050604051805190501192505b505092915050565b613834613d65565b60008060008086613844816111cf565b151561384f57600080fd5b73__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308c600360008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018d8154811015156138f857fe5b9060005260206000209060090201600701546000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b15156139d257600080fd5b6102c65a03f115156139e357600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b1515613a4d57600080fd5b6102c65a03f41515613a5e57600080fd5b505050604051805190509150600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010187815481101515613ab957fe5b9060005260206000209060090201600001600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010188815481101515613b1957fe5b90600052602060002090600902016006015483600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a815481101515613b7b57fe5b906000526020600020906009020160070154838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613c225780601f10613bf757610100808354040283529160200191613c22565b820191906000526020600020905b815481529060010190602001808311613c0557829003601f168201915b505050505093509550955095509550505092959194509250565b61012060405190810160405280613c51613eb2565b8152602001613c5e613eb2565b8152602001613c6b613eb2565b8152602001613c78613eb2565b8152602001613c85613eb2565b8152602001613c92613eb2565b81526020016000815260200160008019168152602001600080191681525090565b815481835581811511613ce057600902816009028360005260206000209182019101613cdf9190613ec6565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613d2657805160ff1916838001178555613d54565b82800160010185558215613d54579182015b82811115613d53578251825591602001919060010190613d38565b5b509050613d619190613f5d565b5090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613db25780548555613def565b82800160010185558215613def57600052602060002091601f016020900482015b82811115613dee578254825591600101919060010190613dd3565b5b509050613dfc9190613f5d565b5090565b50805460018160011615610100020316600290046000825580601f10613e265750613e45565b601f016020900490600052602060002090810190613e449190613f5d565b5b50565b815481835581811511613e7557600902816009028360005260206000209182019101613e749190613ec6565b5b505050565b5080546000825560090290600052602060002090810190613e9b9190613ec6565b50565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b613f5a91905b80821115613f565760008082016000613ee59190613e00565b600182016000613ef59190613e00565b600282016000613f059190613e00565b600382016000613f159190613e00565b600482016000613f259190613e00565b600582016000613f359190613e00565b60068201600090556007820160009055600882016000905550600901613ecc565b5090565b90565b613f7f91905b80821115613f7b576000816000905550600101613f63565b5090565b905600a165627a7a72305820fac0df76ebf6d4119e004e0bb55b63d7cb09c09270cadca76180194b74e2577b0029", - "sourceMap": "149:11051:3:-;;;592:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;672:10;664:5;;:18;;;;;;;;;;;;;;;;;;701:5;;;;;;;;;;;692:6;;:14;;;;;;;;;;;;;;;;;;759:9;716:8;;:53;;;;;;;;;;;;;;;;;;592:184;149:11051;;;;;;", - "deployedSourceMap": "149:11051:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2986:455;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2319:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;213:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7699:1694;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1007:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1686:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;240:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2167:146;;;;;;;;;;;;;;187:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10395:803;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;883:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1782:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;1966:161;;;;;;;;;;;;;;;;;;;;;;;;;;6356:558;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5284:374:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;943:24:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3536:694;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9399:990;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6025:325;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4969:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1261:289:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5760:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4325:586;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2457:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6920:752;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2986:455:3;3114:4;3120:7;3129:4;3154:10;3097:6;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;3167:1;3154:14;;3149:252;3175:5;:13;3181:6;3175:13;;;;;;;;;;;;;;;:31;;:38;;;;3170:2;:43;3149:252;;;3292:13;3239:5;:13;3245:6;3239:13;;;;;;;;;;;;;;;:31;;3271:2;3239:35;;;;;;;;;;;;;;;;;;;;:49;;;:66;3235:156;;;3333:4;3339:2;3343:32;3364:6;3372:2;3343:20;:32::i;:::-;3325:51;;;;;;;;3235:156;3215:4;;;;;;;3149:252;;;3418:5;3425:1;3428:5;3410:24;;;;;;;;;1231:1;2986:455;;;;;;;:::o;2319:132::-;2384:4;2442:1;2412:5;:13;2418:6;2412:13;;;;;;;;;;;;;;;:27;;;:31;2404:40;;2319:132;;;:::o;213:21::-;;;;;;;;;;;;;:::o;7699:1694::-;8257:12;8654:10;8943:25;;:::i;:::-;7992:1;7977:4;7971:18;:22;7963:31;;;;;;;;8036:1;8018:7;8012:21;:25;8004:34;;;;;;;;8078:1;8062:5;8056:19;:23;8048:32;;;;;;;;8119:1;8104:4;8098:18;:22;8090:31;;;;;;;;8164:1;8145:8;8139:22;:26;8131:35;;;;;;;;8204:1;8190:3;8184:17;:21;8176:30;;;;;;;;8237:8;8224:9;:21;;8216:30;;;;;;;;8295:10;8319:4;8337:7;8358:5;8377:4;8395:8;8417:3;8434:8;8456:20;8272:214;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8257:229:3;;8504:37;8518:4;8524;8530;8536;8504:13;:37::i;:::-;8496:46;;;;;;;;8557:22;8568:10;8557;:22::i;:::-;8553:380;;;8692:69;8713:10;8725:7;8734:5;8741:4;8747:8;8757:3;8692:20;:69::i;:::-;8678:83;;;;;;;8785:5;8784:6;8776:15;;;;;;;;8553:380;;;8880:12;8846:5;:17;8852:10;8846:17;;;;;;;;;;;;;;;:31;;:46;;;;8921:1;8907:10;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8553:380;8989:4;8979:2;:7;;:14;;;;9016:7;9003:2;:10;;:20;;;;9044:5;9033:2;:8;;:16;;;;9069:4;9059:2;:7;;:14;;;;9097:8;9083:2;:11;;:22;;;;9124:3;9115:2;:6;;:12;;;;9156;9137:2;:16;;:31;;;;;9204:20;9178:2;:23;;:46;;;;;;;;;;;;;9266:7;9275:5;9282:4;9288:8;9298:3;9256:46;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;9234:2:3;:19;;:68;;;;;;;;;;;;;9312:5;:17;9318:10;9312:17;;;;;;;;;;;;;;;:35;;:44;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;9353:2;9312:44;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9385:1;9367:14;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7699:1694;;;;;;;;;;;;;;:::o;1007:28::-;;;;;;;;;;;;;:::o;1686:90::-;1113:5;;;;;;;;;;;1099:19;;:10;:19;;;1091:28;;;;;;;;1760:9;1751:6;;:18;;;;;;;;;;;;;;;;;;1686:90;:::o;240:47::-;;;;;;;;;;;;;:::o;2167:146::-;1113:5;;;;;;;;;;;1099:19;;:10;:19;;;1091:28;;;;;;;;2257:1;2241:4;2233:21;;;:25;2225:34;;;;;;;;2269:5;;;;;;;;;;;:14;;:37;2292:4;2284:21;;;2269:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2167:146::o;187:20::-;;;;;;;;;;;;;:::o;10395:803::-;10601:12;10761:10;10781:7;10798:14;10822:24;10516:10;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;10588:1;10556:21;10550:35;:39;10542:48;;;;;;;;10639:10;10663:21;10616:78;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;10601:93:3;;10712:37;10726:4;10732;10738;10744;10712:13;:37::i;:::-;10704:46;;;;;;;;10899:109;10942:10;10976:21;10966:32;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;10899:29:3;:109::i;:::-;10856:152;;;;;;;;;;;;;;;;11026:5;11018:14;;;;;;;;11051:9;11050:10;11042:19;;;;;;;;11072:8;;;;;;;;;;;:17;;;11090:10;11102:16;11120:20;:27;11148:12;11120:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11072:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11190:1;11172:14;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10395:803;;;;;;;;;;:::o;883:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;1782:131::-;1113:5;;;;;;;;;;;1099:19;;:10;:19;;;1091:28;;;;;;;;1894:11;1851:8;;:55;;;;;;;;;;;;;;;;;;1782:131;:::o;1966:161::-;1113:5;;;;;;;;;;;1099:19;;:10;:19;;;1091:28;;;;;;;;2075:9;2058:4;2050:21;;;:34;;2042:43;;;;;;;;2095:5;;;;;;;;;;;:14;;:25;2110:9;2095:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1966:161;:::o;6356:558::-;6477:14;;:::i;:::-;6493:12;;:::i;:::-;6507:11;;:::i;:::-;6520:15;;:::i;:::-;6537:10;;:::i;:::-;6451:6;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;6584:5;:13;6590:6;6584:13;;;;;;;;;;;;;;;:31;;6616:12;6584:45;;;;;;;;;;;;;;;;;;;;:53;;6651:5;:13;6657:6;6651:13;;;;;;;;;;;;;;;:31;;6683:12;6651:45;;;;;;;;;;;;;;;;;;;;:51;;6716:5;:13;6722:6;6716:13;;;;;;;;;;;;;;;:31;;6748:12;6716:45;;;;;;;;;;;;;;;;;;;;:50;;6780:5;:13;6786:6;6780:13;;;;;;;;;;;;;;;:31;;6812:12;6780:45;;;;;;;;;;;;;;;;;;;;:54;;6848:5;:13;6854:6;6848:13;;;;;;;;;;;;;;;:31;;6880:12;6848:45;;;;;;;;;;;;;;;;;;;;:49;;6563:344;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6356:558;;;;;;;;;:::o;5284:374::-;5384:6;;:::i;:::-;5411:10;5367:6;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;5424:5;:13;5430:6;5424:13;;;;;;;;;;;;;;;:31;;:38;;;;5411:51;;5406:227;5469:1;5464:2;:6;5406:227;;;5487:4;;;;;;;;5509:32;5530:6;5538:2;5509:20;:32::i;:::-;5505:118;;;5568:5;:13;5574:6;5568:13;;;;;;;;;;;;;;;:31;;5600:2;5568:35;;;;;;;;;;;;;;;;;;;;:40;;5561:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5505:118;5406:227;;;5642:9;;;;;;;;;;;;;;;1231:1;5284:374;;;;;:::o;943:24::-;;;;;;;;;;;;;:::o;3536:694::-;3723:4;3729:7;3738:4;3744:7;3772:10;3699:6;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;3785:1;3772:14;;3767:418;3793:5;:13;3799:6;3793:13;;;;;;;;;;;;;;;:31;;:38;;;;3788:2;:43;3767:418;;;3917:20;3857:80;;;:5;:13;3863:6;3857:13;;;;;;;;;;;;;;;:31;;3889:2;3857:35;;;;;;;;;;;;;;;;;;;;:56;;;:80;;;;3853:322;;;3986:4;4012:2;4036:32;4057:6;4065:2;4036:20;:32::i;:::-;4090:5;:13;4096:6;4090:13;;;;;;;;;;;;;;;:31;;4122:2;4090:35;;;;;;;;;;;;;;;;;;;;:52;;;3957:203;;;;;;;;;;3853:322;3833:4;;;;;;;3767:418;;;4202:5;4209:1;4212:5;4219:3;4194:29;;;;;;;;;;;;;;;;1231:1;3536:694;;;;;;;;;:::o;9399:990::-;9555:10;9575:13;9931:14;10006:9;9529:10;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;9617:69;9638:10;9650:7;9659:5;9666:4;9672:8;9682:3;9617:20;:69::i;:::-;9598:88;;;;;;;;;9704:5;9696:14;;;;;;;;9721:8;;;;;;;;;;;:20;;;9763:4;9782:10;9806:5;:17;9812:10;9806:17;;;;;;;;;;;;;;;:35;;9842:5;9806:42;;;;;;;;;;;;;;;;;;;;:59;;;9721:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9948:5;:17;9954:10;9948:17;;;;;;;;;;;;;;;:35;;:42;;;;9931:59;;10018:5;10006:17;;10001:151;10038:1;10029:6;:10;10025:1;:14;10001:151;;;10101:5;:17;10107:10;10101:17;;;;;;;;;;;;;;;:35;;10139:1;10137;:3;10101:40;;;;;;;;;;;;;;;;;;;;10060:5;:17;10066:10;10060:17;;;;;;;;;;;;;;;:35;;10096:1;10060:38;;;;;;;;;;;;;;;;;;;;:81;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10041:3;;;;;;;10001:151;;;10169:5;:17;10175:10;10169:17;;;;;;;;;;;;;;;:35;;10214:1;10205:6;:10;10169:47;;;;;;;;;;;;;;;;;;;;;10162:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10226:5;:17;10232:10;10226:17;;;;;;;;;;;;;;;:35;;:44;;;;;;;;;;;;:::i;:::-;;10331:1;10285:5;:17;10291:10;10285:17;;;;;;;;;;;;;;;:35;;:42;;;;:47;10281:102;;;10355:5;:17;10361:10;10355:17;;;;;;;;;;;;;;;;10348:24;;;;;;;;;;;;;;:::i;:::-;;;10281:102;9399:990;;;;;;;;;;:::o;6025:325::-;6107:7;6130:9;6158:10;6142:1;6130:13;;6171:1;6158:14;;6153:173;6179:5;:13;6185:6;6179:13;;;;;;;;;;;;;;;:31;;:38;;;;6174:2;:43;6153:173;;;6243:32;6264:6;6272:2;6243:20;:32::i;:::-;6239:77;;;6300:1;6295:6;;;;6239:77;6219:4;;;;;;;6153:173;;;6342:1;6335:8;;6025:325;;;;;:::o;973:28::-;;;;;;;;;;;;;:::o;4969:214::-;5069:6;;:::i;:::-;5052;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;5098:5;:13;5104:6;5098:13;;;;;;;;;;;;;;;:31;;5169:1;5130:5;:13;5136:6;5130:13;;;;;;;;;;;;;;;:31;;:38;;;;:40;5098:73;;;;;;;;;;;;;;;;;;;;:78;;5091:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4969:214;;;;:::o;1261:289::-;1358:4;1378:19;;:::i;:::-;1444:16;1378:56;;;;;;;;;;;;;;;;;;;;1473:6;1481:4;1463:23;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1444:42:3;;1536:6;;;;;;;;;;;1504:38;;:28;1514:8;1524:1;1527;1530;1504:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;1496:47;;1261:289;;;;;;;;:::o;5760:157::-;5842:7;5872:5;:13;5878:6;5872:13;;;;;;;;;;;;;;;:31;;:38;;;;5865:45;;5760:157;;;:::o;4325:586::-;4495:4;4501:7;4510:4;4530:24;4618:10;4479:6;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;4567:7;4576:5;4583:4;4589:8;4599:3;4557:46;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;4530:73:3;;4631:1;4618:14;;4613:258;4639:5;:13;4645:6;4639:13;;;;;;;;;;;;;;;:31;;:38;;;;4634:2;:43;4613:258;;;4759:16;4703:72;;;:5;:13;4709:6;4703:13;;;;;;;;;;;;;;;:31;;4735:2;4703:35;;;;;;;;;;;;;;;;;;;;:52;;;:72;;;;4699:162;;;4803:4;4809:2;4813:32;4834:6;4842:2;4813:20;:32::i;:::-;4795:51;;;;;;;;4699:162;4679:4;;;;;;;4613:258;;;4888:5;4895:1;4898:5;4880:24;;;;;;;;;1231:1;4325:586;;;;;;;;;;;;;:::o;2457:434::-;2578:4;2598:24;2561:6;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;2625:5;:13;2631:6;2625:13;;;;;;;;;;;;;;;:31;;2657:12;2625:45;;;;;;;;;;;;;;;;;;;;:62;;;2598:89;;2722:3;2702:23;;:16;:23;;;;2698:66;;;2748:5;2741:12;;;;2698:66;2883:1;2781:20;:39;2821:8;;;;;;;;;;;:17;;;2847:4;2854:6;2862:16;2821:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2781:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:103;2774:110;;1231:1;2457:434;;;;;;:::o;6920:752::-;7045:11;;:::i;:::-;7066:21;7097:25;7132:24;7173:26;7019:6;1202:18;1213:6;1202:10;:18::i;:::-;1194:27;;;;;;;;7202:20;:39;7242:8;;;;;;;;;;;:17;;;7281:4;7300:6;7320:5;:13;7326:6;7320:13;;;;;;;;;;;;;;;:31;;7352:12;7320:45;;;;;;;;;;;;;;;;;;;;:62;;;7242:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7202:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7173:220;;7424:5;:13;7430:6;7424:13;;;;;;;;;;;;;;;:31;;7456:12;7424:45;;;;;;;;;;;;;;;;;;;;:50;;7488:5;:13;7494:6;7488:13;;;;;;;;;;;;;;;:31;;7520:12;7488:45;;;;;;;;;;;;;;;;;;;;:59;;;7561:18;7593:5;:13;7599:6;7593:13;;;;;;;;;;;;;;;:31;;7625:12;7593:45;;;;;;;;;;;;;;;;;;;;:62;;;7403:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6920:752;;;;;;;;;:::o;149:11051::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "source": "pragma solidity 0.4.19;\n\nimport \"./EthereumClaimsRegistryInterface.sol\";\nimport \"./PhysicalAddressClaim.sol\";\n\n\n// Checks -> Effects -> Interactions\ncontract ProofOfPhysicalAddress {\n address public owner;\n address public signer;\n EthereumClaimsRegistryInterface public registry;\n\n // Main structures:\n struct PhysicalAddress {\n string name;\n\n string country;\n string state;\n string city;\n string location;\n string zip;\n\n uint256 creationBlock;\n bytes32 keccakIdentifier;\n bytes32 confirmationCodeSha3;\n }\n\n function ProofOfPhysicalAddress(address _registry) public\n {\n owner = msg.sender;\n signer = owner;\n registry = EthereumClaimsRegistryInterface(_registry);\n }\n\n struct User {\n uint256 creationBlock;\n PhysicalAddress[] physicalAddresses;\n }\n\n mapping (address => User) public users;\n\n // Stats:\n\n uint64 public totalUsers;\n uint64 public totalAddresses;\n uint64 public totalConfirmed;\n\n // Modifiers:\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n modifier checkUserExists(address wallet) {\n require(userExists(wallet));\n _;\n }\n\n // Helpers:\n function signerIsValid(bytes32 data, uint8 v, bytes32 r, bytes32 s)\n public constant returns (bool)\n {\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixed = keccak256(prefix, data);\n return (ecrecover(prefixed, v, r, s) == signer);\n }\n\n // Methods:\n // set address that is used on server-side to calculate signatures\n // and on contract-side to verify them\n function setSigner(address newSigner) public onlyOwner {\n signer = newSigner;\n }\n\n function setRegistry(address newRegistry) public onlyOwner {\n registry = EthereumClaimsRegistryInterface(newRegistry);\n }\n\n // withdraw specified amount of eth in wei\n function withdrawSome(uint256 amountWei)\n public onlyOwner\n {\n require(address(this).balance >= amountWei);\n owner.transfer(amountWei);\n }\n\n // withdraw all available eth\n function withdrawAll()\n public onlyOwner\n {\n require(address(this).balance > 0);\n owner.transfer(address(this).balance);\n }\n\n function userExists(address wallet)\n public constant returns (bool)\n {\n return (users[wallet].creationBlock > 0);\n }\n\n function userAddressConfirmed(address wallet, uint256 addressIndex)\n public constant checkUserExists(wallet) returns (bool)\n {\n bytes32 keccakIdentifier = users[wallet].physicalAddresses[addressIndex].keccakIdentifier;\n\n if (keccakIdentifier == 0x0) {\n return false;\n }\n\n return PhysicalAddressClaim.decodeConfirmation(registry.getClaim(address(this), wallet, keccakIdentifier)) > 0;\n }\n\n // returns (found/not found, index if found/0 if not found, confirmed/not confirmed)\n function userAddressByCreationBlock(address wallet, uint256 creationBlock)\n public constant checkUserExists(wallet) returns (bool, uint256, bool)\n {\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (users[wallet].physicalAddresses[ai].creationBlock == creationBlock) {\n return (true, ai, userAddressConfirmed(wallet, ai));\n }\n }\n return (false, 0, false);\n }\n\n // returns (found/not found, index if found/0 if not found, confirmed/not confirmed)\n function userAddressByConfirmationCode(\n address wallet,\n bytes32 confirmationCodeSha3\n )\n public\n constant\n checkUserExists(wallet)\n returns(bool, uint256, bool, bytes32)\n {\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (users[wallet].physicalAddresses[ai].confirmationCodeSha3 == confirmationCodeSha3) {\n return (\n true,\n ai,\n userAddressConfirmed(wallet, ai),\n users[wallet].physicalAddresses[ai].keccakIdentifier\n );\n }\n }\n return (false, 0, false, 0x0);\n }\n\n // returns (found/not found, index if found/0 if not found, confirmed/not confirmed)\n function userAddressByAddress(address wallet, string country, string state, string city, string location, string zip)\n public constant checkUserExists(wallet) returns(bool, uint256, bool)\n {\n bytes32 keccakIdentifier = keccak256(country, state, city, location, zip);\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (users[wallet].physicalAddresses[ai].keccakIdentifier == keccakIdentifier) {\n return (true, ai, userAddressConfirmed(wallet, ai));\n }\n }\n return (false, 0, false);\n }\n\n // returns last name submitted to PoPA contract\n function userLastSubmittedName(address wallet)\n public constant checkUserExists(wallet) returns (string)\n {\n return users[wallet].physicalAddresses[users[wallet].physicalAddresses.length-1].name;\n }\n\n // returns name from the last confirmed address. If no addresses were confirmed returns ''\n function userLastConfirmedName(address wallet)\n public constant checkUserExists(wallet) returns (string)\n {\n for (uint256 ai = users[wallet].physicalAddresses.length; ai > 0;) {\n ai--;\n if (userAddressConfirmed(wallet, ai)) {\n return users[wallet].physicalAddresses[ai].name;\n }\n }\n return \"\";\n }\n\n // returns how many addresses there are in PoPA contract. If user does not exist, returns 0\n function userSubmittedAddressesCount(address wallet)\n public constant returns (uint256)\n {\n return users[wallet].physicalAddresses.length;\n }\n\n // returns how many addresses from PoPA contract are confirmed. If user does not exist, returns 0\n function userConfirmedAddressesCount(address wallet)\n public constant returns (uint256)\n {\n uint256 c = 0;\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (userAddressConfirmed(wallet, ai)) {\n c += 1;\n }\n }\n return c;\n }\n\n function userAddress(address wallet, uint256 addressIndex)\n public constant checkUserExists(wallet) returns (\n string country, string state, string city, string location, string zip)\n {\n return (\n users[wallet].physicalAddresses[addressIndex].country,\n users[wallet].physicalAddresses[addressIndex].state,\n users[wallet].physicalAddresses[addressIndex].city,\n users[wallet].physicalAddresses[addressIndex].location,\n users[wallet].physicalAddresses[addressIndex].zip\n );\n }\n\n function userAddressInfo(address wallet, uint256 addressIndex)\n public constant checkUserExists(wallet) returns (\n string name,\n uint256 creationBlock,\n uint256 confirmationBlock,\n bytes32 keccakIdentifier\n ) {\n uint256 _confirmationBlock = PhysicalAddressClaim.decodeConfirmation(registry.getClaim(\n address(this),\n wallet,\n users[wallet].physicalAddresses[addressIndex].keccakIdentifier)\n );\n return (\n users[wallet].physicalAddresses[addressIndex].name,\n users[wallet].physicalAddresses[addressIndex].creationBlock,\n _confirmationBlock,\n users[wallet].physicalAddresses[addressIndex].keccakIdentifier\n );\n }\n\n // Main methods:\n function registerAddress(\n string name,\n string country, string state, string city, string location, string zip,\n uint256 priceWei,\n bytes32 confirmationCodeSha3, uint8 sigV, bytes32 sigR, bytes32 sigS)\n public payable\n {\n require(bytes(name).length > 0);\n require(bytes(country).length > 0);\n require(bytes(state).length > 0);\n require(bytes(city).length > 0);\n require(bytes(location).length > 0);\n require(bytes(zip).length > 0);\n require(msg.value >= priceWei);\n\n bytes32 data = keccak256(\n msg.sender,\n name,\n country,\n state,\n city,\n location,\n zip,\n priceWei,\n confirmationCodeSha3\n );\n require(signerIsValid(data, sigV, sigR, sigS));\n\n if (userExists(msg.sender)) {\n // check if this address is already registered\n bool found;\n (found, , ) = userAddressByAddress(msg.sender, country, state, city, location, zip);\n\n require(!found);\n } else {\n // new user\n users[msg.sender].creationBlock = block.number;\n\n totalUsers += 1;\n }\n\n PhysicalAddress memory pa;\n\n pa.name = name;\n pa.country = country;\n pa.state = state;\n pa.city = city;\n pa.location = location;\n pa.zip = zip;\n pa.creationBlock = block.number;\n pa.confirmationCodeSha3 = confirmationCodeSha3;\n pa.keccakIdentifier = keccak256(country, state, city, location, zip);\n users[msg.sender].physicalAddresses.push(pa);\n\n totalAddresses += 1;\n }\n\n function unregisterAddress(string country, string state, string city, string location, string zip)\n public checkUserExists(msg.sender)\n {\n bool found;\n uint256 index;\n (found, index, ) = userAddressByAddress(msg.sender, country, state, city, location, zip);\n require(found);\n\n registry.removeClaim(\n address(this),\n msg.sender,\n users[msg.sender].physicalAddresses[index].keccakIdentifier\n );\n\n // Remove physical address from list\n uint256 length = users[msg.sender].physicalAddresses.length;\n\n for (uint256 i = index; i < length - 1; i++) {\n users[msg.sender].physicalAddresses[i] = users[msg.sender].physicalAddresses[i+1];\n }\n\n delete users[msg.sender].physicalAddresses[length - 1];\n users[msg.sender].physicalAddresses.length--;\n\n if (users[msg.sender].physicalAddresses.length == 0) {\n delete users[msg.sender];\n }\n }\n\n function confirmAddress(string confirmationCodePlain, uint8 sigV, bytes32 sigR, bytes32 sigS)\n public checkUserExists(msg.sender)\n {\n require(bytes(confirmationCodePlain).length > 0);\n\n bytes32 data = keccak256(\n msg.sender,\n confirmationCodePlain\n );\n require(signerIsValid(data, sigV, sigR, sigS));\n\n bool found;\n uint ai;\n bool confirmed;\n bytes32 keccakIdentifier;\n (found, ai, confirmed, keccakIdentifier) = userAddressByConfirmationCode(\n msg.sender,\n keccak256(confirmationCodePlain)\n );\n require(found);\n require(!confirmed);\n\n registry.setClaim(msg.sender, keccakIdentifier, PhysicalAddressClaim.encode(block.number));\n totalConfirmed += 1;\n }\n}\n", + "bytecode": "0x6060604052341561000f57600080fd5b60405160208061429e83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506141808061011e6000396000f300606060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305831776146101595780630e666e49146101c5578063238ac933146102165780632c2a178e1461026b5780634028a0f1146104485780636c19e783146104855780637b103999146104be578063853828b6146105135780638da5cb5b14610528578063a5db3d021461057d578063a87430ba14610600578063a91ee0dc1461064d578063ae9b051c14610686578063b4778e2d146106a9578063b55fbd0414610914578063bff1f9e1146109c6578063c0fe077f14610a03578063c228251b14610a82578063c94f2c1b14610beb578063cfad527714610c38578063d673560414610c75578063d956be1014610d27578063de3d702e14610d8c578063e585332e14610dd9578063f0486ab414610f8b578063feea980814610fe5575b600080fd5b341561016457600080fd5b610199600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110bd565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b34156101d057600080fd5b6101fc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111cf565b604051808215151515815260200191505060405180910390f35b341561022157600080fd5b61022961121d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610446600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611243565b005b341561045357600080fd5b61045b611a0f565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561049057600080fd5b6104bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a29565b005b34156104c957600080fd5b6104d1611b2b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051e57600080fd5b610526611b51565b005b341561053357600080fd5b61053b611c4c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058857600080fd5b6105fe600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611c71565b005b341561060b57600080fd5b610637600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612014565b6040518082815260200191505060405180910390f35b341561065857600080fd5b610684600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612032565b005b341561069157600080fd5b6106a76004808035906020019091905050612134565b005b34156106b457600080fd5b6106e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612219565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b8381101561073957808201518184015260208101905061071e565b50505050905090810190601f1680156107665780820380516001836020036101000a031916815260200191505b5086810385528a818151815260200191508051906020019080838360005b8381101561079f578082015181840152602081019050610784565b50505050905090810190601f1680156107cc5780820380516001836020036101000a031916815260200191505b50868103845289818151815260200191508051906020019080838360005b838110156108055780820151818401526020810190506107ea565b50505050905090810190601f1680156108325780820380516001836020036101000a031916815260200191505b50868103835288818151815260200191508051906020019080838360005b8381101561086b578082015181840152602081019050610850565b50505050905090810190601f1680156108985780820380516001836020036101000a031916815260200191505b50868103825287818151815260200191508051906020019080838360005b838110156108d15780820151818401526020810190506108b6565b50505050905090810190601f1680156108fe5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561091f57600080fd5b61094b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612757565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561098b578082015181840152602081019050610970565b50505050905090810190601f1680156109b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d157600080fd5b6109d9612900565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610a0e57600080fd5b610a47600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190505061291a565b604051808515151515815260200184815260200183151515158152602001826000191660001916815260200194505050505060405180910390f35b3415610a8d57600080fd5b610be9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612aa4565b005b3415610bf657600080fd5b610c22600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506130d6565b6040518082815260200191505060405180910390f35b3415610c4357600080fd5b610c4b61315d565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610c8057600080fd5b610cac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613177565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cec578082015181840152602081019050610cd1565b50505050905090810190601f168015610d195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d3257600080fd5b610d7260048080356000191690602001909190803560ff1690602001909190803560001916906020019091908035600019169060200190919050506132dd565b604051808215151515815260200191505060405180910390f35b3415610d9757600080fd5b610dc3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613479565b6040518082815260200191505060405180910390f35b3415610de457600080fd5b610f5f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506134c8565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b3415610f9657600080fd5b610fcb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506137a3565b604051808215151515815260200191505060405180910390f35b3415610ff057600080fd5b611025600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506139fe565b60405180806020018581526020018481526020018360001916600019168152602001828103825286818151815260200191508051906020019080838360005b8381101561107f578082015181840152602081019050611064565b50505050905090810190601f1680156110ac5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b600080600080856110cd816111cf565b15156110d857600080fd5b600091505b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508210156111b75785600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561117a57fe5b90600052602060002090600902016006015414156111aa5760018261119f89856137a3565b9450945094506111c6565b81806001019250506110dd565b60008060008191509450945094505b50509250925092565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154119050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061124e613e0e565b60008e5111151561125e57600080fd5b60008d5111151561126e57600080fd5b60008c5111151561127e57600080fd5b60008b5111151561128e57600080fd5b60008a5111151561129e57600080fd5b600089511115156112ae57600080fd5b8734101515156112bd57600080fd5b338e8e8e8e8e8e8e8e604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140189805190602001908083835b60208310151561133c5780518252602082019150602081019050602083039250611317565b6001836020036101000a03801982511681845116808217855250505050505090500188805190602001908083835b60208310151561138f578051825260208201915060208101905060208303925061136a565b6001836020036101000a03801982511681845116808217855250505050505090500187805190602001908083835b6020831015156113e257805182526020820191506020810190506020830392506113bd565b6001836020036101000a03801982511681845116808217855250505050505090500186805190602001908083835b6020831015156114355780518252602082019150602081019050602083039250611410565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156114885780518252602082019150602081019050602083039250611463565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156114db57805182526020820191506020810190506020830392506114b6565b6001836020036101000a0380198251168184511680821785525050505050509050018381526020018260001916600019168152602001995050505050505050505060405180910390209250611532838787876132dd565b151561153d57600080fd5b611546336111cf565b1561157257611559338e8e8e8e8e6134c8565b905050809250508115151561156d57600080fd5b6115fd565b43600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506001600460008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b8d81600001819052508c81602001819052508b81604001819052508a8160600181905250898160800181905250888160a00181905250438160c00181815250508681610100019060001916908160001916815250508c8c8c8c8c6040518086805190602001908083835b60208310151561168c5780518252602082019150602081019050602083039250611667565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156116df57805182526020820191506020810190506020830392506116ba565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b602083101515611732578051825260208201915060208101905060208303925061170d565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b6020831015156117855780518252602082019150602081019050602083039250611760565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831015156117d857805182526020820191506020810190506020830392506117b3565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390208160e001906000191690816000191681525050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180548060010182816118709190613e85565b9160005260206000209060090201600083909190915060008201518160000190805190602001906118a2929190613eb7565b5060208201518160010190805190602001906118bf929190613eb7565b5060408201518160020190805190602001906118dc929190613eb7565b5060608201518160030190805190602001906118f9929190613eb7565b506080820151816004019080519060200190611916929190613eb7565b5060a0820151816005019080519060200190611933929190613eb7565b5060c0820151816006015560e0820151816007019060001916905561010082015181600801906000191690555050506001600460088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fe7c91dadc713049bfb35a5b137524bc4546369091366d48bb185433127b9f26b8260e0015160405180826000191660001916815260200191505060405180910390a25050505050505050505050505050565b600460109054906101000a900467ffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a8457600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fee87a28570c895f7da676d522308fff544b84e34ac47fcb36b53f5ef848e5e3281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bac57600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631111515611bd257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611c4a57600080fd5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600033611c83816111cf565b1515611c8e57600080fd5b60008a51111515611c9e57600080fd5b338a604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182805190602001908083835b602083101515611d165780518252602082019150602081019050602083039250611cf1565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405180910390209550611d52868a8a8a6132dd565b1515611d5d57600080fd5b611dc9338b6040518082805190602001908083835b602083101515611d975780518252602082019150602081019050602083039250611d72565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902061291a565b80955081965082975083985050505050841515611de557600080fd5b82151515611df257600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639918925d338473__PhysicalAddressClaim__________________63deb21fa2436000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1515611ea557600080fd5b6102c65a03f41515611eb657600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200182600019166000191681526020019350505050600060405180830381600087803b1515611f5b57600080fd5b6102c65a03f11515611f6c57600080fd5b5050506001600460108282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fcb5c5ab258abc7b8cafdc09ca97a09fa4d98a46a9a83f0462061e78fcb198cb98360405180826000191660001916815260200191505060405180910390a250505050505050505050565b60036020528060005260406000206000915090508060000154905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208d57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffd9ec64cd3990d58d48617f2750d82ea8ea105c84989b7f77c5242178ba4aeb81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561218f57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156121b557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561221657600080fd5b50565b612221613f37565b612229613f37565b612231613f37565b612239613f37565b612241613f37565b8661224b816111cf565b151561225657600080fd5b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101878154811015156122a557fe5b9060005260206000209060090201600101600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018881548110151561230557fe5b9060005260206000209060090201600201600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018981548110151561236557fe5b9060005260206000209060090201600301600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a8154811015156123c557fe5b9060005260206000209060090201600401600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018b81548110151561242557fe5b9060005260206000209060090201600501848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124cb5780601f106124a0576101008083540402835291602001916124cb565b820191906000526020600020905b8154815290600101906020018083116124ae57829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125675780601f1061253c57610100808354040283529160200191612567565b820191906000526020600020905b81548152906001019060200180831161254a57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126035780601f106125d857610100808354040283529160200191612603565b820191906000526020600020905b8154815290600101906020018083116125e657829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561269f5780601f106126745761010080835404028352916020019161269f565b820191906000526020600020905b81548152906001019060200180831161268257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561273b5780601f106127105761010080835404028352916020019161273b565b820191906000526020600020905b81548152906001019060200180831161271e57829003601f168201915b5050505050905095509550955095509550509295509295909350565b61275f613f37565b60008261276b816111cf565b151561277657600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905091505b60008211156128e5578180600190039250506127db84836137a3565b156128e057600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018281548110151561282f57fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156128d45780601f106128a9576101008083540402835291602001916128d4565b820191906000526020600020905b8154815290600101906020018083116128b757829003601f168201915b505050505092506128f9565b6127bf565b602060405190810160405280600081525092505b5050919050565b600460009054906101000a900467ffffffffffffffff1681565b60008060008060008661292c816111cf565b151561293757600080fd5b600091505b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050821015612a81578660001916600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101838154811015156129dd57fe5b906000526020600020906009020160080154600019161415612a7457600182612a068a856137a3565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010185815481101515612a5557fe5b9060005260206000209060090201600701549550955095509550612a99565b818060010192505061293c565b60008060008082925080600102905095509550955095505b505092959194509250565b600080600080600033612ab6816111cf565b1515612ac157600080fd5b612acf338c8c8c8c8c6134c8565b508096508197505050851515612ae457600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010185815481101515612b3357fe5b9060005260206000209060090201600701549350600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7508ec73033876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515612c4757600080fd5b6102c65a03f11515612c5857600080fd5b505050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905092508491505b60018303821015612e9957600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018301815481101515612d0457fe5b9060005260206000209060090201600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010183815481101515612d6157fe5b906000526020600020906009020160008201816000019080546001816001161561010002031660029004612d96929190613f4b565b5060018201816001019080546001816001161561010002031660029004612dbe929190613f4b565b5060028201816002019080546001816001161561010002031660029004612de6929190613f4b565b5060038201816003019080546001816001161561010002031660029004612e0e929190613f4b565b5060048201816004019080546001816001161561010002031660029004612e36929190613f4b565b5060058201816005019080546001816001161561010002031660029004612e5e929190613f4b565b506006820154816006015560078201548160070190600019169055600882015481600801906000191690559050508180600101925050612ca7565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018403815481101515612eeb57fe5b906000526020600020906009020160008082016000612f0a9190613fd2565b600182016000612f1a9190613fd2565b600282016000612f2a9190613fd2565b600382016000612f3a9190613fd2565b600482016000612f4a9190613fd2565b600582016000612f5a9190613fd2565b6006820160009055600782016000905560088201600090555050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805480919060019003612fc9919061401a565b506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050141561307357600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000613070919061404c565b50505b3373ffffffffffffffffffffffffffffffffffffffff167ff205ce75791437944181c7d5b0da9fc3f03171ae90ec93e4dc4f3ddf2982eb018560405180826000191660001916815260200191505060405180910390a25050505050505050505050565b6000806000809150600090505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508110156131535761313a84826137a3565b15613146576001820191505b80806001019150506130e3565b8192505050919050565b600460089054906101000a900467ffffffffffffffff1681565b61317f613f37565b81613189816111cf565b151561319457600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490500381548110151561322b57fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132d05780601f106132a5576101008083540402835291602001916132d0565b820191906000526020600020905b8154815290600101906020018083116132b357829003601f168201915b5050505050915050919050565b60006132e7614070565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b6020831015156133585780518252602082019150602081019050602083039250613333565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600182888888604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561344d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff161492505050949350505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490509050919050565b60008060008060008a6134da816111cf565b15156134e557600080fd5b8a8a8a8a8a6040518086805190602001908083835b60208310151561351f57805182526020820191506020810190506020830392506134fa565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b602083101515613572578051825260208201915060208101905060208303925061354d565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156135c557805182526020820191506020810190506020830392506135a0565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b60208310151561361857805182526020820191506020810190506020830392506135f3565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310151561366b5780518252602082019150602081019050602083039250613646565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390209250600091505b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050821015613785578260001916600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561374457fe5b9060005260206000209060090201600701546000191614156137785760018261376d8e856137a3565b955095509550613794565b81806001019250506136a3565b60008060008191509550955095505b50505096509650969350505050565b600080836137b0816111cf565b15156137bb57600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561380a57fe5b906000526020600020906009020160070154915060006001028260001916141561383757600092506139f6565b600073__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308a886000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b151561395c57600080fd5b6102c65a03f1151561396d57600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b15156139d757600080fd5b6102c65a03f415156139e857600080fd5b505050604051805190501192505b505092915050565b613a06613f37565b60008060008086613a16816111cf565b1515613a2157600080fd5b73__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308c600360008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018d815481101515613aca57fe5b9060005260206000209060090201600701546000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b1515613ba457600080fd5b6102c65a03f11515613bb557600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b1515613c1f57600080fd5b6102c65a03f41515613c3057600080fd5b505050604051805190509150600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010187815481101515613c8b57fe5b9060005260206000209060090201600001600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010188815481101515613ceb57fe5b90600052602060002090600902016006015483600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a815481101515613d4d57fe5b906000526020600020906009020160070154838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613df45780601f10613dc957610100808354040283529160200191613df4565b820191906000526020600020905b815481529060010190602001808311613dd757829003601f168201915b505050505093509550955095509550505092959194509250565b61012060405190810160405280613e23614084565b8152602001613e30614084565b8152602001613e3d614084565b8152602001613e4a614084565b8152602001613e57614084565b8152602001613e64614084565b81526020016000815260200160008019168152602001600080191681525090565b815481835581811511613eb257600902816009028360005260206000209182019101613eb19190614098565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ef857805160ff1916838001178555613f26565b82800160010185558215613f26579182015b82811115613f25578251825591602001919060010190613f0a565b5b509050613f33919061412f565b5090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613f845780548555613fc1565b82800160010185558215613fc157600052602060002091601f016020900482015b82811115613fc0578254825591600101919060010190613fa5565b5b509050613fce919061412f565b5090565b50805460018160011615610100020316600290046000825580601f10613ff85750614017565b601f016020900490600052602060002090810190614016919061412f565b5b50565b815481835581811511614047576009028160090283600052602060002091820191016140469190614098565b5b505050565b508054600082556009029060005260206000209081019061406d9190614098565b50565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b61412c91905b8082111561412857600080820160006140b79190613fd2565b6001820160006140c79190613fd2565b6002820160006140d79190613fd2565b6003820160006140e79190613fd2565b6004820160006140f79190613fd2565b6005820160006141079190613fd2565b6006820160009055600782016000905560088201600090555060090161409e565b5090565b90565b61415191905b8082111561414d576000816000905550600101614135565b5090565b905600a165627a7a72305820a1361d3cb10a5d78e659759b928c5e5a3ed9b4cd623f69f611afbec30237e49b0029", + "deployedBytecode": "0x606060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305831776146101595780630e666e49146101c5578063238ac933146102165780632c2a178e1461026b5780634028a0f1146104485780636c19e783146104855780637b103999146104be578063853828b6146105135780638da5cb5b14610528578063a5db3d021461057d578063a87430ba14610600578063a91ee0dc1461064d578063ae9b051c14610686578063b4778e2d146106a9578063b55fbd0414610914578063bff1f9e1146109c6578063c0fe077f14610a03578063c228251b14610a82578063c94f2c1b14610beb578063cfad527714610c38578063d673560414610c75578063d956be1014610d27578063de3d702e14610d8c578063e585332e14610dd9578063f0486ab414610f8b578063feea980814610fe5575b600080fd5b341561016457600080fd5b610199600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110bd565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b34156101d057600080fd5b6101fc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111cf565b604051808215151515815260200191505060405180910390f35b341561022157600080fd5b61022961121d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610446600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611243565b005b341561045357600080fd5b61045b611a0f565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561049057600080fd5b6104bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a29565b005b34156104c957600080fd5b6104d1611b2b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561051e57600080fd5b610526611b51565b005b341561053357600080fd5b61053b611c4c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058857600080fd5b6105fe600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050611c71565b005b341561060b57600080fd5b610637600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612014565b6040518082815260200191505060405180910390f35b341561065857600080fd5b610684600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612032565b005b341561069157600080fd5b6106a76004808035906020019091905050612134565b005b34156106b457600080fd5b6106e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612219565b60405180806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b8381101561073957808201518184015260208101905061071e565b50505050905090810190601f1680156107665780820380516001836020036101000a031916815260200191505b5086810385528a818151815260200191508051906020019080838360005b8381101561079f578082015181840152602081019050610784565b50505050905090810190601f1680156107cc5780820380516001836020036101000a031916815260200191505b50868103845289818151815260200191508051906020019080838360005b838110156108055780820151818401526020810190506107ea565b50505050905090810190601f1680156108325780820380516001836020036101000a031916815260200191505b50868103835288818151815260200191508051906020019080838360005b8381101561086b578082015181840152602081019050610850565b50505050905090810190601f1680156108985780820380516001836020036101000a031916815260200191505b50868103825287818151815260200191508051906020019080838360005b838110156108d15780820151818401526020810190506108b6565b50505050905090810190601f1680156108fe5780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b341561091f57600080fd5b61094b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612757565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561098b578082015181840152602081019050610970565b50505050905090810190601f1680156109b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d157600080fd5b6109d9612900565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610a0e57600080fd5b610a47600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080356000191690602001909190505061291a565b604051808515151515815260200184815260200183151515158152602001826000191660001916815260200194505050505060405180910390f35b3415610a8d57600080fd5b610be9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612aa4565b005b3415610bf657600080fd5b610c22600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506130d6565b6040518082815260200191505060405180910390f35b3415610c4357600080fd5b610c4b61315d565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b3415610c8057600080fd5b610cac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613177565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cec578082015181840152602081019050610cd1565b50505050905090810190601f168015610d195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d3257600080fd5b610d7260048080356000191690602001909190803560ff1690602001909190803560001916906020019091908035600019169060200190919050506132dd565b604051808215151515815260200191505060405180910390f35b3415610d9757600080fd5b610dc3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613479565b6040518082815260200191505060405180910390f35b3415610de457600080fd5b610f5f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506134c8565b604051808415151515815260200183815260200182151515158152602001935050505060405180910390f35b3415610f9657600080fd5b610fcb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506137a3565b604051808215151515815260200191505060405180910390f35b3415610ff057600080fd5b611025600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506139fe565b60405180806020018581526020018481526020018360001916600019168152602001828103825286818151815260200191508051906020019080838360005b8381101561107f578082015181840152602081019050611064565b50505050905090810190601f1680156110ac5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b600080600080856110cd816111cf565b15156110d857600080fd5b600091505b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508210156111b75785600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561117a57fe5b90600052602060002090600902016006015414156111aa5760018261119f89856137a3565b9450945094506111c6565b81806001019250506110dd565b60008060008191509450945094505b50509250925092565b600080600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154119050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008061124e613e0e565b60008e5111151561125e57600080fd5b60008d5111151561126e57600080fd5b60008c5111151561127e57600080fd5b60008b5111151561128e57600080fd5b60008a5111151561129e57600080fd5b600089511115156112ae57600080fd5b8734101515156112bd57600080fd5b338e8e8e8e8e8e8e8e604051808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140189805190602001908083835b60208310151561133c5780518252602082019150602081019050602083039250611317565b6001836020036101000a03801982511681845116808217855250505050505090500188805190602001908083835b60208310151561138f578051825260208201915060208101905060208303925061136a565b6001836020036101000a03801982511681845116808217855250505050505090500187805190602001908083835b6020831015156113e257805182526020820191506020810190506020830392506113bd565b6001836020036101000a03801982511681845116808217855250505050505090500186805190602001908083835b6020831015156114355780518252602082019150602081019050602083039250611410565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156114885780518252602082019150602081019050602083039250611463565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156114db57805182526020820191506020810190506020830392506114b6565b6001836020036101000a0380198251168184511680821785525050505050509050018381526020018260001916600019168152602001995050505050505050505060405180910390209250611532838787876132dd565b151561153d57600080fd5b611546336111cf565b1561157257611559338e8e8e8e8e6134c8565b905050809250508115151561156d57600080fd5b6115fd565b43600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001819055506001600460008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b8d81600001819052508c81602001819052508b81604001819052508a8160600181905250898160800181905250888160a00181905250438160c00181815250508681610100019060001916908160001916815250508c8c8c8c8c6040518086805190602001908083835b60208310151561168c5780518252602082019150602081019050602083039250611667565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b6020831015156116df57805182526020820191506020810190506020830392506116ba565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b602083101515611732578051825260208201915060208101905060208303925061170d565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b6020831015156117855780518252602082019150602081019050602083039250611760565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b6020831015156117d857805182526020820191506020810190506020830392506117b3565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390208160e001906000191690816000191681525050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180548060010182816118709190613e85565b9160005260206000209060090201600083909190915060008201518160000190805190602001906118a2929190613eb7565b5060208201518160010190805190602001906118bf929190613eb7565b5060408201518160020190805190602001906118dc929190613eb7565b5060608201518160030190805190602001906118f9929190613eb7565b506080820151816004019080519060200190611916929190613eb7565b5060a0820151816005019080519060200190611933929190613eb7565b5060c0820151816006015560e0820151816007019060001916905561010082015181600801906000191690555050506001600460088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fe7c91dadc713049bfb35a5b137524bc4546369091366d48bb185433127b9f26b8260e0015160405180826000191660001916815260200191505060405180910390a25050505050505050505050505050565b600460109054906101000a900467ffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a8457600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fee87a28570c895f7da676d522308fff544b84e34ac47fcb36b53f5ef848e5e3281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bac57600080fd5b60003073ffffffffffffffffffffffffffffffffffffffff1631111515611bd257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611c4a57600080fd5b565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600033611c83816111cf565b1515611c8e57600080fd5b60008a51111515611c9e57600080fd5b338a604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140182805190602001908083835b602083101515611d165780518252602082019150602081019050602083039250611cf1565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405180910390209550611d52868a8a8a6132dd565b1515611d5d57600080fd5b611dc9338b6040518082805190602001908083835b602083101515611d975780518252602082019150602081019050602083039250611d72565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902061291a565b80955081965082975083985050505050841515611de557600080fd5b82151515611df257600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639918925d338473__PhysicalAddressClaim__________________63deb21fa2436000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060206040518083038186803b1515611ea557600080fd5b6102c65a03f41515611eb657600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001836000191660001916815260200182600019166000191681526020019350505050600060405180830381600087803b1515611f5b57600080fd5b6102c65a03f11515611f6c57600080fd5b5050506001600460108282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff167fcb5c5ab258abc7b8cafdc09ca97a09fa4d98a46a9a83f0462061e78fcb198cb98360405180826000191660001916815260200191505060405180910390a250505050505050505050565b60036020528060005260406000206000915090508060000154905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561208d57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffd9ec64cd3990d58d48617f2750d82ea8ea105c84989b7f77c5242178ba4aeb81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561218f57600080fd5b803073ffffffffffffffffffffffffffffffffffffffff1631101515156121b557600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561221657600080fd5b50565b612221613f37565b612229613f37565b612231613f37565b612239613f37565b612241613f37565b8661224b816111cf565b151561225657600080fd5b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101878154811015156122a557fe5b9060005260206000209060090201600101600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018881548110151561230557fe5b9060005260206000209060090201600201600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018981548110151561236557fe5b9060005260206000209060090201600301600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a8154811015156123c557fe5b9060005260206000209060090201600401600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018b81548110151561242557fe5b9060005260206000209060090201600501848054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156124cb5780601f106124a0576101008083540402835291602001916124cb565b820191906000526020600020905b8154815290600101906020018083116124ae57829003601f168201915b50505050509450838054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156125675780601f1061253c57610100808354040283529160200191612567565b820191906000526020600020905b81548152906001019060200180831161254a57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126035780601f106125d857610100808354040283529160200191612603565b820191906000526020600020905b8154815290600101906020018083116125e657829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561269f5780601f106126745761010080835404028352916020019161269f565b820191906000526020600020905b81548152906001019060200180831161268257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561273b5780601f106127105761010080835404028352916020019161273b565b820191906000526020600020905b81548152906001019060200180831161271e57829003601f168201915b5050505050905095509550955095509550509295509295909350565b61275f613f37565b60008261276b816111cf565b151561277657600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905091505b60008211156128e5578180600190039250506127db84836137a3565b156128e057600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018281548110151561282f57fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156128d45780601f106128a9576101008083540402835291602001916128d4565b820191906000526020600020905b8154815290600101906020018083116128b757829003601f168201915b505050505092506128f9565b6127bf565b602060405190810160405280600081525092505b5050919050565b600460009054906101000a900467ffffffffffffffff1681565b60008060008060008661292c816111cf565b151561293757600080fd5b600091505b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050821015612a81578660001916600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101838154811015156129dd57fe5b906000526020600020906009020160080154600019161415612a7457600182612a068a856137a3565b600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010185815481101515612a5557fe5b9060005260206000209060090201600701549550955095509550612a99565b818060010192505061293c565b60008060008082925080600102905095509550955095505b505092959194509250565b600080600080600033612ab6816111cf565b1515612ac157600080fd5b612acf338c8c8c8c8c6134c8565b508096508197505050851515612ae457600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010185815481101515612b3357fe5b9060005260206000209060090201600701549350600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c7508ec73033876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050600060405180830381600087803b1515612c4757600080fd5b6102c65a03f11515612c5857600080fd5b505050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018054905092508491505b60018303821015612e9957600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018301815481101515612d0457fe5b9060005260206000209060090201600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010183815481101515612d6157fe5b906000526020600020906009020160008201816000019080546001816001161561010002031660029004612d96929190613f4b565b5060018201816001019080546001816001161561010002031660029004612dbe929190613f4b565b5060028201816002019080546001816001161561010002031660029004612de6929190613f4b565b5060038201816003019080546001816001161561010002031660029004612e0e929190613f4b565b5060048201816004019080546001816001161561010002031660029004612e36929190613f4b565b5060058201816005019080546001816001161561010002031660029004612e5e929190613f4b565b506006820154816006015560078201548160070190600019169055600882015481600801906000191690559050508180600101925050612ca7565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160018403815481101515612eeb57fe5b906000526020600020906009020160008082016000612f0a9190613fd2565b600182016000612f1a9190613fd2565b600282016000612f2a9190613fd2565b600382016000612f3a9190613fd2565b600482016000612f4a9190613fd2565b600582016000612f5a9190613fd2565b6006820160009055600782016000905560088201600090555050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805480919060019003612fc9919061401a565b506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050141561307357600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160009055600182016000613070919061404c565b50505b3373ffffffffffffffffffffffffffffffffffffffff167ff205ce75791437944181c7d5b0da9fc3f03171ae90ec93e4dc4f3ddf2982eb018560405180826000191660001916815260200191505060405180910390a25050505050505050505050565b6000806000809150600090505b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490508110156131535761313a84826137a3565b15613146576001820191505b80806001019150506130e3565b8192505050919050565b600460089054906101000a900467ffffffffffffffff1681565b61317f613f37565b81613189816111cf565b151561319457600080fd5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001016001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490500381548110151561322b57fe5b90600052602060002090600902016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132d05780601f106132a5576101008083540402835291602001916132d0565b820191906000526020600020905b8154815290600101906020018083116132b357829003601f168201915b5050505050915050919050565b60006132e7614070565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b6020831015156133585780518252602082019150602081019050602083039250613333565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600182888888604051600081526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f1151561344d57600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff161492505050949350505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101805490509050919050565b60008060008060008a6134da816111cf565b15156134e557600080fd5b8a8a8a8a8a6040518086805190602001908083835b60208310151561351f57805182526020820191506020810190506020830392506134fa565b6001836020036101000a03801982511681845116808217855250505050505090500185805190602001908083835b602083101515613572578051825260208201915060208101905060208303925061354d565b6001836020036101000a03801982511681845116808217855250505050505090500184805190602001908083835b6020831015156135c557805182526020820191506020810190506020830392506135a0565b6001836020036101000a03801982511681845116808217855250505050505090500183805190602001908083835b60208310151561361857805182526020820191506020810190506020830392506135f3565b6001836020036101000a03801982511681845116808217855250505050505090500182805190602001908083835b60208310151561366b5780518252602082019150602081019050602083039250613646565b6001836020036101000a0380198251168184511680821785525050505050509050019550505050505060405180910390209250600091505b600360008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010180549050821015613785578260001916600360008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018381548110151561374457fe5b9060005260206000209060090201600701546000191614156137785760018261376d8e856137a3565b955095509550613794565b81806001019250506136a3565b60008060008191509550955095505b50505096509650969350505050565b600080836137b0816111cf565b15156137bb57600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018481548110151561380a57fe5b906000526020600020906009020160070154915060006001028260001916141561383757600092506139f6565b600073__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308a886000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b151561395c57600080fd5b6102c65a03f1151561396d57600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b15156139d757600080fd5b6102c65a03f415156139e857600080fd5b505050604051805190501192505b505092915050565b613a06613f37565b60008060008086613a16816111cf565b1515613a2157600080fd5b73__PhysicalAddressClaim__________________637194df0d600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1661eff308c600360008f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018d815481101515613aca57fe5b9060005260206000209060090201600701546000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182600019166000191681526020019350505050602060405180830381600087803b1515613ba457600080fd5b6102c65a03f11515613bb557600080fd5b505050604051805190506000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180826000191660001916815260200191505060206040518083038186803b1515613c1f57600080fd5b6102c65a03f41515613c3057600080fd5b505050604051805190509150600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010187815481101515613c8b57fe5b9060005260206000209060090201600001600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010188815481101515613ceb57fe5b90600052602060002090600902016006015483600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001018a815481101515613d4d57fe5b906000526020600020906009020160070154838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015613df45780601f10613dc957610100808354040283529160200191613df4565b820191906000526020600020905b815481529060010190602001808311613dd757829003601f168201915b505050505093509550955095509550505092959194509250565b61012060405190810160405280613e23614084565b8152602001613e30614084565b8152602001613e3d614084565b8152602001613e4a614084565b8152602001613e57614084565b8152602001613e64614084565b81526020016000815260200160008019168152602001600080191681525090565b815481835581811511613eb257600902816009028360005260206000209182019101613eb19190614098565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613ef857805160ff1916838001178555613f26565b82800160010185558215613f26579182015b82811115613f25578251825591602001919060010190613f0a565b5b509050613f33919061412f565b5090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613f845780548555613fc1565b82800160010185558215613fc157600052602060002091601f016020900482015b82811115613fc0578254825591600101919060010190613fa5565b5b509050613fce919061412f565b5090565b50805460018160011615610100020316600290046000825580601f10613ff85750614017565b601f016020900490600052602060002090810190614016919061412f565b5b50565b815481835581811511614047576009028160090283600052602060002091820191016140469190614098565b5b505050565b508054600082556009029060005260206000209081019061406d9190614098565b50565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b61412c91905b8082111561412857600080820160006140b79190613fd2565b6001820160006140c79190613fd2565b6002820160006140d79190613fd2565b6003820160006140e79190613fd2565b6004820160006140f79190613fd2565b6005820160006141079190613fd2565b6006820160009055600782016000905560088201600090555060090161409e565b5090565b90565b61415191905b8082111561414d576000816000905550600101614135565b5090565b905600a165627a7a72305820a1361d3cb10a5d78e659759b928c5e5a3ed9b4cd623f69f611afbec30237e49b0029", + "sourceMap": "149:11731:4:-;;;592:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;672:10;664:5;;:18;;;;;;;;;;;;;;;;;;701:5;;;;;;;;;;;692:6;;:14;;;;;;;;;;;;;;;;;;759:9;716:8;;:53;;;;;;;;;;;;;;;;;;592:184;149:11731;;;;;;", + "deployedSourceMap": "149:11731:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3426:455;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2759:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;213:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8139:1758;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1007:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2048:127;;;;;;;;;;;;;;;;;;;;;;;;;;;;240:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2607:146;;;;;;;;;;;;;;187:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11015:863;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;883:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;2406:161;;;;;;;;;;;;;;;;;;;;;;;;;;6796:558;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5724:374:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;943:24:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3976:694;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9903:1106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6465:325;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;973:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5409:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1623:289:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6200:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4765:586;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2897:434;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7360:752;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;80:1;75:3;71;64:6;52:2;49:1;45:3;40:15;;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3426:455:4;3554:4;3560:7;3569:4;3594:10;3537:6;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;3607:1;3594:14;;3589:252;3615:5;:13;3621:6;3615:13;;;;;;;;;;;;;;;:31;;:38;;;;3610:2;:43;3589:252;;;3732:13;3679:5;:13;3685:6;3679:13;;;;;;;;;;;;;;;:31;;3711:2;3679:35;;;;;;;;;;;;;;;;;;;;:49;;;:66;3675:156;;;3773:4;3779:2;3783:32;3804:6;3812:2;3783:20;:32::i;:::-;3765:51;;;;;;;;3675:156;3655:4;;;;;;;3589:252;;;3858:5;3865:1;3868:5;3850:24;;;;;;;;;1593:1;3426:455;;;;;;;:::o;2759:132::-;2824:4;2882:1;2852:5;:13;2858:6;2852:13;;;;;;;;;;;;;;;:27;;;:31;2844:40;;2759:132;;;:::o;213:21::-;;;;;;;;;;;;;:::o;8139:1758::-;8697:12;9094:10;9383:25;;:::i;:::-;8432:1;8417:4;8411:18;:22;8403:31;;;;;;;;8476:1;8458:7;8452:21;:25;8444:34;;;;;;;;8518:1;8502:5;8496:19;:23;8488:32;;;;;;;;8559:1;8544:4;8538:18;:22;8530:31;;;;;;;;8604:1;8585:8;8579:22;:26;8571:35;;;;;;;;8644:1;8630:3;8624:17;:21;8616:30;;;;;;;;8677:8;8664:9;:21;;8656:30;;;;;;;;8735:10;8759:4;8777:7;8798:5;8817:4;8835:8;8857:3;8874:8;8896:20;8712:214;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8697:229:4;;8944:37;8958:4;8964;8970;8976;8944:13;:37::i;:::-;8936:46;;;;;;;;8997:22;9008:10;8997;:22::i;:::-;8993:380;;;9132:69;9153:10;9165:7;9174:5;9181:4;9187:8;9197:3;9132:20;:69::i;:::-;9118:83;;;;;;;9225:5;9224:6;9216:15;;;;;;;;8993:380;;;9320:12;9286:5;:17;9292:10;9286:17;;;;;;;;;;;;;;;:31;;:46;;;;9361:1;9347:10;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8993:380;9429:4;9419:2;:7;;:14;;;;9456:7;9443:2;:10;;:20;;;;9484:5;9473:2;:8;;:16;;;;9509:4;9499:2;:7;;:14;;;;9537:8;9523:2;:11;;:22;;;;9564:3;9555:2;:6;;:12;;;;9596;9577:2;:16;;:31;;;;;9644:20;9618:2;:23;;:46;;;;;;;;;;;;;9706:7;9715:5;9722:4;9728:8;9738:3;9696:46;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;9674:2:4;:19;;:68;;;;;;;;;;;;;9752:5;:17;9758:10;9752:17;;;;;;;;;;;;;;;:35;;:44;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;9793:2;9752:44;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9825:1;9807:14;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9858:10;9837:53;;;9870:2;:19;;;9837:53;;;;;;;;;;;;;;;;;;;;;;;;8139:1758;;;;;;;;;;;;;;:::o;1007:28::-;;;;;;;;;;;;;:::o;2048:127::-;1475:5;;;;;;;;;;;1461:19;;:10;:19;;;1453:28;;;;;;;;2122:9;2113:6;;:18;;;;;;;;;;;;;;;;;;2141:27;2158:9;2141:27;;;;;;;;;;;;;;;;;;;;;;2048:127;:::o;240:47::-;;;;;;;;;;;;;:::o;2607:146::-;1475:5;;;;;;;;;;;1461:19;;:10;:19;;;1453:28;;;;;;;;2697:1;2681:4;2673:21;;;:25;2665:34;;;;;;;;2709:5;;;;;;;;;;;:14;;:37;2732:4;2724:21;;;2709:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2607:146::o;187:20::-;;;;;;;;;;;;;:::o;11015:863::-;11221:12;11381:10;11401:7;11418:14;11442:24;11136:10;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;11208:1;11176:21;11170:35;:39;11162:48;;;;;;;;11259:10;11283:21;11236:78;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;11221:93:4;;11332:37;11346:4;11352;11358;11364;11332:13;:37::i;:::-;11324:46;;;;;;;;11519:109;11562:10;11596:21;11586:32;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;11519:29:4;:109::i;:::-;11476:152;;;;;;;;;;;;;;;;11646:5;11638:14;;;;;;;;11671:9;11670:10;11662:19;;;;;;;;11692:8;;;;;;;;;;;:17;;;11710:10;11722:16;11740:20;:27;11768:12;11740:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11692:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11810:1;11792:14;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11842:10;11822:49;;;11854:16;11822:49;;;;;;;;;;;;;;;;;;;;;;;;11015:863;;;;;;;;;;:::o;883:38::-;;;;;;;;;;;;;;;;;;;;;;:::o;2181:172::-;1475:5;;;;;;;;;;;1461:19;;:10;:19;;;1453:28;;;;;;;;2293:11;2250:8;;:55;;;;;;;;;;;;;;;;;;2315:31;2334:11;2315:31;;;;;;;;;;;;;;;;;;;;;;2181:172;:::o;2406:161::-;1475:5;;;;;;;;;;;1461:19;;:10;:19;;;1453:28;;;;;;;;2515:9;2498:4;2490:21;;;:34;;2482:43;;;;;;;;2535:5;;;;;;;;;;;:14;;:25;2550:9;2535:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2406:161;:::o;6796:558::-;6917:14;;:::i;:::-;6933:12;;:::i;:::-;6947:11;;:::i;:::-;6960:15;;:::i;:::-;6977:10;;:::i;:::-;6891:6;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;7024:5;:13;7030:6;7024:13;;;;;;;;;;;;;;;:31;;7056:12;7024:45;;;;;;;;;;;;;;;;;;;;:53;;7091:5;:13;7097:6;7091:13;;;;;;;;;;;;;;;:31;;7123:12;7091:45;;;;;;;;;;;;;;;;;;;;:51;;7156:5;:13;7162:6;7156:13;;;;;;;;;;;;;;;:31;;7188:12;7156:45;;;;;;;;;;;;;;;;;;;;:50;;7220:5;:13;7226:6;7220:13;;;;;;;;;;;;;;;:31;;7252:12;7220:45;;;;;;;;;;;;;;;;;;;;:54;;7288:5;:13;7294:6;7288:13;;;;;;;;;;;;;;;:31;;7320:12;7288:45;;;;;;;;;;;;;;;;;;;;:49;;7003:344;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6796:558;;;;;;;;;:::o;5724:374::-;5824:6;;:::i;:::-;5851:10;5807:6;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;5864:5;:13;5870:6;5864:13;;;;;;;;;;;;;;;:31;;:38;;;;5851:51;;5846:227;5909:1;5904:2;:6;5846:227;;;5927:4;;;;;;;;5949:32;5970:6;5978:2;5949:20;:32::i;:::-;5945:118;;;6008:5;:13;6014:6;6008:13;;;;;;;;;;;;;;;:31;;6040:2;6008:35;;;;;;;;;;;;;;;;;;;;:40;;6001:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5945:118;5846:227;;;6082:9;;;;;;;;;;;;;;;1593:1;5724:374;;;;;:::o;943:24::-;;;;;;;;;;;;;:::o;3976:694::-;4163:4;4169:7;4178:4;4184:7;4212:10;4139:6;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;4225:1;4212:14;;4207:418;4233:5;:13;4239:6;4233:13;;;;;;;;;;;;;;;:31;;:38;;;;4228:2;:43;4207:418;;;4357:20;4297:80;;;:5;:13;4303:6;4297:13;;;;;;;;;;;;;;;:31;;4329:2;4297:35;;;;;;;;;;;;;;;;;;;;:56;;;:80;;;;4293:322;;;4426:4;4452:2;4476:32;4497:6;4505:2;4476:20;:32::i;:::-;4530:5;:13;4536:6;4530:13;;;;;;;;;;;;;;;:31;;4562:2;4530:35;;;;;;;;;;;;;;;;;;;;:52;;;4397:203;;;;;;;;;;4293:322;4273:4;;;;;;;4207:418;;;4642:5;4649:1;4652:5;4659:3;4634:29;;;;;;;;;;;;;;;;1593:1;3976:694;;;;;;;;;:::o;9903:1106::-;10059:10;10079:13;10225:24;10488:14;10563:9;10033:10;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;10121:69;10142:10;10154:7;10163:5;10170:4;10176:8;10186:3;10121:20;:69::i;:::-;10102:88;;;;;;;;;10208:5;10200:14;;;;;;;;10252:5;:17;10258:10;10252:17;;;;;;;;;;;;;;;:35;;10288:5;10252:42;;;;;;;;;;;;;;;;;;;;:59;;;10225:86;;10321:8;;;;;;;;;;;:20;;;10363:4;10382:10;10406:16;10321:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10505:5;:17;10511:10;10505:17;;;;;;;;;;;;;;;:35;;:42;;;;10488:59;;10575:5;10563:17;;10558:151;10595:1;10586:6;:10;10582:1;:14;10558:151;;;10658:5;:17;10664:10;10658:17;;;;;;;;;;;;;;;:35;;10696:1;10694;:3;10658:40;;;;;;;;;;;;;;;;;;;;10617:5;:17;10623:10;10617:17;;;;;;;;;;;;;;;:35;;10653:1;10617:38;;;;;;;;;;;;;;;;;;;;:81;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10598:3;;;;;;;10558:151;;;10726:5;:17;10732:10;10726:17;;;;;;;;;;;;;;;:35;;10771:1;10762:6;:10;10726:47;;;;;;;;;;;;;;;;;;;;;10719:54;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10783:5;:17;10789:10;10783:17;;;;;;;;;;;;;;;:35;;:44;;;;;;;;;;;;:::i;:::-;;10888:1;10842:5;:17;10848:10;10842:17;;;;;;;;;;;;;;;:35;;:42;;;;:47;10838:102;;;10912:5;:17;10918:10;10912:17;;;;;;;;;;;;;;;;10905:24;;;;;;;;;;;;;;:::i;:::-;;;10838:102;10973:10;10950:52;;;10985:16;10950:52;;;;;;;;;;;;;;;;;;;;;;;;9903:1106;;;;;;;;;;;:::o;6465:325::-;6547:7;6570:9;6598:10;6582:1;6570:13;;6611:1;6598:14;;6593:173;6619:5;:13;6625:6;6619:13;;;;;;;;;;;;;;;:31;;:38;;;;6614:2;:43;6593:173;;;6683:32;6704:6;6712:2;6683:20;:32::i;:::-;6679:77;;;6740:1;6735:6;;;;6679:77;6659:4;;;;;;;6593:173;;;6782:1;6775:8;;6465:325;;;;;:::o;973:28::-;;;;;;;;;;;;;:::o;5409:214::-;5509:6;;:::i;:::-;5492;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;5538:5;:13;5544:6;5538:13;;;;;;;;;;;;;;;:31;;5609:1;5570:5;:13;5576:6;5570:13;;;;;;;;;;;;;;;:31;;:38;;;;:40;5538:73;;;;;;;;;;;;;;;;;;;;:78;;5531:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5409:214;;;;:::o;1623:289::-;1720:4;1740:19;;:::i;:::-;1806:16;1740:56;;;;;;;;;;;;;;;;;;;;1835:6;1843:4;1825:23;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1806:42:4;;1898:6;;;;;;;;;;;1866:38;;:28;1876:8;1886:1;1889;1892;1866:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;1858:47;;1623:289;;;;;;;;:::o;6200:157::-;6282:7;6312:5;:13;6318:6;6312:13;;;;;;;;;;;;;;;:31;;:38;;;;6305:45;;6200:157;;;:::o;4765:586::-;4935:4;4941:7;4950:4;4970:24;5058:10;4919:6;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;5007:7;5016:5;5023:4;5029:8;5039:3;4997:46;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;36:153;66:2;61:3;58:2;51:6;36:153;;;182:3;176:5;171:3;164:6;98:2;93:3;89;82:19;;123:2;118:3;114;107:19;;148:2;143:3;139;132:19;;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;4970:73:4;;5071:1;5058:14;;5053:258;5079:5;:13;5085:6;5079:13;;;;;;;;;;;;;;;:31;;:38;;;;5074:2;:43;5053:258;;;5199:16;5143:72;;;:5;:13;5149:6;5143:13;;;;;;;;;;;;;;;:31;;5175:2;5143:35;;;;;;;;;;;;;;;;;;;;:52;;;:72;;;;5139:162;;;5243:4;5249:2;5253:32;5274:6;5282:2;5253:20;:32::i;:::-;5235:51;;;;;;;;5139:162;5119:4;;;;;;;5053:258;;;5328:5;5335:1;5338:5;5320:24;;;;;;;;;1593:1;4765:586;;;;;;;;;;;;;:::o;2897:434::-;3018:4;3038:24;3001:6;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;3065:5;:13;3071:6;3065:13;;;;;;;;;;;;;;;:31;;3097:12;3065:45;;;;;;;;;;;;;;;;;;;;:62;;;3038:89;;3162:3;3142:23;;:16;:23;;;;3138:66;;;3188:5;3181:12;;;;3138:66;3323:1;3221:20;:39;3261:8;;;;;;;;;;;:17;;;3287:4;3294:6;3302:16;3261:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3221:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:103;3214:110;;1593:1;2897:434;;;;;;:::o;7360:752::-;7485:11;;:::i;:::-;7506:21;7537:25;7572:24;7613:26;7459:6;1564:18;1575:6;1564:10;:18::i;:::-;1556:27;;;;;;;;7642:20;:39;7682:8;;;;;;;;;;;:17;;;7721:4;7740:6;7760:5;:13;7766:6;7760:13;;;;;;;;;;;;;;;:31;;7792:12;7760:45;;;;;;;;;;;;;;;;;;;;:62;;;7682:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7642:191;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7613:220;;7864:5;:13;7870:6;7864:13;;;;;;;;;;;;;;;:31;;7896:12;7864:45;;;;;;;;;;;;;;;;;;;;:50;;7928:5;:13;7934:6;7928:13;;;;;;;;;;;;;;;:31;;7960:12;7928:45;;;;;;;;;;;;;;;;;;;;:59;;;8001:18;8033:5;:13;8039:6;8033:13;;;;;;;;;;;;;;;:31;;8065:12;8033:45;;;;;;;;;;;;;;;;;;;;:62;;;7843:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7360:752;;;;;;;;;:::o;149:11731::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity 0.4.19;\n\nimport \"./EthereumClaimsRegistryInterface.sol\";\nimport \"./PhysicalAddressClaim.sol\";\n\n\n// Checks -> Effects -> Interactions\ncontract ProofOfPhysicalAddress {\n address public owner;\n address public signer;\n EthereumClaimsRegistryInterface public registry;\n\n // Main structures:\n struct PhysicalAddress {\n string name;\n\n string country;\n string state;\n string city;\n string location;\n string zip;\n\n uint256 creationBlock;\n bytes32 keccakIdentifier;\n bytes32 confirmationCodeSha3;\n }\n\n function ProofOfPhysicalAddress(address _registry) public\n {\n owner = msg.sender;\n signer = owner;\n registry = EthereumClaimsRegistryInterface(_registry);\n }\n\n struct User {\n uint256 creationBlock;\n PhysicalAddress[] physicalAddresses;\n }\n\n mapping (address => User) public users;\n\n // Stats:\n\n uint64 public totalUsers;\n uint64 public totalAddresses;\n uint64 public totalConfirmed;\n\n // Events:\n\n event LogSignerChanged(address newSigner);\n event LogRegistryChanged(address newRegistry);\n event LogAddressRegistered(address indexed wallet, bytes32 keccakIdentifier);\n event LogAddressUnregistered(address indexed wallet, bytes32 keccakIdentifier);\n event LogAddressConfirmed(address indexed wallet, bytes32 keccakIdentifier);\n\n // Modifiers:\n modifier onlyOwner() {\n require(msg.sender == owner);\n _;\n }\n\n modifier checkUserExists(address wallet) {\n require(userExists(wallet));\n _;\n }\n\n // Helpers:\n function signerIsValid(bytes32 data, uint8 v, bytes32 r, bytes32 s)\n public constant returns (bool)\n {\n bytes memory prefix = \"\\x19Ethereum Signed Message:\\n32\";\n bytes32 prefixed = keccak256(prefix, data);\n return (ecrecover(prefixed, v, r, s) == signer);\n }\n\n // Methods:\n // set address that is used on server-side to calculate signatures\n // and on contract-side to verify them\n function setSigner(address newSigner) public onlyOwner {\n signer = newSigner;\n LogSignerChanged(newSigner);\n }\n\n function setRegistry(address newRegistry) public onlyOwner {\n registry = EthereumClaimsRegistryInterface(newRegistry);\n LogRegistryChanged(newRegistry);\n }\n\n // withdraw specified amount of eth in wei\n function withdrawSome(uint256 amountWei)\n public onlyOwner\n {\n require(address(this).balance >= amountWei);\n owner.transfer(amountWei);\n }\n\n // withdraw all available eth\n function withdrawAll()\n public onlyOwner\n {\n require(address(this).balance > 0);\n owner.transfer(address(this).balance);\n }\n\n function userExists(address wallet)\n public constant returns (bool)\n {\n return (users[wallet].creationBlock > 0);\n }\n\n function userAddressConfirmed(address wallet, uint256 addressIndex)\n public constant checkUserExists(wallet) returns (bool)\n {\n bytes32 keccakIdentifier = users[wallet].physicalAddresses[addressIndex].keccakIdentifier;\n\n if (keccakIdentifier == 0x0) {\n return false;\n }\n\n return PhysicalAddressClaim.decodeConfirmation(registry.getClaim(address(this), wallet, keccakIdentifier)) > 0;\n }\n\n // returns (found/not found, index if found/0 if not found, confirmed/not confirmed)\n function userAddressByCreationBlock(address wallet, uint256 creationBlock)\n public constant checkUserExists(wallet) returns (bool, uint256, bool)\n {\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (users[wallet].physicalAddresses[ai].creationBlock == creationBlock) {\n return (true, ai, userAddressConfirmed(wallet, ai));\n }\n }\n return (false, 0, false);\n }\n\n // returns (found/not found, index if found/0 if not found, confirmed/not confirmed)\n function userAddressByConfirmationCode(\n address wallet,\n bytes32 confirmationCodeSha3\n )\n public\n constant\n checkUserExists(wallet)\n returns(bool, uint256, bool, bytes32)\n {\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (users[wallet].physicalAddresses[ai].confirmationCodeSha3 == confirmationCodeSha3) {\n return (\n true,\n ai,\n userAddressConfirmed(wallet, ai),\n users[wallet].physicalAddresses[ai].keccakIdentifier\n );\n }\n }\n return (false, 0, false, 0x0);\n }\n\n // returns (found/not found, index if found/0 if not found, confirmed/not confirmed)\n function userAddressByAddress(address wallet, string country, string state, string city, string location, string zip)\n public constant checkUserExists(wallet) returns(bool, uint256, bool)\n {\n bytes32 keccakIdentifier = keccak256(country, state, city, location, zip);\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (users[wallet].physicalAddresses[ai].keccakIdentifier == keccakIdentifier) {\n return (true, ai, userAddressConfirmed(wallet, ai));\n }\n }\n return (false, 0, false);\n }\n\n // returns last name submitted to PoPA contract\n function userLastSubmittedName(address wallet)\n public constant checkUserExists(wallet) returns (string)\n {\n return users[wallet].physicalAddresses[users[wallet].physicalAddresses.length-1].name;\n }\n\n // returns name from the last confirmed address. If no addresses were confirmed returns ''\n function userLastConfirmedName(address wallet)\n public constant checkUserExists(wallet) returns (string)\n {\n for (uint256 ai = users[wallet].physicalAddresses.length; ai > 0;) {\n ai--;\n if (userAddressConfirmed(wallet, ai)) {\n return users[wallet].physicalAddresses[ai].name;\n }\n }\n return \"\";\n }\n\n // returns how many addresses there are in PoPA contract. If user does not exist, returns 0\n function userSubmittedAddressesCount(address wallet)\n public constant returns (uint256)\n {\n return users[wallet].physicalAddresses.length;\n }\n\n // returns how many addresses from PoPA contract are confirmed. If user does not exist, returns 0\n function userConfirmedAddressesCount(address wallet)\n public constant returns (uint256)\n {\n uint256 c = 0;\n for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) {\n if (userAddressConfirmed(wallet, ai)) {\n c += 1;\n }\n }\n return c;\n }\n\n function userAddress(address wallet, uint256 addressIndex)\n public constant checkUserExists(wallet) returns (\n string country, string state, string city, string location, string zip)\n {\n return (\n users[wallet].physicalAddresses[addressIndex].country,\n users[wallet].physicalAddresses[addressIndex].state,\n users[wallet].physicalAddresses[addressIndex].city,\n users[wallet].physicalAddresses[addressIndex].location,\n users[wallet].physicalAddresses[addressIndex].zip\n );\n }\n\n function userAddressInfo(address wallet, uint256 addressIndex)\n public constant checkUserExists(wallet) returns (\n string name,\n uint256 creationBlock,\n uint256 confirmationBlock,\n bytes32 keccakIdentifier\n ) {\n uint256 _confirmationBlock = PhysicalAddressClaim.decodeConfirmation(registry.getClaim(\n address(this),\n wallet,\n users[wallet].physicalAddresses[addressIndex].keccakIdentifier)\n );\n return (\n users[wallet].physicalAddresses[addressIndex].name,\n users[wallet].physicalAddresses[addressIndex].creationBlock,\n _confirmationBlock,\n users[wallet].physicalAddresses[addressIndex].keccakIdentifier\n );\n }\n\n // Main methods:\n function registerAddress(\n string name,\n string country, string state, string city, string location, string zip,\n uint256 priceWei,\n bytes32 confirmationCodeSha3, uint8 sigV, bytes32 sigR, bytes32 sigS)\n public payable\n {\n require(bytes(name).length > 0);\n require(bytes(country).length > 0);\n require(bytes(state).length > 0);\n require(bytes(city).length > 0);\n require(bytes(location).length > 0);\n require(bytes(zip).length > 0);\n require(msg.value >= priceWei);\n\n bytes32 data = keccak256(\n msg.sender,\n name,\n country,\n state,\n city,\n location,\n zip,\n priceWei,\n confirmationCodeSha3\n );\n require(signerIsValid(data, sigV, sigR, sigS));\n\n if (userExists(msg.sender)) {\n // check if this address is already registered\n bool found;\n (found, , ) = userAddressByAddress(msg.sender, country, state, city, location, zip);\n\n require(!found);\n } else {\n // new user\n users[msg.sender].creationBlock = block.number;\n\n totalUsers += 1;\n }\n\n PhysicalAddress memory pa;\n\n pa.name = name;\n pa.country = country;\n pa.state = state;\n pa.city = city;\n pa.location = location;\n pa.zip = zip;\n pa.creationBlock = block.number;\n pa.confirmationCodeSha3 = confirmationCodeSha3;\n pa.keccakIdentifier = keccak256(country, state, city, location, zip);\n users[msg.sender].physicalAddresses.push(pa);\n\n totalAddresses += 1;\n\n LogAddressRegistered(msg.sender, pa.keccakIdentifier);\n }\n\n function unregisterAddress(string country, string state, string city, string location, string zip)\n public checkUserExists(msg.sender)\n {\n bool found;\n uint256 index;\n (found, index, ) = userAddressByAddress(msg.sender, country, state, city, location, zip);\n require(found);\n\n bytes32 keccakIdentifier = users[msg.sender].physicalAddresses[index].keccakIdentifier;\n registry.removeClaim(\n address(this),\n msg.sender,\n keccakIdentifier\n );\n\n // Remove physical address from list\n uint256 length = users[msg.sender].physicalAddresses.length;\n\n for (uint256 i = index; i < length - 1; i++) {\n users[msg.sender].physicalAddresses[i] = users[msg.sender].physicalAddresses[i+1];\n }\n\n delete users[msg.sender].physicalAddresses[length - 1];\n users[msg.sender].physicalAddresses.length--;\n\n if (users[msg.sender].physicalAddresses.length == 0) {\n delete users[msg.sender];\n }\n\n LogAddressUnregistered(msg.sender, keccakIdentifier);\n }\n\n function confirmAddress(string confirmationCodePlain, uint8 sigV, bytes32 sigR, bytes32 sigS)\n public checkUserExists(msg.sender)\n {\n require(bytes(confirmationCodePlain).length > 0);\n\n bytes32 data = keccak256(\n msg.sender,\n confirmationCodePlain\n );\n require(signerIsValid(data, sigV, sigR, sigS));\n\n bool found;\n uint ai;\n bool confirmed;\n bytes32 keccakIdentifier;\n (found, ai, confirmed, keccakIdentifier) = userAddressByConfirmationCode(\n msg.sender,\n keccak256(confirmationCodePlain)\n );\n require(found);\n require(!confirmed);\n\n registry.setClaim(msg.sender, keccakIdentifier, PhysicalAddressClaim.encode(block.number));\n totalConfirmed += 1;\n\n LogAddressConfirmed(msg.sender, keccakIdentifier);\n }\n}\n", "sourcePath": "/home/fvictorio/repos/poa-popa/blockchain/contracts/ProofOfPhysicalAddress.sol", "ast": { "attributes": { "absolutePath": "/home/fvictorio/repos/poa-popa/blockchain/contracts/ProofOfPhysicalAddress.sol", "exportedSymbols": { "ProofOfPhysicalAddress": [ - 1469 + 1583 ] } }, @@ -637,39 +712,39 @@ ".19" ] }, - "id": 312, + "id": 369, "name": "PragmaDirective", - "src": "0:23:3" + "src": "0:23:4" }, { "attributes": { "SourceUnit": 194, "absolutePath": "/home/fvictorio/repos/poa-popa/blockchain/contracts/EthereumClaimsRegistryInterface.sol", "file": "./EthereumClaimsRegistryInterface.sol", - "scope": 1470, + "scope": 1584, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 313, + "id": 370, "name": "ImportDirective", - "src": "25:47:3" + "src": "25:47:4" }, { "attributes": { - "SourceUnit": 311, + "SourceUnit": 368, "absolutePath": "/home/fvictorio/repos/poa-popa/blockchain/contracts/PhysicalAddressClaim.sol", "file": "./PhysicalAddressClaim.sol", - "scope": 1470, + "scope": 1584, "symbolAliases": [ null ], "unitAlias": "" }, - "id": 314, + "id": 371, "name": "ImportDirective", - "src": "73:36:3" + "src": "73:36:4" }, { "attributes": { @@ -683,17 +758,17 @@ "documentation": null, "fullyImplemented": true, "linearizedBaseContracts": [ - 1469 + 1583 ], "name": "ProofOfPhysicalAddress", - "scope": 1470 + "scope": 1584 }, "children": [ { "attributes": { "constant": false, "name": "owner", - "scope": 1469, + "scope": 1583, "stateVariable": true, "storageLocation": "default", "type": "address", @@ -706,20 +781,20 @@ "name": "address", "type": "address" }, - "id": 315, + "id": 372, "name": "ElementaryTypeName", - "src": "187:7:3" + "src": "187:7:4" } ], - "id": 316, + "id": 373, "name": "VariableDeclaration", - "src": "187:20:3" + "src": "187:20:4" }, { "attributes": { "constant": false, "name": "signer", - "scope": 1469, + "scope": 1583, "stateVariable": true, "storageLocation": "default", "type": "address", @@ -732,20 +807,20 @@ "name": "address", "type": "address" }, - "id": 317, + "id": 374, "name": "ElementaryTypeName", - "src": "213:7:3" + "src": "213:7:4" } ], - "id": 318, + "id": 375, "name": "VariableDeclaration", - "src": "213:21:3" + "src": "213:21:4" }, { "attributes": { "constant": false, "name": "registry", - "scope": 1469, + "scope": 1583, "stateVariable": true, "storageLocation": "default", "type": "contract EthereumClaimsRegistryInterface", @@ -760,20 +835,20 @@ "referencedDeclaration": 193, "type": "contract EthereumClaimsRegistryInterface" }, - "id": 319, + "id": 376, "name": "UserDefinedTypeName", - "src": "240:31:3" + "src": "240:31:4" } ], - "id": 320, + "id": 377, "name": "VariableDeclaration", - "src": "240:47:3" + "src": "240:47:4" }, { "attributes": { "canonicalName": "ProofOfPhysicalAddress.PhysicalAddress", "name": "PhysicalAddress", - "scope": 1469, + "scope": 1583, "visibility": "public" }, "children": [ @@ -781,7 +856,7 @@ "attributes": { "constant": false, "name": "name", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "string storage pointer", @@ -794,20 +869,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 321, + "id": 378, "name": "ElementaryTypeName", - "src": "351:6:3" + "src": "351:6:4" } ], - "id": 322, + "id": 379, "name": "VariableDeclaration", - "src": "351:11:3" + "src": "351:11:4" }, { "attributes": { "constant": false, "name": "country", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "string storage pointer", @@ -820,20 +895,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 323, + "id": 380, "name": "ElementaryTypeName", - "src": "373:6:3" + "src": "373:6:4" } ], - "id": 324, + "id": 381, "name": "VariableDeclaration", - "src": "373:14:3" + "src": "373:14:4" }, { "attributes": { "constant": false, "name": "state", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "string storage pointer", @@ -846,20 +921,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 325, + "id": 382, "name": "ElementaryTypeName", - "src": "397:6:3" + "src": "397:6:4" } ], - "id": 326, + "id": 383, "name": "VariableDeclaration", - "src": "397:12:3" + "src": "397:12:4" }, { "attributes": { "constant": false, "name": "city", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "string storage pointer", @@ -872,20 +947,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 327, + "id": 384, "name": "ElementaryTypeName", - "src": "419:6:3" + "src": "419:6:4" } ], - "id": 328, + "id": 385, "name": "VariableDeclaration", - "src": "419:11:3" + "src": "419:11:4" }, { "attributes": { "constant": false, "name": "location", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "string storage pointer", @@ -898,20 +973,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 329, + "id": 386, "name": "ElementaryTypeName", - "src": "440:6:3" + "src": "440:6:4" } ], - "id": 330, + "id": 387, "name": "VariableDeclaration", - "src": "440:15:3" + "src": "440:15:4" }, { "attributes": { "constant": false, "name": "zip", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "string storage pointer", @@ -924,20 +999,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 331, + "id": 388, "name": "ElementaryTypeName", - "src": "465:6:3" + "src": "465:6:4" } ], - "id": 332, + "id": 389, "name": "VariableDeclaration", - "src": "465:10:3" + "src": "465:10:4" }, { "attributes": { "constant": false, "name": "creationBlock", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -950,20 +1025,20 @@ "name": "uint256", "type": "uint256" }, - "id": 333, + "id": 390, "name": "ElementaryTypeName", - "src": "486:7:3" + "src": "486:7:4" } ], - "id": 334, + "id": 391, "name": "VariableDeclaration", - "src": "486:21:3" + "src": "486:21:4" }, { "attributes": { "constant": false, "name": "keccakIdentifier", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -976,20 +1051,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 335, + "id": 392, "name": "ElementaryTypeName", - "src": "517:7:3" + "src": "517:7:4" } ], - "id": 336, + "id": 393, "name": "VariableDeclaration", - "src": "517:24:3" + "src": "517:24:4" }, { "attributes": { "constant": false, "name": "confirmationCodeSha3", - "scope": 339, + "scope": 396, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -1002,19 +1077,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 337, + "id": 394, "name": "ElementaryTypeName", - "src": "551:7:3" + "src": "551:7:4" } ], - "id": 338, + "id": 395, "name": "VariableDeclaration", - "src": "551:28:3" + "src": "551:28:4" } ], - "id": 339, + "id": 396, "name": "StructDefinition", - "src": "318:268:3" + "src": "318:268:4" }, { "attributes": { @@ -1026,7 +1101,7 @@ ], "name": "ProofOfPhysicalAddress", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -1038,7 +1113,7 @@ "attributes": { "constant": false, "name": "_registry", - "scope": 360, + "scope": 417, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1051,19 +1126,19 @@ "name": "address", "type": "address" }, - "id": 340, + "id": 397, "name": "ElementaryTypeName", - "src": "624:7:3" + "src": "624:7:4" } ], - "id": 341, + "id": 398, "name": "VariableDeclaration", - "src": "624:17:3" + "src": "624:17:4" } ], - "id": 342, + "id": 399, "name": "ParameterList", - "src": "623:19:3" + "src": "623:19:4" }, { "attributes": { @@ -1072,9 +1147,9 @@ ] }, "children": [], - "id": 343, + "id": 400, "name": "ParameterList", - "src": "654:0:3" + "src": "654:0:4" }, { "children": [ @@ -1097,13 +1172,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 316, + "referencedDeclaration": 373, "type": "address", "value": "owner" }, - "id": 344, + "id": 401, "name": "Identifier", - "src": "664:5:3" + "src": "664:5:4" }, { "attributes": { @@ -1123,28 +1198,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 345, + "id": 402, "name": "Identifier", - "src": "672:3:3" + "src": "672:3:4" } ], - "id": 346, + "id": 403, "name": "MemberAccess", - "src": "672:10:3" + "src": "672:10:4" } ], - "id": 347, + "id": 404, "name": "Assignment", - "src": "664:18:3" + "src": "664:18:4" } ], - "id": 348, + "id": 405, "name": "ExpressionStatement", - "src": "664:18:3" + "src": "664:18:4" }, { "children": [ @@ -1165,13 +1240,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 318, + "referencedDeclaration": 375, "type": "address", "value": "signer" }, - "id": 349, + "id": 406, "name": "Identifier", - "src": "692:6:3" + "src": "692:6:4" }, { "attributes": { @@ -1179,23 +1254,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 316, + "referencedDeclaration": 373, "type": "address", "value": "owner" }, - "id": 350, + "id": 407, "name": "Identifier", - "src": "701:5:3" + "src": "701:5:4" } ], - "id": 351, + "id": 408, "name": "Assignment", - "src": "692:14:3" + "src": "692:14:4" } ], - "id": 352, + "id": 409, "name": "ExpressionStatement", - "src": "692:14:3" + "src": "692:14:4" }, { "children": [ @@ -1216,13 +1291,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 320, + "referencedDeclaration": 377, "type": "contract EthereumClaimsRegistryInterface", "value": "registry" }, - "id": 353, + "id": 410, "name": "Identifier", - "src": "716:8:3" + "src": "716:8:4" }, { "attributes": { @@ -1254,9 +1329,9 @@ "type": "type(contract EthereumClaimsRegistryInterface)", "value": "EthereumClaimsRegistryInterface" }, - "id": 354, + "id": 411, "name": "Identifier", - "src": "727:31:3" + "src": "727:31:4" }, { "attributes": { @@ -1264,44 +1339,44 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 341, + "referencedDeclaration": 398, "type": "address", "value": "_registry" }, - "id": 355, + "id": 412, "name": "Identifier", - "src": "759:9:3" + "src": "759:9:4" } ], - "id": 356, + "id": 413, "name": "FunctionCall", - "src": "727:42:3" + "src": "727:42:4" } ], - "id": 357, + "id": 414, "name": "Assignment", - "src": "716:53:3" + "src": "716:53:4" } ], - "id": 358, + "id": 415, "name": "ExpressionStatement", - "src": "716:53:3" + "src": "716:53:4" } ], - "id": 359, + "id": 416, "name": "Block", - "src": "654:122:3" + "src": "654:122:4" } ], - "id": 360, + "id": 417, "name": "FunctionDefinition", - "src": "592:184:3" + "src": "592:184:4" }, { "attributes": { "canonicalName": "ProofOfPhysicalAddress.User", "name": "User", - "scope": 1469, + "scope": 1583, "visibility": "public" }, "children": [ @@ -1309,7 +1384,7 @@ "attributes": { "constant": false, "name": "creationBlock", - "scope": 366, + "scope": 423, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -1322,20 +1397,20 @@ "name": "uint256", "type": "uint256" }, - "id": 361, + "id": 418, "name": "ElementaryTypeName", - "src": "804:7:3" + "src": "804:7:4" } ], - "id": 362, + "id": 419, "name": "VariableDeclaration", - "src": "804:21:3" + "src": "804:21:4" }, { "attributes": { "constant": false, "name": "physicalAddresses", - "scope": 366, + "scope": 423, "stateVariable": false, "storageLocation": "default", "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage pointer", @@ -1353,33 +1428,33 @@ "attributes": { "contractScope": null, "name": "PhysicalAddress", - "referencedDeclaration": 339, + "referencedDeclaration": 396, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage pointer" }, - "id": 363, + "id": 420, "name": "UserDefinedTypeName", - "src": "835:15:3" + "src": "835:15:4" } ], - "id": 364, + "id": 421, "name": "ArrayTypeName", - "src": "835:17:3" + "src": "835:17:4" } ], - "id": 365, + "id": 422, "name": "VariableDeclaration", - "src": "835:35:3" + "src": "835:35:4" } ], - "id": 366, + "id": 423, "name": "StructDefinition", - "src": "782:95:3" + "src": "782:95:4" }, { "attributes": { "constant": false, "name": "users", - "scope": 1469, + "scope": 1583, "stateVariable": true, "storageLocation": "default", "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", @@ -1397,36 +1472,36 @@ "name": "address", "type": "address" }, - "id": 367, + "id": 424, "name": "ElementaryTypeName", - "src": "892:7:3" + "src": "892:7:4" }, { "attributes": { "contractScope": null, "name": "User", - "referencedDeclaration": 366, + "referencedDeclaration": 423, "type": "struct ProofOfPhysicalAddress.User storage pointer" }, - "id": 368, + "id": 425, "name": "UserDefinedTypeName", - "src": "903:4:3" + "src": "903:4:4" } ], - "id": 369, + "id": 426, "name": "Mapping", - "src": "883:25:3" + "src": "883:25:4" } ], - "id": 370, + "id": 427, "name": "VariableDeclaration", - "src": "883:38:3" + "src": "883:38:4" }, { "attributes": { "constant": false, "name": "totalUsers", - "scope": 1469, + "scope": 1583, "stateVariable": true, "storageLocation": "default", "type": "uint64", @@ -1439,20 +1514,20 @@ "name": "uint64", "type": "uint64" }, - "id": 371, + "id": 428, "name": "ElementaryTypeName", - "src": "943:6:3" + "src": "943:6:4" } ], - "id": 372, + "id": 429, "name": "VariableDeclaration", - "src": "943:24:3" + "src": "943:24:4" }, { "attributes": { "constant": false, "name": "totalAddresses", - "scope": 1469, + "scope": 1583, "stateVariable": true, "storageLocation": "default", "type": "uint64", @@ -1465,20 +1540,20 @@ "name": "uint64", "type": "uint64" }, - "id": 373, + "id": 430, "name": "ElementaryTypeName", - "src": "973:6:3" + "src": "973:6:4" } ], - "id": 374, + "id": 431, "name": "VariableDeclaration", - "src": "973:28:3" + "src": "973:28:4" }, { "attributes": { "constant": false, "name": "totalConfirmed", - "scope": 1469, + "scope": 1583, "stateVariable": true, "storageLocation": "default", "type": "uint64", @@ -1491,164 +1566,109 @@ "name": "uint64", "type": "uint64" }, - "id": 375, + "id": 432, "name": "ElementaryTypeName", - "src": "1007:6:3" + "src": "1007:6:4" } ], - "id": 376, + "id": 433, "name": "VariableDeclaration", - "src": "1007:28:3" + "src": "1007:28:4" }, { "attributes": { - "name": "onlyOwner", - "visibility": "internal" + "anonymous": false, + "name": "LogSignerChanged" }, "children": [ { - "attributes": { - "parameters": [ - null - ] - }, - "children": [], - "id": 377, + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "newSigner", + "scope": 437, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 434, + "name": "ElementaryTypeName", + "src": "1081:7:4" + } + ], + "id": 435, + "name": "VariableDeclaration", + "src": "1081:17:4" + } + ], + "id": 436, "name": "ParameterList", - "src": "1078:2:3" - }, + "src": "1080:19:4" + } + ], + "id": 437, + "name": "EventDefinition", + "src": "1058:42:4" + }, + { + "attributes": { + "anonymous": false, + "name": "LogRegistryChanged" + }, + "children": [ { "children": [ { + "attributes": { + "constant": false, + "indexed": false, + "name": "newRegistry", + "scope": 441, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, "children": [ { "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false + "name": "address", + "type": "address" }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1484, - "type": "function (bool) pure", - "value": "require" - }, - "id": 378, - "name": "Identifier", - "src": "1091:7:3" - }, - { - "attributes": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "operator": "==", - "type": "bool" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1481, - "type": "msg", - "value": "msg" - }, - "id": 379, - "name": "Identifier", - "src": "1099:3:3" - } - ], - "id": 380, - "name": "MemberAccess", - "src": "1099:10:3" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 316, - "type": "address", - "value": "owner" - }, - "id": 381, - "name": "Identifier", - "src": "1113:5:3" - } - ], - "id": 382, - "name": "BinaryOperation", - "src": "1099:19:3" - } - ], - "id": 383, - "name": "FunctionCall", - "src": "1091:28:3" + "id": 438, + "name": "ElementaryTypeName", + "src": "1130:7:4" } ], - "id": 384, - "name": "ExpressionStatement", - "src": "1091:28:3" - }, - { - "id": 385, - "name": "PlaceholderStatement", - "src": "1129:1:3" + "id": 439, + "name": "VariableDeclaration", + "src": "1130:19:4" } ], - "id": 386, - "name": "Block", - "src": "1081:56:3" + "id": 440, + "name": "ParameterList", + "src": "1129:21:4" } ], - "id": 387, - "name": "ModifierDefinition", - "src": "1060:77:3" + "id": 441, + "name": "EventDefinition", + "src": "1105:46:4" }, { "attributes": { - "name": "checkUserExists", - "visibility": "internal" + "anonymous": false, + "name": "LogAddressRegistered" }, "children": [ { @@ -1656,8 +1676,9 @@ { "attributes": { "constant": false, + "indexed": true, "name": "wallet", - "scope": 399, + "scope": 447, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -1670,38 +1691,231 @@ "name": "address", "type": "address" }, - "id": 388, + "id": 442, + "name": "ElementaryTypeName", + "src": "1183:7:4" + } + ], + "id": 443, + "name": "VariableDeclaration", + "src": "1183:22:4" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "keccakIdentifier", + "scope": 447, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 444, "name": "ElementaryTypeName", - "src": "1168:7:3" + "src": "1207:7:4" } ], - "id": 389, + "id": 445, "name": "VariableDeclaration", - "src": "1168:14:3" + "src": "1207:24:4" } ], - "id": 390, + "id": 446, "name": "ParameterList", - "src": "1167:16:3" - }, + "src": "1182:50:4" + } + ], + "id": 447, + "name": "EventDefinition", + "src": "1156:77:4" + }, + { + "attributes": { + "anonymous": false, + "name": "LogAddressUnregistered" + }, + "children": [ { "children": [ { + "attributes": { + "constant": false, + "indexed": true, + "name": "wallet", + "scope": 453, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, "children": [ { "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, + "name": "address", + "type": "address" + }, + "id": 448, + "name": "ElementaryTypeName", + "src": "1267:7:4" + } + ], + "id": 449, + "name": "VariableDeclaration", + "src": "1267:22:4" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "keccakIdentifier", + "scope": 453, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 450, + "name": "ElementaryTypeName", + "src": "1291:7:4" + } + ], + "id": 451, + "name": "VariableDeclaration", + "src": "1291:24:4" + } + ], + "id": 452, + "name": "ParameterList", + "src": "1266:50:4" + } + ], + "id": 453, + "name": "EventDefinition", + "src": "1238:79:4" + }, + { + "attributes": { + "anonymous": false, + "name": "LogAddressConfirmed" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "wallet", + "scope": 459, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 454, + "name": "ElementaryTypeName", + "src": "1348:7:4" + } + ], + "id": 455, + "name": "VariableDeclaration", + "src": "1348:22:4" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "keccakIdentifier", + "scope": 459, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 456, + "name": "ElementaryTypeName", + "src": "1372:7:4" + } + ], + "id": 457, + "name": "VariableDeclaration", + "src": "1372:24:4" + } + ], + "id": 458, + "name": "ParameterList", + "src": "1347:50:4" + } + ], + "id": 459, + "name": "EventDefinition", + "src": "1322:76:4" + }, + { + "attributes": { + "name": "onlyOwner", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 460, + "name": "ParameterList", + "src": "1440:2:4" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, "children": [ { "attributes": { @@ -1714,13 +1928,180 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, + "type": "function (bool) pure", + "value": "require" + }, + "id": 461, + "name": "Identifier", + "src": "1453:7:4" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1595, + "type": "msg", + "value": "msg" + }, + "id": 462, + "name": "Identifier", + "src": "1461:3:4" + } + ], + "id": 463, + "name": "MemberAccess", + "src": "1461:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 373, + "type": "address", + "value": "owner" + }, + "id": 464, + "name": "Identifier", + "src": "1475:5:4" + } + ], + "id": 465, + "name": "BinaryOperation", + "src": "1461:19:4" + } + ], + "id": 466, + "name": "FunctionCall", + "src": "1453:28:4" + } + ], + "id": 467, + "name": "ExpressionStatement", + "src": "1453:28:4" + }, + { + "id": 468, + "name": "PlaceholderStatement", + "src": "1491:1:4" + } + ], + "id": 469, + "name": "Block", + "src": "1443:56:4" + } + ], + "id": 470, + "name": "ModifierDefinition", + "src": "1422:77:4" + }, + { + "attributes": { + "name": "checkUserExists", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "wallet", + "scope": 482, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 471, + "name": "ElementaryTypeName", + "src": "1530:7:4" + } + ], + "id": 472, + "name": "VariableDeclaration", + "src": "1530:14:4" + } + ], + "id": 473, + "name": "ParameterList", + "src": "1529:16:4" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 391, + "id": 474, "name": "Identifier", - "src": "1194:7:3" + "src": "1556:7:4" }, { "attributes": { @@ -1748,13 +2129,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 523, + "referencedDeclaration": 614, "type": "function (address) view returns (bool)", "value": "userExists" }, - "id": 392, + "id": 475, "name": "Identifier", - "src": "1202:10:3" + "src": "1564:10:4" }, { "attributes": { @@ -1762,43 +2143,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 389, + "referencedDeclaration": 472, "type": "address", "value": "wallet" }, - "id": 393, + "id": 476, "name": "Identifier", - "src": "1213:6:3" + "src": "1575:6:4" } ], - "id": 394, + "id": 477, "name": "FunctionCall", - "src": "1202:18:3" + "src": "1564:18:4" } ], - "id": 395, + "id": 478, "name": "FunctionCall", - "src": "1194:27:3" + "src": "1556:27:4" } ], - "id": 396, + "id": 479, "name": "ExpressionStatement", - "src": "1194:27:3" + "src": "1556:27:4" }, { - "id": 397, + "id": 480, "name": "PlaceholderStatement", - "src": "1231:1:3" + "src": "1593:1:4" } ], - "id": 398, + "id": 481, "name": "Block", - "src": "1184:55:3" + "src": "1546:55:4" } ], - "id": 399, + "id": 482, "name": "ModifierDefinition", - "src": "1143:96:3" + "src": "1505:96:4" }, { "attributes": { @@ -1810,7 +2191,7 @@ ], "name": "signerIsValid", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -1822,7 +2203,7 @@ "attributes": { "constant": false, "name": "data", - "scope": 434, + "scope": 517, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -1835,20 +2216,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 400, + "id": 483, "name": "ElementaryTypeName", - "src": "1284:7:3" + "src": "1646:7:4" } ], - "id": 401, + "id": 484, "name": "VariableDeclaration", - "src": "1284:12:3" + "src": "1646:12:4" }, { "attributes": { "constant": false, "name": "v", - "scope": 434, + "scope": 517, "stateVariable": false, "storageLocation": "default", "type": "uint8", @@ -1861,20 +2242,20 @@ "name": "uint8", "type": "uint8" }, - "id": 402, + "id": 485, "name": "ElementaryTypeName", - "src": "1298:5:3" + "src": "1660:5:4" } ], - "id": 403, + "id": 486, "name": "VariableDeclaration", - "src": "1298:7:3" + "src": "1660:7:4" }, { "attributes": { "constant": false, "name": "r", - "scope": 434, + "scope": 517, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -1887,20 +2268,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 404, + "id": 487, "name": "ElementaryTypeName", - "src": "1307:7:3" + "src": "1669:7:4" } ], - "id": 405, + "id": 488, "name": "VariableDeclaration", - "src": "1307:9:3" + "src": "1669:9:4" }, { "attributes": { "constant": false, "name": "s", - "scope": 434, + "scope": 517, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -1913,19 +2294,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 406, + "id": 489, "name": "ElementaryTypeName", - "src": "1318:7:3" + "src": "1680:7:4" } ], - "id": 407, + "id": 490, "name": "VariableDeclaration", - "src": "1318:9:3" + "src": "1680:9:4" } ], - "id": 408, + "id": 491, "name": "ParameterList", - "src": "1283:45:3" + "src": "1645:45:4" }, { "children": [ @@ -1933,7 +2314,7 @@ "attributes": { "constant": false, "name": "", - "scope": 434, + "scope": 517, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -1946,26 +2327,26 @@ "name": "bool", "type": "bool" }, - "id": 409, + "id": 492, "name": "ElementaryTypeName", - "src": "1358:4:3" + "src": "1720:4:4" } ], - "id": 410, + "id": 493, "name": "VariableDeclaration", - "src": "1358:4:3" + "src": "1720:4:4" } ], - "id": 411, + "id": 494, "name": "ParameterList", - "src": "1357:6:3" + "src": "1719:6:4" }, { "children": [ { "attributes": { "assignments": [ - 413 + 496 ] }, "children": [ @@ -1973,7 +2354,7 @@ "attributes": { "constant": false, "name": "prefix", - "scope": 434, + "scope": 517, "stateVariable": false, "storageLocation": "memory", "type": "bytes memory", @@ -1986,14 +2367,14 @@ "name": "bytes", "type": "bytes storage pointer" }, - "id": 412, + "id": 495, "name": "ElementaryTypeName", - "src": "1378:5:3" + "src": "1740:5:4" } ], - "id": 413, + "id": 496, "name": "VariableDeclaration", - "src": "1378:19:3" + "src": "1740:19:4" }, { "attributes": { @@ -2008,19 +2389,19 @@ "type": "literal_string \"\u0019Ethereum Signed Message:\n32\"", "value": "\u0019Ethereum Signed Message:\n32" }, - "id": 414, + "id": 497, "name": "Literal", - "src": "1400:34:3" + "src": "1762:34:4" } ], - "id": 415, + "id": 498, "name": "VariableDeclarationStatement", - "src": "1378:56:3" + "src": "1740:56:4" }, { "attributes": { "assignments": [ - 417 + 500 ] }, "children": [ @@ -2028,7 +2409,7 @@ "attributes": { "constant": false, "name": "prefixed", - "scope": 434, + "scope": 517, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -2041,14 +2422,14 @@ "name": "bytes32", "type": "bytes32" }, - "id": 416, + "id": 499, "name": "ElementaryTypeName", - "src": "1444:7:3" + "src": "1806:7:4" } ], - "id": 417, + "id": 500, "name": "VariableDeclaration", - "src": "1444:16:3" + "src": "1806:16:4" }, { "attributes": { @@ -2080,13 +2461,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1475, + "referencedDeclaration": 1589, "type": "function () pure returns (bytes32)", "value": "keccak256" }, - "id": 418, + "id": 501, "name": "Identifier", - "src": "1463:9:3" + "src": "1825:9:4" }, { "attributes": { @@ -2094,13 +2475,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 413, + "referencedDeclaration": 496, "type": "bytes memory", "value": "prefix" }, - "id": 419, + "id": 502, "name": "Identifier", - "src": "1473:6:3" + "src": "1835:6:4" }, { "attributes": { @@ -2108,27 +2489,27 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 401, + "referencedDeclaration": 484, "type": "bytes32", "value": "data" }, - "id": 420, + "id": 503, "name": "Identifier", - "src": "1481:4:3" + "src": "1843:4:4" } ], - "id": 421, + "id": 504, "name": "FunctionCall", - "src": "1463:23:3" + "src": "1825:23:4" } ], - "id": 422, + "id": 505, "name": "VariableDeclarationStatement", - "src": "1444:42:3" + "src": "1806:42:4" }, { "attributes": { - "functionReturnParameters": 411 + "functionReturnParameters": 494 }, "children": [ { @@ -2195,13 +2576,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1474, + "referencedDeclaration": 1588, "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)", "value": "ecrecover" }, - "id": 423, + "id": 506, "name": "Identifier", - "src": "1504:9:3" + "src": "1866:9:4" }, { "attributes": { @@ -2209,13 +2590,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 417, + "referencedDeclaration": 500, "type": "bytes32", "value": "prefixed" }, - "id": 424, + "id": 507, "name": "Identifier", - "src": "1514:8:3" + "src": "1876:8:4" }, { "attributes": { @@ -2223,13 +2604,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 403, + "referencedDeclaration": 486, "type": "uint8", "value": "v" }, - "id": 425, + "id": 508, "name": "Identifier", - "src": "1524:1:3" + "src": "1886:1:4" }, { "attributes": { @@ -2237,13 +2618,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 405, + "referencedDeclaration": 488, "type": "bytes32", "value": "r" }, - "id": 426, + "id": 509, "name": "Identifier", - "src": "1527:1:3" + "src": "1889:1:4" }, { "attributes": { @@ -2251,18 +2632,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 407, + "referencedDeclaration": 490, "type": "bytes32", "value": "s" }, - "id": 427, + "id": 510, "name": "Identifier", - "src": "1530:1:3" + "src": "1892:1:4" } ], - "id": 428, + "id": 511, "name": "FunctionCall", - "src": "1504:28:3" + "src": "1866:28:4" }, { "attributes": { @@ -2270,38 +2651,38 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 318, + "referencedDeclaration": 375, "type": "address", "value": "signer" }, - "id": 429, + "id": 512, "name": "Identifier", - "src": "1536:6:3" + "src": "1898:6:4" } ], - "id": 430, + "id": 513, "name": "BinaryOperation", - "src": "1504:38:3" + "src": "1866:38:4" } ], - "id": 431, + "id": 514, "name": "TupleExpression", - "src": "1503:40:3" + "src": "1865:40:4" } ], - "id": 432, + "id": 515, "name": "Return", - "src": "1496:47:3" + "src": "1858:47:4" } ], - "id": 433, + "id": 516, "name": "Block", - "src": "1368:182:3" + "src": "1730:182:4" } ], - "id": 434, + "id": 517, "name": "FunctionDefinition", - "src": "1261:289:3" + "src": "1623:289:4" }, { "attributes": { @@ -2310,7 +2691,7 @@ "isConstructor": false, "name": "setSigner", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2322,7 +2703,7 @@ "attributes": { "constant": false, "name": "newSigner", - "scope": 446, + "scope": 533, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -2335,19 +2716,19 @@ "name": "address", "type": "address" }, - "id": 435, + "id": 518, "name": "ElementaryTypeName", - "src": "1705:7:3" + "src": "2067:7:4" } ], - "id": 436, + "id": 519, "name": "VariableDeclaration", - "src": "1705:17:3" + "src": "2067:17:4" } ], - "id": 437, + "id": 520, "name": "ParameterList", - "src": "1704:19:3" + "src": "2066:19:4" }, { "attributes": { @@ -2356,9 +2737,9 @@ ] }, "children": [], - "id": 440, + "id": 523, "name": "ParameterList", - "src": "1741:0:3" + "src": "2103:0:4" }, { "attributes": { @@ -2373,18 +2754,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 387, + "referencedDeclaration": 470, "type": "modifier ()", "value": "onlyOwner" }, - "id": 438, + "id": 521, "name": "Identifier", - "src": "1731:9:3" + "src": "2093:9:4" } ], - "id": 439, + "id": 522, "name": "ModifierInvocation", - "src": "1731:9:3" + "src": "2093:9:4" }, { "children": [ @@ -2407,13 +2788,73 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 318, - "type": "address", - "value": "signer" + "referencedDeclaration": 375, + "type": "address", + "value": "signer" + }, + "id": 524, + "name": "Identifier", + "src": "2113:6:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 519, + "type": "address", + "value": "newSigner" + }, + "id": 525, + "name": "Identifier", + "src": "2122:9:4" + } + ], + "id": 526, + "name": "Assignment", + "src": "2113:18:4" + } + ], + "id": 527, + "name": "ExpressionStatement", + "src": "2113:18:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 437, + "type": "function (address)", + "value": "LogSignerChanged" }, - "id": 441, + "id": 528, "name": "Identifier", - "src": "1751:6:3" + "src": "2141:16:4" }, { "attributes": { @@ -2421,33 +2862,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 436, + "referencedDeclaration": 519, "type": "address", "value": "newSigner" }, - "id": 442, + "id": 529, "name": "Identifier", - "src": "1760:9:3" + "src": "2158:9:4" } ], - "id": 443, - "name": "Assignment", - "src": "1751:18:3" + "id": 530, + "name": "FunctionCall", + "src": "2141:27:4" } ], - "id": 444, + "id": 531, "name": "ExpressionStatement", - "src": "1751:18:3" + "src": "2141:27:4" } ], - "id": 445, + "id": 532, "name": "Block", - "src": "1741:35:3" + "src": "2103:72:4" } ], - "id": 446, + "id": 533, "name": "FunctionDefinition", - "src": "1686:90:3" + "src": "2048:127:4" }, { "attributes": { @@ -2456,7 +2897,7 @@ "isConstructor": false, "name": "setRegistry", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2468,7 +2909,7 @@ "attributes": { "constant": false, "name": "newRegistry", - "scope": 460, + "scope": 551, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -2481,19 +2922,19 @@ "name": "address", "type": "address" }, - "id": 447, + "id": 534, "name": "ElementaryTypeName", - "src": "1803:7:3" + "src": "2202:7:4" } ], - "id": 448, + "id": 535, "name": "VariableDeclaration", - "src": "1803:19:3" + "src": "2202:19:4" } ], - "id": 449, + "id": 536, "name": "ParameterList", - "src": "1802:21:3" + "src": "2201:21:4" }, { "attributes": { @@ -2502,9 +2943,9 @@ ] }, "children": [], - "id": 452, + "id": 539, "name": "ParameterList", - "src": "1841:0:3" + "src": "2240:0:4" }, { "attributes": { @@ -2519,18 +2960,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 387, + "referencedDeclaration": 470, "type": "modifier ()", "value": "onlyOwner" }, - "id": 450, + "id": 537, "name": "Identifier", - "src": "1831:9:3" + "src": "2230:9:4" } ], - "id": 451, + "id": 538, "name": "ModifierInvocation", - "src": "1831:9:3" + "src": "2230:9:4" }, { "children": [ @@ -2553,13 +2994,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 320, + "referencedDeclaration": 377, "type": "contract EthereumClaimsRegistryInterface", "value": "registry" }, - "id": 453, + "id": 540, "name": "Identifier", - "src": "1851:8:3" + "src": "2250:8:4" }, { "attributes": { @@ -2591,9 +3032,9 @@ "type": "type(contract EthereumClaimsRegistryInterface)", "value": "EthereumClaimsRegistryInterface" }, - "id": 454, + "id": 541, "name": "Identifier", - "src": "1862:31:3" + "src": "2261:31:4" }, { "attributes": { @@ -2601,38 +3042,98 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 448, + "referencedDeclaration": 535, "type": "address", "value": "newRegistry" }, - "id": 455, + "id": 542, "name": "Identifier", - "src": "1894:11:3" + "src": "2293:11:4" } ], - "id": 456, + "id": 543, "name": "FunctionCall", - "src": "1862:44:3" + "src": "2261:44:4" } ], - "id": 457, + "id": 544, "name": "Assignment", - "src": "1851:55:3" + "src": "2250:55:4" + } + ], + "id": 545, + "name": "ExpressionStatement", + "src": "2250:55:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 441, + "type": "function (address)", + "value": "LogRegistryChanged" + }, + "id": 546, + "name": "Identifier", + "src": "2315:18:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 535, + "type": "address", + "value": "newRegistry" + }, + "id": 547, + "name": "Identifier", + "src": "2334:11:4" + } + ], + "id": 548, + "name": "FunctionCall", + "src": "2315:31:4" } ], - "id": 458, + "id": 549, "name": "ExpressionStatement", - "src": "1851:55:3" + "src": "2315:31:4" } ], - "id": 459, + "id": 550, "name": "Block", - "src": "1841:72:3" + "src": "2240:113:4" } ], - "id": 460, + "id": 551, "name": "FunctionDefinition", - "src": "1782:131:3" + "src": "2181:172:4" }, { "attributes": { @@ -2641,7 +3142,7 @@ "isConstructor": false, "name": "withdrawSome", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2653,7 +3154,7 @@ "attributes": { "constant": false, "name": "amountWei", - "scope": 483, + "scope": 574, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -2666,19 +3167,19 @@ "name": "uint256", "type": "uint256" }, - "id": 461, + "id": 552, "name": "ElementaryTypeName", - "src": "1988:7:3" + "src": "2428:7:4" } ], - "id": 462, + "id": 553, "name": "VariableDeclaration", - "src": "1988:17:3" + "src": "2428:17:4" } ], - "id": 463, + "id": 554, "name": "ParameterList", - "src": "1987:19:3" + "src": "2427:19:4" }, { "attributes": { @@ -2687,9 +3188,9 @@ ] }, "children": [], - "id": 466, + "id": 557, "name": "ParameterList", - "src": "2032:0:3" + "src": "2472:0:4" }, { "attributes": { @@ -2704,18 +3205,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 387, + "referencedDeclaration": 470, "type": "modifier ()", "value": "onlyOwner" }, - "id": 464, + "id": 555, "name": "Identifier", - "src": "2018:9:3" + "src": "2458:9:4" } ], - "id": 465, + "id": 556, "name": "ModifierInvocation", - "src": "2018:9:3" + "src": "2458:9:4" }, { "children": [ @@ -2747,13 +3248,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 467, + "id": 558, "name": "Identifier", - "src": "2042:7:3" + "src": "2482:7:4" }, { "attributes": { @@ -2801,7 +3302,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1469", + "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1583", "typeString": "contract ProofOfPhysicalAddress" } ], @@ -2812,9 +3313,9 @@ "type": "type(address)", "value": "address" }, - "id": 468, + "id": 559, "name": "ElementaryTypeNameExpression", - "src": "2050:7:3" + "src": "2490:7:4" }, { "attributes": { @@ -2822,23 +3323,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1498, + "referencedDeclaration": 1614, "type": "contract ProofOfPhysicalAddress", "value": "this" }, - "id": 469, + "id": 560, "name": "Identifier", - "src": "2058:4:3" + "src": "2498:4:4" } ], - "id": 470, + "id": 561, "name": "FunctionCall", - "src": "2050:13:3" + "src": "2490:13:4" } ], - "id": 471, + "id": 562, "name": "MemberAccess", - "src": "2050:21:3" + "src": "2490:21:4" }, { "attributes": { @@ -2846,28 +3347,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 462, + "referencedDeclaration": 553, "type": "uint256", "value": "amountWei" }, - "id": 472, + "id": 563, "name": "Identifier", - "src": "2075:9:3" + "src": "2515:9:4" } ], - "id": 473, + "id": 564, "name": "BinaryOperation", - "src": "2050:34:3" + "src": "2490:34:4" } ], - "id": 474, + "id": 565, "name": "FunctionCall", - "src": "2042:43:3" + "src": "2482:43:4" } ], - "id": 475, + "id": 566, "name": "ExpressionStatement", - "src": "2042:43:3" + "src": "2482:43:4" }, { "children": [ @@ -2909,18 +3410,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 316, + "referencedDeclaration": 373, "type": "address", "value": "owner" }, - "id": 476, + "id": 567, "name": "Identifier", - "src": "2095:5:3" + "src": "2535:5:4" } ], - "id": 478, + "id": 569, "name": "MemberAccess", - "src": "2095:14:3" + "src": "2535:14:4" }, { "attributes": { @@ -2928,33 +3429,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 462, + "referencedDeclaration": 553, "type": "uint256", "value": "amountWei" }, - "id": 479, + "id": 570, "name": "Identifier", - "src": "2110:9:3" + "src": "2550:9:4" } ], - "id": 480, + "id": 571, "name": "FunctionCall", - "src": "2095:25:3" + "src": "2535:25:4" } ], - "id": 481, + "id": 572, "name": "ExpressionStatement", - "src": "2095:25:3" + "src": "2535:25:4" } ], - "id": 482, + "id": 573, "name": "Block", - "src": "2032:95:3" + "src": "2472:95:4" } ], - "id": 483, + "id": 574, "name": "FunctionDefinition", - "src": "1966:161:3" + "src": "2406:161:4" }, { "attributes": { @@ -2963,7 +3464,7 @@ "isConstructor": false, "name": "withdrawAll", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -2976,9 +3477,9 @@ ] }, "children": [], - "id": 484, + "id": 575, "name": "ParameterList", - "src": "2187:2:3" + "src": "2627:2:4" }, { "attributes": { @@ -2987,9 +3488,9 @@ ] }, "children": [], - "id": 487, + "id": 578, "name": "ParameterList", - "src": "2215:0:3" + "src": "2655:0:4" }, { "attributes": { @@ -3004,18 +3505,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 387, + "referencedDeclaration": 470, "type": "modifier ()", "value": "onlyOwner" }, - "id": 485, + "id": 576, "name": "Identifier", - "src": "2201:9:3" + "src": "2641:9:4" } ], - "id": 486, + "id": 577, "name": "ModifierInvocation", - "src": "2201:9:3" + "src": "2641:9:4" }, { "children": [ @@ -3047,13 +3548,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 488, + "id": 579, "name": "Identifier", - "src": "2225:7:3" + "src": "2665:7:4" }, { "attributes": { @@ -3101,7 +3602,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1469", + "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1583", "typeString": "contract ProofOfPhysicalAddress" } ], @@ -3112,9 +3613,9 @@ "type": "type(address)", "value": "address" }, - "id": 489, + "id": 580, "name": "ElementaryTypeNameExpression", - "src": "2233:7:3" + "src": "2673:7:4" }, { "attributes": { @@ -3122,23 +3623,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1498, + "referencedDeclaration": 1614, "type": "contract ProofOfPhysicalAddress", "value": "this" }, - "id": 490, + "id": 581, "name": "Identifier", - "src": "2241:4:3" + "src": "2681:4:4" } ], - "id": 491, + "id": 582, "name": "FunctionCall", - "src": "2233:13:3" + "src": "2673:13:4" } ], - "id": 492, + "id": 583, "name": "MemberAccess", - "src": "2233:21:3" + "src": "2673:21:4" }, { "attributes": { @@ -3153,24 +3654,24 @@ "type": "int_const 0", "value": "0" }, - "id": 493, + "id": 584, "name": "Literal", - "src": "2257:1:3" + "src": "2697:1:4" } ], - "id": 494, + "id": 585, "name": "BinaryOperation", - "src": "2233:25:3" + "src": "2673:25:4" } ], - "id": 495, + "id": 586, "name": "FunctionCall", - "src": "2225:34:3" + "src": "2665:34:4" } ], - "id": 496, + "id": 587, "name": "ExpressionStatement", - "src": "2225:34:3" + "src": "2665:34:4" }, { "children": [ @@ -3212,18 +3713,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 316, + "referencedDeclaration": 373, "type": "address", "value": "owner" }, - "id": 497, + "id": 588, "name": "Identifier", - "src": "2269:5:3" + "src": "2709:5:4" } ], - "id": 499, + "id": 590, "name": "MemberAccess", - "src": "2269:14:3" + "src": "2709:14:4" }, { "attributes": { @@ -3256,7 +3757,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1469", + "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1583", "typeString": "contract ProofOfPhysicalAddress" } ], @@ -3267,9 +3768,9 @@ "type": "type(address)", "value": "address" }, - "id": 500, + "id": 591, "name": "ElementaryTypeNameExpression", - "src": "2284:7:3" + "src": "2724:7:4" }, { "attributes": { @@ -3277,43 +3778,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1498, + "referencedDeclaration": 1614, "type": "contract ProofOfPhysicalAddress", "value": "this" }, - "id": 501, + "id": 592, "name": "Identifier", - "src": "2292:4:3" + "src": "2732:4:4" } ], - "id": 502, + "id": 593, "name": "FunctionCall", - "src": "2284:13:3" + "src": "2724:13:4" } ], - "id": 503, + "id": 594, "name": "MemberAccess", - "src": "2284:21:3" + "src": "2724:21:4" } ], - "id": 504, + "id": 595, "name": "FunctionCall", - "src": "2269:37:3" + "src": "2709:37:4" } ], - "id": 505, + "id": 596, "name": "ExpressionStatement", - "src": "2269:37:3" + "src": "2709:37:4" } ], - "id": 506, + "id": 597, "name": "Block", - "src": "2215:98:3" + "src": "2655:98:4" } ], - "id": 507, + "id": 598, "name": "FunctionDefinition", - "src": "2167:146:3" + "src": "2607:146:4" }, { "attributes": { @@ -3325,7 +3826,7 @@ ], "name": "userExists", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -3337,7 +3838,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 523, + "scope": 614, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -3350,19 +3851,19 @@ "name": "address", "type": "address" }, - "id": 508, + "id": 599, "name": "ElementaryTypeName", - "src": "2339:7:3" + "src": "2779:7:4" } ], - "id": 509, + "id": 600, "name": "VariableDeclaration", - "src": "2339:14:3" + "src": "2779:14:4" } ], - "id": 510, + "id": 601, "name": "ParameterList", - "src": "2338:16:3" + "src": "2778:16:4" }, { "children": [ @@ -3370,7 +3871,7 @@ "attributes": { "constant": false, "name": "", - "scope": 523, + "scope": 614, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -3383,25 +3884,25 @@ "name": "bool", "type": "bool" }, - "id": 511, + "id": 602, "name": "ElementaryTypeName", - "src": "2384:4:3" + "src": "2824:4:4" } ], - "id": 512, + "id": 603, "name": "VariableDeclaration", - "src": "2384:4:3" + "src": "2824:4:4" } ], - "id": 513, + "id": 604, "name": "ParameterList", - "src": "2383:6:3" + "src": "2823:6:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 513 + "functionReturnParameters": 604 }, "children": [ { @@ -3438,7 +3939,7 @@ "isPure": false, "lValueRequested": false, "member_name": "creationBlock", - "referencedDeclaration": 362, + "referencedDeclaration": 419, "type": "uint256" }, "children": [ @@ -3458,13 +3959,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 514, + "id": 605, "name": "Identifier", - "src": "2412:5:3" + "src": "2852:5:4" }, { "attributes": { @@ -3472,23 +3973,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 509, + "referencedDeclaration": 600, "type": "address", "value": "wallet" }, - "id": 515, + "id": 606, "name": "Identifier", - "src": "2418:6:3" + "src": "2858:6:4" } ], - "id": 516, + "id": 607, "name": "IndexAccess", - "src": "2412:13:3" + "src": "2852:13:4" } ], - "id": 517, + "id": 608, "name": "MemberAccess", - "src": "2412:27:3" + "src": "2852:27:4" }, { "attributes": { @@ -3503,34 +4004,34 @@ "type": "int_const 0", "value": "0" }, - "id": 518, + "id": 609, "name": "Literal", - "src": "2442:1:3" + "src": "2882:1:4" } ], - "id": 519, + "id": 610, "name": "BinaryOperation", - "src": "2412:31:3" + "src": "2852:31:4" } ], - "id": 520, + "id": 611, "name": "TupleExpression", - "src": "2411:33:3" + "src": "2851:33:4" } ], - "id": 521, + "id": 612, "name": "Return", - "src": "2404:40:3" + "src": "2844:40:4" } ], - "id": 522, + "id": 613, "name": "Block", - "src": "2394:57:3" + "src": "2834:57:4" } ], - "id": 523, + "id": 614, "name": "FunctionDefinition", - "src": "2319:132:3" + "src": "2759:132:4" }, { "attributes": { @@ -3539,7 +4040,7 @@ "isConstructor": false, "name": "userAddressConfirmed", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -3551,7 +4052,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 567, + "scope": 658, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -3564,20 +4065,20 @@ "name": "address", "type": "address" }, - "id": 524, + "id": 615, "name": "ElementaryTypeName", - "src": "2487:7:3" + "src": "2927:7:4" } ], - "id": 525, + "id": 616, "name": "VariableDeclaration", - "src": "2487:14:3" + "src": "2927:14:4" }, { "attributes": { "constant": false, "name": "addressIndex", - "scope": 567, + "scope": 658, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -3590,19 +4091,19 @@ "name": "uint256", "type": "uint256" }, - "id": 526, + "id": 617, "name": "ElementaryTypeName", - "src": "2503:7:3" + "src": "2943:7:4" } ], - "id": 527, + "id": 618, "name": "VariableDeclaration", - "src": "2503:20:3" + "src": "2943:20:4" } ], - "id": 528, + "id": 619, "name": "ParameterList", - "src": "2486:38:3" + "src": "2926:38:4" }, { "children": [ @@ -3610,7 +4111,7 @@ "attributes": { "constant": false, "name": "", - "scope": 567, + "scope": 658, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -3623,19 +4124,19 @@ "name": "bool", "type": "bool" }, - "id": 532, + "id": 623, "name": "ElementaryTypeName", - "src": "2578:4:3" + "src": "3018:4:4" } ], - "id": 533, + "id": 624, "name": "VariableDeclaration", - "src": "2578:4:3" + "src": "3018:4:4" } ], - "id": 534, + "id": 625, "name": "ParameterList", - "src": "2577:6:3" + "src": "3017:6:4" }, { "children": [ @@ -3645,13 +4146,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 529, + "id": 620, "name": "Identifier", - "src": "2545:15:3" + "src": "2985:15:4" }, { "attributes": { @@ -3659,25 +4160,25 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 525, + "referencedDeclaration": 616, "type": "address", "value": "wallet" }, - "id": 530, + "id": 621, "name": "Identifier", - "src": "2561:6:3" + "src": "3001:6:4" } ], - "id": 531, + "id": 622, "name": "ModifierInvocation", - "src": "2545:23:3" + "src": "2985:23:4" }, { "children": [ { "attributes": { "assignments": [ - 536 + 627 ] }, "children": [ @@ -3685,7 +4186,7 @@ "attributes": { "constant": false, "name": "keccakIdentifier", - "scope": 567, + "scope": 658, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -3698,14 +4199,14 @@ "name": "bytes32", "type": "bytes32" }, - "id": 535, + "id": 626, "name": "ElementaryTypeName", - "src": "2598:7:3" + "src": "3038:7:4" } ], - "id": 536, + "id": 627, "name": "VariableDeclaration", - "src": "2598:24:3" + "src": "3038:24:4" }, { "attributes": { @@ -3715,7 +4216,7 @@ "isPure": false, "lValueRequested": false, "member_name": "keccakIdentifier", - "referencedDeclaration": 336, + "referencedDeclaration": 393, "type": "bytes32" }, "children": [ @@ -3737,7 +4238,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -3757,13 +4258,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 537, + "id": 628, "name": "Identifier", - "src": "2625:5:3" + "src": "3065:5:4" }, { "attributes": { @@ -3771,23 +4272,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 525, + "referencedDeclaration": 616, "type": "address", "value": "wallet" }, - "id": 538, + "id": 629, "name": "Identifier", - "src": "2631:6:3" + "src": "3071:6:4" } ], - "id": 539, + "id": 630, "name": "IndexAccess", - "src": "2625:13:3" + "src": "3065:13:4" } ], - "id": 540, + "id": 631, "name": "MemberAccess", - "src": "2625:31:3" + "src": "3065:31:4" }, { "attributes": { @@ -3795,28 +4296,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 527, + "referencedDeclaration": 618, "type": "uint256", "value": "addressIndex" }, - "id": 541, + "id": 632, "name": "Identifier", - "src": "2657:12:3" + "src": "3097:12:4" } ], - "id": 542, + "id": 633, "name": "IndexAccess", - "src": "2625:45:3" + "src": "3065:45:4" } ], - "id": 543, + "id": 634, "name": "MemberAccess", - "src": "2625:62:3" + "src": "3065:62:4" } ], - "id": 544, + "id": 635, "name": "VariableDeclarationStatement", - "src": "2598:89:3" + "src": "3038:89:4" }, { "attributes": { @@ -3844,13 +4345,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 536, + "referencedDeclaration": 627, "type": "bytes32", "value": "keccakIdentifier" }, - "id": 545, + "id": 636, "name": "Identifier", - "src": "2702:16:3" + "src": "3142:16:4" }, { "attributes": { @@ -3865,20 +4366,20 @@ "type": "int_const 0", "value": "0x0" }, - "id": 546, + "id": 637, "name": "Literal", - "src": "2722:3:3" + "src": "3162:3:4" } ], - "id": 547, + "id": 638, "name": "BinaryOperation", - "src": "2702:23:3" + "src": "3142:23:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 534 + "functionReturnParameters": 625 }, "children": [ { @@ -3894,28 +4395,28 @@ "type": "bool", "value": "false" }, - "id": 548, + "id": 639, "name": "Literal", - "src": "2748:5:3" + "src": "3188:5:4" } ], - "id": 549, + "id": 640, "name": "Return", - "src": "2741:12:3" + "src": "3181:12:4" } ], - "id": 550, + "id": 641, "name": "Block", - "src": "2727:37:3" + "src": "3167:37:4" } ], - "id": 551, + "id": 642, "name": "IfStatement", - "src": "2698:66:3" + "src": "3138:66:4" }, { "attributes": { - "functionReturnParameters": 534 + "functionReturnParameters": 625 }, "children": [ { @@ -3961,7 +4462,7 @@ "isPure": false, "lValueRequested": false, "member_name": "decodeConfirmation", - "referencedDeclaration": 309, + "referencedDeclaration": 366, "type": "function (bytes32) pure returns (uint256)" }, "children": [ @@ -3971,18 +4472,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 310, + "referencedDeclaration": 367, "type": "type(library PhysicalAddressClaim)", "value": "PhysicalAddressClaim" }, - "id": 552, + "id": 643, "name": "Identifier", - "src": "2781:20:3" + "src": "3221:20:4" } ], - "id": 553, + "id": 644, "name": "MemberAccess", - "src": "2781:39:3" + "src": "3221:39:4" }, { "attributes": { @@ -4030,18 +4531,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 320, + "referencedDeclaration": 377, "type": "contract EthereumClaimsRegistryInterface", "value": "registry" }, - "id": 554, + "id": 645, "name": "Identifier", - "src": "2821:8:3" + "src": "3261:8:4" } ], - "id": 555, + "id": 646, "name": "MemberAccess", - "src": "2821:17:3" + "src": "3261:17:4" }, { "attributes": { @@ -4062,7 +4563,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1469", + "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1583", "typeString": "contract ProofOfPhysicalAddress" } ], @@ -4073,9 +4574,9 @@ "type": "type(address)", "value": "address" }, - "id": 556, + "id": 647, "name": "ElementaryTypeNameExpression", - "src": "2839:7:3" + "src": "3279:7:4" }, { "attributes": { @@ -4083,18 +4584,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1498, + "referencedDeclaration": 1614, "type": "contract ProofOfPhysicalAddress", "value": "this" }, - "id": 557, + "id": 648, "name": "Identifier", - "src": "2847:4:3" + "src": "3287:4:4" } ], - "id": 558, + "id": 649, "name": "FunctionCall", - "src": "2839:13:3" + "src": "3279:13:4" }, { "attributes": { @@ -4102,13 +4603,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 525, + "referencedDeclaration": 616, "type": "address", "value": "wallet" }, - "id": 559, + "id": 650, "name": "Identifier", - "src": "2854:6:3" + "src": "3294:6:4" }, { "attributes": { @@ -4116,23 +4617,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 536, + "referencedDeclaration": 627, "type": "bytes32", "value": "keccakIdentifier" }, - "id": 560, + "id": 651, "name": "Identifier", - "src": "2862:16:3" + "src": "3302:16:4" } ], - "id": 561, + "id": 652, "name": "FunctionCall", - "src": "2821:58:3" + "src": "3261:58:4" } ], - "id": 562, + "id": 653, "name": "FunctionCall", - "src": "2781:99:3" + "src": "3221:99:4" }, { "attributes": { @@ -4147,29 +4648,29 @@ "type": "int_const 0", "value": "0" }, - "id": 563, + "id": 654, "name": "Literal", - "src": "2883:1:3" + "src": "3323:1:4" } ], - "id": 564, + "id": 655, "name": "BinaryOperation", - "src": "2781:103:3" + "src": "3221:103:4" } ], - "id": 565, + "id": 656, "name": "Return", - "src": "2774:110:3" + "src": "3214:110:4" } ], - "id": 566, + "id": 657, "name": "Block", - "src": "2588:303:3" + "src": "3028:303:4" } ], - "id": 567, + "id": 658, "name": "FunctionDefinition", - "src": "2457:434:3" + "src": "2897:434:4" }, { "attributes": { @@ -4178,7 +4679,7 @@ "isConstructor": false, "name": "userAddressByCreationBlock", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -4190,7 +4691,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 624, + "scope": 715, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -4203,20 +4704,20 @@ "name": "address", "type": "address" }, - "id": 568, + "id": 659, "name": "ElementaryTypeName", - "src": "3022:7:3" + "src": "3462:7:4" } ], - "id": 569, + "id": 660, "name": "VariableDeclaration", - "src": "3022:14:3" + "src": "3462:14:4" }, { "attributes": { "constant": false, "name": "creationBlock", - "scope": 624, + "scope": 715, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4229,19 +4730,19 @@ "name": "uint256", "type": "uint256" }, - "id": 570, + "id": 661, "name": "ElementaryTypeName", - "src": "3038:7:3" + "src": "3478:7:4" } ], - "id": 571, + "id": 662, "name": "VariableDeclaration", - "src": "3038:21:3" + "src": "3478:21:4" } ], - "id": 572, + "id": 663, "name": "ParameterList", - "src": "3021:39:3" + "src": "3461:39:4" }, { "children": [ @@ -4249,7 +4750,7 @@ "attributes": { "constant": false, "name": "", - "scope": 624, + "scope": 715, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -4262,20 +4763,20 @@ "name": "bool", "type": "bool" }, - "id": 576, + "id": 667, "name": "ElementaryTypeName", - "src": "3114:4:3" + "src": "3554:4:4" } ], - "id": 577, + "id": 668, "name": "VariableDeclaration", - "src": "3114:4:3" + "src": "3554:4:4" }, { "attributes": { "constant": false, "name": "", - "scope": 624, + "scope": 715, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4288,20 +4789,20 @@ "name": "uint256", "type": "uint256" }, - "id": 578, + "id": 669, "name": "ElementaryTypeName", - "src": "3120:7:3" + "src": "3560:7:4" } ], - "id": 579, + "id": 670, "name": "VariableDeclaration", - "src": "3120:7:3" + "src": "3560:7:4" }, { "attributes": { "constant": false, "name": "", - "scope": 624, + "scope": 715, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -4314,19 +4815,19 @@ "name": "bool", "type": "bool" }, - "id": 580, + "id": 671, "name": "ElementaryTypeName", - "src": "3129:4:3" + "src": "3569:4:4" } ], - "id": 581, + "id": 672, "name": "VariableDeclaration", - "src": "3129:4:3" + "src": "3569:4:4" } ], - "id": 582, + "id": 673, "name": "ParameterList", - "src": "3113:21:3" + "src": "3553:21:4" }, { "children": [ @@ -4336,13 +4837,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 573, + "id": 664, "name": "Identifier", - "src": "3081:15:3" + "src": "3521:15:4" }, { "attributes": { @@ -4350,18 +4851,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 569, + "referencedDeclaration": 660, "type": "address", "value": "wallet" }, - "id": 574, + "id": 665, "name": "Identifier", - "src": "3097:6:3" + "src": "3537:6:4" } ], - "id": 575, + "id": 666, "name": "ModifierInvocation", - "src": "3081:23:3" + "src": "3521:23:4" }, { "children": [ @@ -4370,7 +4871,7 @@ { "attributes": { "assignments": [ - 584 + 675 ] }, "children": [ @@ -4378,7 +4879,7 @@ "attributes": { "constant": false, "name": "ai", - "scope": 624, + "scope": 715, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -4391,14 +4892,14 @@ "name": "uint256", "type": "uint256" }, - "id": 583, + "id": 674, "name": "ElementaryTypeName", - "src": "3154:7:3" + "src": "3594:7:4" } ], - "id": 584, + "id": 675, "name": "VariableDeclaration", - "src": "3154:10:3" + "src": "3594:10:4" }, { "attributes": { @@ -4413,14 +4914,14 @@ "type": "int_const 0", "value": "0" }, - "id": 585, + "id": 676, "name": "Literal", - "src": "3167:1:3" + "src": "3607:1:4" } ], - "id": 586, + "id": 677, "name": "VariableDeclarationStatement", - "src": "3154:14:3" + "src": "3594:14:4" }, { "attributes": { @@ -4443,13 +4944,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 584, + "referencedDeclaration": 675, "type": "uint256", "value": "ai" }, - "id": 587, + "id": 678, "name": "Identifier", - "src": "3170:2:3" + "src": "3610:2:4" }, { "attributes": { @@ -4471,7 +4972,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -4491,13 +4992,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 588, + "id": 679, "name": "Identifier", - "src": "3175:5:3" + "src": "3615:5:4" }, { "attributes": { @@ -4505,33 +5006,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 569, + "referencedDeclaration": 660, "type": "address", "value": "wallet" }, - "id": 589, + "id": 680, "name": "Identifier", - "src": "3181:6:3" + "src": "3621:6:4" } ], - "id": 590, + "id": 681, "name": "IndexAccess", - "src": "3175:13:3" + "src": "3615:13:4" } ], - "id": 591, + "id": 682, "name": "MemberAccess", - "src": "3175:31:3" + "src": "3615:31:4" } ], - "id": 592, + "id": 683, "name": "MemberAccess", - "src": "3175:38:3" + "src": "3615:38:4" } ], - "id": 593, + "id": 684, "name": "BinaryOperation", - "src": "3170:43:3" + "src": "3610:43:4" }, { "children": [ @@ -4553,23 +5054,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 584, + "referencedDeclaration": 675, "type": "uint256", "value": "ai" }, - "id": 594, + "id": 685, "name": "Identifier", - "src": "3215:2:3" + "src": "3655:2:4" } ], - "id": 595, + "id": 686, "name": "UnaryOperation", - "src": "3215:4:3" + "src": "3655:4:4" } ], - "id": 596, + "id": 687, "name": "ExpressionStatement", - "src": "3215:4:3" + "src": "3655:4:4" }, { "children": [ @@ -4601,7 +5102,7 @@ "isPure": false, "lValueRequested": false, "member_name": "creationBlock", - "referencedDeclaration": 334, + "referencedDeclaration": 391, "type": "uint256" }, "children": [ @@ -4623,7 +5124,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -4643,13 +5144,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 597, + "id": 688, "name": "Identifier", - "src": "3239:5:3" + "src": "3679:5:4" }, { "attributes": { @@ -4657,23 +5158,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 569, + "referencedDeclaration": 660, "type": "address", "value": "wallet" }, - "id": 598, + "id": 689, "name": "Identifier", - "src": "3245:6:3" + "src": "3685:6:4" } ], - "id": 599, + "id": 690, "name": "IndexAccess", - "src": "3239:13:3" + "src": "3679:13:4" } ], - "id": 600, + "id": 691, "name": "MemberAccess", - "src": "3239:31:3" + "src": "3679:31:4" }, { "attributes": { @@ -4681,23 +5182,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 584, + "referencedDeclaration": 675, "type": "uint256", "value": "ai" }, - "id": 601, + "id": 692, "name": "Identifier", - "src": "3271:2:3" + "src": "3711:2:4" } ], - "id": 602, + "id": 693, "name": "IndexAccess", - "src": "3239:35:3" + "src": "3679:35:4" } ], - "id": 603, + "id": 694, "name": "MemberAccess", - "src": "3239:49:3" + "src": "3679:49:4" }, { "attributes": { @@ -4705,24 +5206,24 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 571, + "referencedDeclaration": 662, "type": "uint256", "value": "creationBlock" }, - "id": 604, + "id": 695, "name": "Identifier", - "src": "3292:13:3" + "src": "3732:13:4" } ], - "id": 605, + "id": 696, "name": "BinaryOperation", - "src": "3239:66:3" + "src": "3679:66:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 582 + "functionReturnParameters": 673 }, "children": [ { @@ -4749,9 +5250,9 @@ "type": "bool", "value": "true" }, - "id": 606, + "id": 697, "name": "Literal", - "src": "3333:4:3" + "src": "3773:4:4" }, { "attributes": { @@ -4759,13 +5260,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 584, + "referencedDeclaration": 675, "type": "uint256", "value": "ai" }, - "id": 607, + "id": 698, "name": "Identifier", - "src": "3339:2:3" + "src": "3779:2:4" }, { "attributes": { @@ -4797,13 +5298,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 567, + "referencedDeclaration": 658, "type": "function (address,uint256) view returns (bool)", "value": "userAddressConfirmed" }, - "id": 608, + "id": 699, "name": "Identifier", - "src": "3343:20:3" + "src": "3783:20:4" }, { "attributes": { @@ -4811,13 +5312,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 569, + "referencedDeclaration": 660, "type": "address", "value": "wallet" }, - "id": 609, + "id": 700, "name": "Identifier", - "src": "3364:6:3" + "src": "3804:6:4" }, { "attributes": { @@ -4825,52 +5326,52 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 584, + "referencedDeclaration": 675, "type": "uint256", "value": "ai" }, - "id": 610, + "id": 701, "name": "Identifier", - "src": "3372:2:3" + "src": "3812:2:4" } ], - "id": 611, + "id": 702, "name": "FunctionCall", - "src": "3343:32:3" + "src": "3783:32:4" } ], - "id": 612, + "id": 703, "name": "TupleExpression", - "src": "3332:44:3" + "src": "3772:44:4" } ], - "id": 613, + "id": 704, "name": "Return", - "src": "3325:51:3" + "src": "3765:51:4" } ], - "id": 614, + "id": 705, "name": "Block", - "src": "3307:84:3" + "src": "3747:84:4" } ], - "id": 615, + "id": 706, "name": "IfStatement", - "src": "3235:156:3" + "src": "3675:156:4" } ], - "id": 616, + "id": 707, "name": "Block", - "src": "3221:180:3" + "src": "3661:180:4" } ], - "id": 617, + "id": 708, "name": "ForStatement", - "src": "3149:252:3" + "src": "3589:252:4" }, { "attributes": { - "functionReturnParameters": 582 + "functionReturnParameters": 673 }, "children": [ { @@ -4897,9 +5398,9 @@ "type": "bool", "value": "false" }, - "id": 618, + "id": 709, "name": "Literal", - "src": "3418:5:3" + "src": "3858:5:4" }, { "attributes": { @@ -4914,9 +5415,9 @@ "type": "int_const 0", "value": "0" }, - "id": 619, + "id": 710, "name": "Literal", - "src": "3425:1:3" + "src": "3865:1:4" }, { "attributes": { @@ -4931,29 +5432,29 @@ "type": "bool", "value": "false" }, - "id": 620, + "id": 711, "name": "Literal", - "src": "3428:5:3" + "src": "3868:5:4" } ], - "id": 621, + "id": 712, "name": "TupleExpression", - "src": "3417:17:3" + "src": "3857:17:4" } ], - "id": 622, + "id": 713, "name": "Return", - "src": "3410:24:3" + "src": "3850:24:4" } ], - "id": 623, + "id": 714, "name": "Block", - "src": "3139:302:3" + "src": "3579:302:4" } ], - "id": 624, + "id": 715, "name": "FunctionDefinition", - "src": "2986:455:3" + "src": "3426:455:4" }, { "attributes": { @@ -4962,7 +5463,7 @@ "isConstructor": false, "name": "userAddressByConfirmationCode", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -4974,7 +5475,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 691, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -4987,20 +5488,20 @@ "name": "address", "type": "address" }, - "id": 625, + "id": 716, "name": "ElementaryTypeName", - "src": "3584:7:3" + "src": "4024:7:4" } ], - "id": 626, + "id": 717, "name": "VariableDeclaration", - "src": "3584:14:3" + "src": "4024:14:4" }, { "attributes": { "constant": false, "name": "confirmationCodeSha3", - "scope": 691, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5013,19 +5514,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 627, + "id": 718, "name": "ElementaryTypeName", - "src": "3608:7:3" + "src": "4048:7:4" } ], - "id": 628, + "id": 719, "name": "VariableDeclaration", - "src": "3608:28:3" + "src": "4048:28:4" } ], - "id": 629, + "id": 720, "name": "ParameterList", - "src": "3574:68:3" + "src": "4014:68:4" }, { "children": [ @@ -5033,7 +5534,7 @@ "attributes": { "constant": false, "name": "", - "scope": 691, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -5046,20 +5547,20 @@ "name": "bool", "type": "bool" }, - "id": 633, + "id": 724, "name": "ElementaryTypeName", - "src": "3723:4:3" + "src": "4163:4:4" } ], - "id": 634, + "id": 725, "name": "VariableDeclaration", - "src": "3723:4:3" + "src": "4163:4:4" }, { "attributes": { "constant": false, "name": "", - "scope": 691, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5072,20 +5573,20 @@ "name": "uint256", "type": "uint256" }, - "id": 635, + "id": 726, "name": "ElementaryTypeName", - "src": "3729:7:3" + "src": "4169:7:4" } ], - "id": 636, + "id": 727, "name": "VariableDeclaration", - "src": "3729:7:3" + "src": "4169:7:4" }, { "attributes": { "constant": false, "name": "", - "scope": 691, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -5098,20 +5599,20 @@ "name": "bool", "type": "bool" }, - "id": 637, + "id": 728, "name": "ElementaryTypeName", - "src": "3738:4:3" + "src": "4178:4:4" } ], - "id": 638, + "id": 729, "name": "VariableDeclaration", - "src": "3738:4:3" + "src": "4178:4:4" }, { "attributes": { "constant": false, "name": "", - "scope": 691, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -5124,19 +5625,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 639, + "id": 730, "name": "ElementaryTypeName", - "src": "3744:7:3" + "src": "4184:7:4" } ], - "id": 640, + "id": 731, "name": "VariableDeclaration", - "src": "3744:7:3" + "src": "4184:7:4" } ], - "id": 641, + "id": 732, "name": "ParameterList", - "src": "3722:30:3" + "src": "4162:30:4" }, { "children": [ @@ -5146,13 +5647,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 630, + "id": 721, "name": "Identifier", - "src": "3683:15:3" + "src": "4123:15:4" }, { "attributes": { @@ -5160,18 +5661,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 626, + "referencedDeclaration": 717, "type": "address", "value": "wallet" }, - "id": 631, + "id": 722, "name": "Identifier", - "src": "3699:6:3" + "src": "4139:6:4" } ], - "id": 632, + "id": 723, "name": "ModifierInvocation", - "src": "3683:23:3" + "src": "4123:23:4" }, { "children": [ @@ -5180,7 +5681,7 @@ { "attributes": { "assignments": [ - 643 + 734 ] }, "children": [ @@ -5188,7 +5689,7 @@ "attributes": { "constant": false, "name": "ai", - "scope": 691, + "scope": 782, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -5201,14 +5702,14 @@ "name": "uint256", "type": "uint256" }, - "id": 642, + "id": 733, "name": "ElementaryTypeName", - "src": "3772:7:3" + "src": "4212:7:4" } ], - "id": 643, + "id": 734, "name": "VariableDeclaration", - "src": "3772:10:3" + "src": "4212:10:4" }, { "attributes": { @@ -5223,14 +5724,14 @@ "type": "int_const 0", "value": "0" }, - "id": 644, + "id": 735, "name": "Literal", - "src": "3785:1:3" + "src": "4225:1:4" } ], - "id": 645, + "id": 736, "name": "VariableDeclarationStatement", - "src": "3772:14:3" + "src": "4212:14:4" }, { "attributes": { @@ -5253,13 +5754,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 643, + "referencedDeclaration": 734, "type": "uint256", "value": "ai" }, - "id": 646, + "id": 737, "name": "Identifier", - "src": "3788:2:3" + "src": "4228:2:4" }, { "attributes": { @@ -5281,7 +5782,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -5301,13 +5802,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 647, + "id": 738, "name": "Identifier", - "src": "3793:5:3" + "src": "4233:5:4" }, { "attributes": { @@ -5315,33 +5816,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 626, + "referencedDeclaration": 717, "type": "address", "value": "wallet" }, - "id": 648, + "id": 739, "name": "Identifier", - "src": "3799:6:3" + "src": "4239:6:4" } ], - "id": 649, + "id": 740, "name": "IndexAccess", - "src": "3793:13:3" + "src": "4233:13:4" } ], - "id": 650, + "id": 741, "name": "MemberAccess", - "src": "3793:31:3" + "src": "4233:31:4" } ], - "id": 651, + "id": 742, "name": "MemberAccess", - "src": "3793:38:3" + "src": "4233:38:4" } ], - "id": 652, + "id": 743, "name": "BinaryOperation", - "src": "3788:43:3" + "src": "4228:43:4" }, { "children": [ @@ -5363,23 +5864,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 643, + "referencedDeclaration": 734, "type": "uint256", "value": "ai" }, - "id": 653, + "id": 744, "name": "Identifier", - "src": "3833:2:3" + "src": "4273:2:4" } ], - "id": 654, + "id": 745, "name": "UnaryOperation", - "src": "3833:4:3" + "src": "4273:4:4" } ], - "id": 655, + "id": 746, "name": "ExpressionStatement", - "src": "3833:4:3" + "src": "4273:4:4" }, { "children": [ @@ -5411,7 +5912,7 @@ "isPure": false, "lValueRequested": false, "member_name": "confirmationCodeSha3", - "referencedDeclaration": 338, + "referencedDeclaration": 395, "type": "bytes32" }, "children": [ @@ -5433,7 +5934,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -5453,13 +5954,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 656, + "id": 747, "name": "Identifier", - "src": "3857:5:3" + "src": "4297:5:4" }, { "attributes": { @@ -5467,23 +5968,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 626, + "referencedDeclaration": 717, "type": "address", "value": "wallet" }, - "id": 657, + "id": 748, "name": "Identifier", - "src": "3863:6:3" + "src": "4303:6:4" } ], - "id": 658, + "id": 749, "name": "IndexAccess", - "src": "3857:13:3" + "src": "4297:13:4" } ], - "id": 659, + "id": 750, "name": "MemberAccess", - "src": "3857:31:3" + "src": "4297:31:4" }, { "attributes": { @@ -5491,23 +5992,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 643, + "referencedDeclaration": 734, "type": "uint256", "value": "ai" }, - "id": 660, + "id": 751, "name": "Identifier", - "src": "3889:2:3" + "src": "4329:2:4" } ], - "id": 661, + "id": 752, "name": "IndexAccess", - "src": "3857:35:3" + "src": "4297:35:4" } ], - "id": 662, + "id": 753, "name": "MemberAccess", - "src": "3857:56:3" + "src": "4297:56:4" }, { "attributes": { @@ -5515,24 +6016,24 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 628, + "referencedDeclaration": 719, "type": "bytes32", "value": "confirmationCodeSha3" }, - "id": 663, + "id": 754, "name": "Identifier", - "src": "3917:20:3" + "src": "4357:20:4" } ], - "id": 664, + "id": 755, "name": "BinaryOperation", - "src": "3857:80:3" + "src": "4297:80:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 641 + "functionReturnParameters": 732 }, "children": [ { @@ -5559,9 +6060,9 @@ "type": "bool", "value": "true" }, - "id": 665, + "id": 756, "name": "Literal", - "src": "3986:4:3" + "src": "4426:4:4" }, { "attributes": { @@ -5569,13 +6070,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 643, + "referencedDeclaration": 734, "type": "uint256", "value": "ai" }, - "id": 666, + "id": 757, "name": "Identifier", - "src": "4012:2:3" + "src": "4452:2:4" }, { "attributes": { @@ -5607,13 +6108,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 567, + "referencedDeclaration": 658, "type": "function (address,uint256) view returns (bool)", "value": "userAddressConfirmed" }, - "id": 667, + "id": 758, "name": "Identifier", - "src": "4036:20:3" + "src": "4476:20:4" }, { "attributes": { @@ -5621,13 +6122,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 626, + "referencedDeclaration": 717, "type": "address", "value": "wallet" }, - "id": 668, + "id": 759, "name": "Identifier", - "src": "4057:6:3" + "src": "4497:6:4" }, { "attributes": { @@ -5635,18 +6136,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 643, + "referencedDeclaration": 734, "type": "uint256", "value": "ai" }, - "id": 669, + "id": 760, "name": "Identifier", - "src": "4065:2:3" + "src": "4505:2:4" } ], - "id": 670, + "id": 761, "name": "FunctionCall", - "src": "4036:32:3" + "src": "4476:32:4" }, { "attributes": { @@ -5656,7 +6157,7 @@ "isPure": false, "lValueRequested": false, "member_name": "keccakIdentifier", - "referencedDeclaration": 336, + "referencedDeclaration": 393, "type": "bytes32" }, "children": [ @@ -5678,7 +6179,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -5698,13 +6199,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 671, + "id": 762, "name": "Identifier", - "src": "4090:5:3" + "src": "4530:5:4" }, { "attributes": { @@ -5712,23 +6213,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 626, + "referencedDeclaration": 717, "type": "address", "value": "wallet" }, - "id": 672, + "id": 763, "name": "Identifier", - "src": "4096:6:3" + "src": "4536:6:4" } ], - "id": 673, + "id": 764, "name": "IndexAccess", - "src": "4090:13:3" + "src": "4530:13:4" } ], - "id": 674, + "id": 765, "name": "MemberAccess", - "src": "4090:31:3" + "src": "4530:31:4" }, { "attributes": { @@ -5736,57 +6237,57 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 643, + "referencedDeclaration": 734, "type": "uint256", "value": "ai" }, - "id": 675, + "id": 766, "name": "Identifier", - "src": "4122:2:3" + "src": "4562:2:4" } ], - "id": 676, + "id": 767, "name": "IndexAccess", - "src": "4090:35:3" + "src": "4530:35:4" } ], - "id": 677, + "id": 768, "name": "MemberAccess", - "src": "4090:52:3" + "src": "4530:52:4" } ], - "id": 678, + "id": 769, "name": "TupleExpression", - "src": "3964:196:3" + "src": "4404:196:4" } ], - "id": 679, + "id": 770, "name": "Return", - "src": "3957:203:3" + "src": "4397:203:4" } ], - "id": 680, + "id": 771, "name": "Block", - "src": "3939:236:3" + "src": "4379:236:4" } ], - "id": 681, + "id": 772, "name": "IfStatement", - "src": "3853:322:3" + "src": "4293:322:4" } ], - "id": 682, + "id": 773, "name": "Block", - "src": "3839:346:3" + "src": "4279:346:4" } ], - "id": 683, + "id": 774, "name": "ForStatement", - "src": "3767:418:3" + "src": "4207:418:4" }, { "attributes": { - "functionReturnParameters": 641 + "functionReturnParameters": 732 }, "children": [ { @@ -5813,9 +6314,9 @@ "type": "bool", "value": "false" }, - "id": 684, + "id": 775, "name": "Literal", - "src": "4202:5:3" + "src": "4642:5:4" }, { "attributes": { @@ -5830,9 +6331,9 @@ "type": "int_const 0", "value": "0" }, - "id": 685, + "id": 776, "name": "Literal", - "src": "4209:1:3" + "src": "4649:1:4" }, { "attributes": { @@ -5847,9 +6348,9 @@ "type": "bool", "value": "false" }, - "id": 686, + "id": 777, "name": "Literal", - "src": "4212:5:3" + "src": "4652:5:4" }, { "attributes": { @@ -5864,29 +6365,29 @@ "type": "int_const 0", "value": "0x0" }, - "id": 687, + "id": 778, "name": "Literal", - "src": "4219:3:3" + "src": "4659:3:4" } ], - "id": 688, + "id": 779, "name": "TupleExpression", - "src": "4201:22:3" + "src": "4641:22:4" } ], - "id": 689, + "id": 780, "name": "Return", - "src": "4194:29:3" + "src": "4634:29:4" } ], - "id": 690, + "id": 781, "name": "Block", - "src": "3757:473:3" + "src": "4197:473:4" } ], - "id": 691, + "id": 782, "name": "FunctionDefinition", - "src": "3536:694:3" + "src": "3976:694:4" }, { "attributes": { @@ -5895,7 +6396,7 @@ "isConstructor": false, "name": "userAddressByAddress", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -5907,7 +6408,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -5920,20 +6421,20 @@ "name": "address", "type": "address" }, - "id": 692, + "id": 783, "name": "ElementaryTypeName", - "src": "4355:7:3" + "src": "4795:7:4" } ], - "id": 693, + "id": 784, "name": "VariableDeclaration", - "src": "4355:14:3" + "src": "4795:14:4" }, { "attributes": { "constant": false, "name": "country", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -5946,20 +6447,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 694, + "id": 785, "name": "ElementaryTypeName", - "src": "4371:6:3" + "src": "4811:6:4" } ], - "id": 695, + "id": 786, "name": "VariableDeclaration", - "src": "4371:14:3" + "src": "4811:14:4" }, { "attributes": { "constant": false, "name": "state", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -5972,20 +6473,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 696, + "id": 787, "name": "ElementaryTypeName", - "src": "4387:6:3" + "src": "4827:6:4" } ], - "id": 697, + "id": 788, "name": "VariableDeclaration", - "src": "4387:12:3" + "src": "4827:12:4" }, { "attributes": { "constant": false, "name": "city", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -5998,20 +6499,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 698, + "id": 789, "name": "ElementaryTypeName", - "src": "4401:6:3" + "src": "4841:6:4" } ], - "id": 699, + "id": 790, "name": "VariableDeclaration", - "src": "4401:11:3" + "src": "4841:11:4" }, { "attributes": { "constant": false, "name": "location", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -6024,20 +6525,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 700, + "id": 791, "name": "ElementaryTypeName", - "src": "4414:6:3" + "src": "4854:6:4" } ], - "id": 701, + "id": 792, "name": "VariableDeclaration", - "src": "4414:15:3" + "src": "4854:15:4" }, { "attributes": { "constant": false, "name": "zip", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -6050,19 +6551,19 @@ "name": "string", "type": "string storage pointer" }, - "id": 702, + "id": 793, "name": "ElementaryTypeName", - "src": "4431:6:3" + "src": "4871:6:4" } ], - "id": 703, + "id": 794, "name": "VariableDeclaration", - "src": "4431:10:3" + "src": "4871:10:4" } ], - "id": 704, + "id": 795, "name": "ParameterList", - "src": "4354:88:3" + "src": "4794:88:4" }, { "children": [ @@ -6070,7 +6571,7 @@ "attributes": { "constant": false, "name": "", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -6083,20 +6584,20 @@ "name": "bool", "type": "bool" }, - "id": 708, + "id": 799, "name": "ElementaryTypeName", - "src": "4495:4:3" + "src": "4935:4:4" } ], - "id": 709, + "id": 800, "name": "VariableDeclaration", - "src": "4495:4:3" + "src": "4935:4:4" }, { "attributes": { "constant": false, "name": "", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6109,20 +6610,20 @@ "name": "uint256", "type": "uint256" }, - "id": 710, + "id": 801, "name": "ElementaryTypeName", - "src": "4501:7:3" + "src": "4941:7:4" } ], - "id": 711, + "id": 802, "name": "VariableDeclaration", - "src": "4501:7:3" + "src": "4941:7:4" }, { "attributes": { "constant": false, "name": "", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -6135,19 +6636,19 @@ "name": "bool", "type": "bool" }, - "id": 712, + "id": 803, "name": "ElementaryTypeName", - "src": "4510:4:3" + "src": "4950:4:4" } ], - "id": 713, + "id": 804, "name": "VariableDeclaration", - "src": "4510:4:3" + "src": "4950:4:4" } ], - "id": 714, + "id": 805, "name": "ParameterList", - "src": "4494:21:3" + "src": "4934:21:4" }, { "children": [ @@ -6157,13 +6658,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 705, + "id": 796, "name": "Identifier", - "src": "4463:15:3" + "src": "4903:15:4" }, { "attributes": { @@ -6171,25 +6672,25 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 693, + "referencedDeclaration": 784, "type": "address", "value": "wallet" }, - "id": 706, + "id": 797, "name": "Identifier", - "src": "4479:6:3" + "src": "4919:6:4" } ], - "id": 707, + "id": 798, "name": "ModifierInvocation", - "src": "4463:23:3" + "src": "4903:23:4" }, { "children": [ { "attributes": { "assignments": [ - 716 + 807 ] }, "children": [ @@ -6197,7 +6698,7 @@ "attributes": { "constant": false, "name": "keccakIdentifier", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -6210,14 +6711,14 @@ "name": "bytes32", "type": "bytes32" }, - "id": 715, + "id": 806, "name": "ElementaryTypeName", - "src": "4530:7:3" + "src": "4970:7:4" } ], - "id": 716, + "id": 807, "name": "VariableDeclaration", - "src": "4530:24:3" + "src": "4970:24:4" }, { "attributes": { @@ -6261,13 +6762,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1475, + "referencedDeclaration": 1589, "type": "function () pure returns (bytes32)", "value": "keccak256" }, - "id": 717, + "id": 808, "name": "Identifier", - "src": "4557:9:3" + "src": "4997:9:4" }, { "attributes": { @@ -6275,13 +6776,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 695, + "referencedDeclaration": 786, "type": "string memory", "value": "country" }, - "id": 718, + "id": 809, "name": "Identifier", - "src": "4567:7:3" + "src": "5007:7:4" }, { "attributes": { @@ -6289,13 +6790,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 697, + "referencedDeclaration": 788, "type": "string memory", "value": "state" }, - "id": 719, + "id": 810, "name": "Identifier", - "src": "4576:5:3" + "src": "5016:5:4" }, { "attributes": { @@ -6303,13 +6804,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 699, + "referencedDeclaration": 790, "type": "string memory", "value": "city" }, - "id": 720, + "id": 811, "name": "Identifier", - "src": "4583:4:3" + "src": "5023:4:4" }, { "attributes": { @@ -6317,13 +6818,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 701, + "referencedDeclaration": 792, "type": "string memory", "value": "location" }, - "id": 721, + "id": 812, "name": "Identifier", - "src": "4589:8:3" + "src": "5029:8:4" }, { "attributes": { @@ -6331,30 +6832,30 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 703, + "referencedDeclaration": 794, "type": "string memory", "value": "zip" }, - "id": 722, + "id": 813, "name": "Identifier", - "src": "4599:3:3" + "src": "5039:3:4" } ], - "id": 723, + "id": 814, "name": "FunctionCall", - "src": "4557:46:3" + "src": "4997:46:4" } ], - "id": 724, + "id": 815, "name": "VariableDeclarationStatement", - "src": "4530:73:3" + "src": "4970:73:4" }, { "children": [ { "attributes": { "assignments": [ - 726 + 817 ] }, "children": [ @@ -6362,7 +6863,7 @@ "attributes": { "constant": false, "name": "ai", - "scope": 766, + "scope": 857, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -6375,14 +6876,14 @@ "name": "uint256", "type": "uint256" }, - "id": 725, + "id": 816, "name": "ElementaryTypeName", - "src": "4618:7:3" + "src": "5058:7:4" } ], - "id": 726, + "id": 817, "name": "VariableDeclaration", - "src": "4618:10:3" + "src": "5058:10:4" }, { "attributes": { @@ -6397,14 +6898,14 @@ "type": "int_const 0", "value": "0" }, - "id": 727, + "id": 818, "name": "Literal", - "src": "4631:1:3" + "src": "5071:1:4" } ], - "id": 728, + "id": 819, "name": "VariableDeclarationStatement", - "src": "4618:14:3" + "src": "5058:14:4" }, { "attributes": { @@ -6427,13 +6928,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 726, + "referencedDeclaration": 817, "type": "uint256", "value": "ai" }, - "id": 729, + "id": 820, "name": "Identifier", - "src": "4634:2:3" + "src": "5074:2:4" }, { "attributes": { @@ -6455,7 +6956,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -6475,13 +6976,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 730, + "id": 821, "name": "Identifier", - "src": "4639:5:3" + "src": "5079:5:4" }, { "attributes": { @@ -6489,33 +6990,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 693, + "referencedDeclaration": 784, "type": "address", "value": "wallet" }, - "id": 731, + "id": 822, "name": "Identifier", - "src": "4645:6:3" + "src": "5085:6:4" } ], - "id": 732, + "id": 823, "name": "IndexAccess", - "src": "4639:13:3" + "src": "5079:13:4" } ], - "id": 733, + "id": 824, "name": "MemberAccess", - "src": "4639:31:3" + "src": "5079:31:4" } ], - "id": 734, + "id": 825, "name": "MemberAccess", - "src": "4639:38:3" + "src": "5079:38:4" } ], - "id": 735, + "id": 826, "name": "BinaryOperation", - "src": "4634:43:3" + "src": "5074:43:4" }, { "children": [ @@ -6537,23 +7038,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 726, + "referencedDeclaration": 817, "type": "uint256", "value": "ai" }, - "id": 736, + "id": 827, "name": "Identifier", - "src": "4679:2:3" + "src": "5119:2:4" } ], - "id": 737, + "id": 828, "name": "UnaryOperation", - "src": "4679:4:3" + "src": "5119:4:4" } ], - "id": 738, + "id": 829, "name": "ExpressionStatement", - "src": "4679:4:3" + "src": "5119:4:4" }, { "children": [ @@ -6585,7 +7086,7 @@ "isPure": false, "lValueRequested": false, "member_name": "keccakIdentifier", - "referencedDeclaration": 336, + "referencedDeclaration": 393, "type": "bytes32" }, "children": [ @@ -6607,7 +7108,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -6627,13 +7128,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 739, + "id": 830, "name": "Identifier", - "src": "4703:5:3" + "src": "5143:5:4" }, { "attributes": { @@ -6641,23 +7142,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 693, + "referencedDeclaration": 784, "type": "address", "value": "wallet" }, - "id": 740, + "id": 831, "name": "Identifier", - "src": "4709:6:3" + "src": "5149:6:4" } ], - "id": 741, + "id": 832, "name": "IndexAccess", - "src": "4703:13:3" + "src": "5143:13:4" } ], - "id": 742, + "id": 833, "name": "MemberAccess", - "src": "4703:31:3" + "src": "5143:31:4" }, { "attributes": { @@ -6665,23 +7166,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 726, + "referencedDeclaration": 817, "type": "uint256", "value": "ai" }, - "id": 743, + "id": 834, "name": "Identifier", - "src": "4735:2:3" + "src": "5175:2:4" } ], - "id": 744, + "id": 835, "name": "IndexAccess", - "src": "4703:35:3" + "src": "5143:35:4" } ], - "id": 745, + "id": 836, "name": "MemberAccess", - "src": "4703:52:3" + "src": "5143:52:4" }, { "attributes": { @@ -6689,24 +7190,24 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 716, + "referencedDeclaration": 807, "type": "bytes32", "value": "keccakIdentifier" }, - "id": 746, + "id": 837, "name": "Identifier", - "src": "4759:16:3" + "src": "5199:16:4" } ], - "id": 747, + "id": 838, "name": "BinaryOperation", - "src": "4703:72:3" + "src": "5143:72:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 714 + "functionReturnParameters": 805 }, "children": [ { @@ -6733,9 +7234,9 @@ "type": "bool", "value": "true" }, - "id": 748, + "id": 839, "name": "Literal", - "src": "4803:4:3" + "src": "5243:4:4" }, { "attributes": { @@ -6743,13 +7244,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 726, + "referencedDeclaration": 817, "type": "uint256", "value": "ai" }, - "id": 749, + "id": 840, "name": "Identifier", - "src": "4809:2:3" + "src": "5249:2:4" }, { "attributes": { @@ -6781,13 +7282,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 567, + "referencedDeclaration": 658, "type": "function (address,uint256) view returns (bool)", "value": "userAddressConfirmed" }, - "id": 750, + "id": 841, "name": "Identifier", - "src": "4813:20:3" + "src": "5253:20:4" }, { "attributes": { @@ -6795,13 +7296,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 693, + "referencedDeclaration": 784, "type": "address", "value": "wallet" }, - "id": 751, + "id": 842, "name": "Identifier", - "src": "4834:6:3" + "src": "5274:6:4" }, { "attributes": { @@ -6809,52 +7310,52 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 726, + "referencedDeclaration": 817, "type": "uint256", "value": "ai" }, - "id": 752, + "id": 843, "name": "Identifier", - "src": "4842:2:3" + "src": "5282:2:4" } ], - "id": 753, + "id": 844, "name": "FunctionCall", - "src": "4813:32:3" + "src": "5253:32:4" } ], - "id": 754, + "id": 845, "name": "TupleExpression", - "src": "4802:44:3" + "src": "5242:44:4" } ], - "id": 755, + "id": 846, "name": "Return", - "src": "4795:51:3" + "src": "5235:51:4" } ], - "id": 756, + "id": 847, "name": "Block", - "src": "4777:84:3" + "src": "5217:84:4" } ], - "id": 757, + "id": 848, "name": "IfStatement", - "src": "4699:162:3" + "src": "5139:162:4" } ], - "id": 758, + "id": 849, "name": "Block", - "src": "4685:186:3" + "src": "5125:186:4" } ], - "id": 759, + "id": 850, "name": "ForStatement", - "src": "4613:258:3" + "src": "5053:258:4" }, { "attributes": { - "functionReturnParameters": 714 + "functionReturnParameters": 805 }, "children": [ { @@ -6881,9 +7382,9 @@ "type": "bool", "value": "false" }, - "id": 760, + "id": 851, "name": "Literal", - "src": "4888:5:3" + "src": "5328:5:4" }, { "attributes": { @@ -6898,9 +7399,9 @@ "type": "int_const 0", "value": "0" }, - "id": 761, + "id": 852, "name": "Literal", - "src": "4895:1:3" + "src": "5335:1:4" }, { "attributes": { @@ -6915,29 +7416,29 @@ "type": "bool", "value": "false" }, - "id": 762, + "id": 853, "name": "Literal", - "src": "4898:5:3" + "src": "5338:5:4" } ], - "id": 763, + "id": 854, "name": "TupleExpression", - "src": "4887:17:3" + "src": "5327:17:4" } ], - "id": 764, + "id": 855, "name": "Return", - "src": "4880:24:3" + "src": "5320:24:4" } ], - "id": 765, + "id": 856, "name": "Block", - "src": "4520:391:3" + "src": "4960:391:4" } ], - "id": 766, + "id": 857, "name": "FunctionDefinition", - "src": "4325:586:3" + "src": "4765:586:4" }, { "attributes": { @@ -6946,7 +7447,7 @@ "isConstructor": false, "name": "userLastSubmittedName", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -6958,7 +7459,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 791, + "scope": 882, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -6971,19 +7472,19 @@ "name": "address", "type": "address" }, - "id": 767, + "id": 858, "name": "ElementaryTypeName", - "src": "5000:7:3" + "src": "5440:7:4" } ], - "id": 768, + "id": 859, "name": "VariableDeclaration", - "src": "5000:14:3" + "src": "5440:14:4" } ], - "id": 769, + "id": 860, "name": "ParameterList", - "src": "4999:16:3" + "src": "5439:16:4" }, { "children": [ @@ -6991,7 +7492,7 @@ "attributes": { "constant": false, "name": "", - "scope": 791, + "scope": 882, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -7004,19 +7505,19 @@ "name": "string", "type": "string storage pointer" }, - "id": 773, + "id": 864, "name": "ElementaryTypeName", - "src": "5069:6:3" + "src": "5509:6:4" } ], - "id": 774, + "id": 865, "name": "VariableDeclaration", - "src": "5069:6:3" + "src": "5509:6:4" } ], - "id": 775, + "id": 866, "name": "ParameterList", - "src": "5068:8:3" + "src": "5508:8:4" }, { "children": [ @@ -7026,13 +7527,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 770, + "id": 861, "name": "Identifier", - "src": "5036:15:3" + "src": "5476:15:4" }, { "attributes": { @@ -7040,24 +7541,24 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 768, + "referencedDeclaration": 859, "type": "address", "value": "wallet" }, - "id": 771, + "id": 862, "name": "Identifier", - "src": "5052:6:3" + "src": "5492:6:4" } ], - "id": 772, + "id": 863, "name": "ModifierInvocation", - "src": "5036:23:3" + "src": "5476:23:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 775 + "functionReturnParameters": 866 }, "children": [ { @@ -7068,7 +7569,7 @@ "isPure": false, "lValueRequested": false, "member_name": "name", - "referencedDeclaration": 322, + "referencedDeclaration": 379, "type": "string storage ref" }, "children": [ @@ -7090,7 +7591,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -7110,13 +7611,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 776, + "id": 867, "name": "Identifier", - "src": "5098:5:3" + "src": "5538:5:4" }, { "attributes": { @@ -7124,23 +7625,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 768, + "referencedDeclaration": 859, "type": "address", "value": "wallet" }, - "id": 777, + "id": 868, "name": "Identifier", - "src": "5104:6:3" + "src": "5544:6:4" } ], - "id": 778, + "id": 869, "name": "IndexAccess", - "src": "5098:13:3" + "src": "5538:13:4" } ], - "id": 779, + "id": 870, "name": "MemberAccess", - "src": "5098:31:3" + "src": "5538:31:4" }, { "attributes": { @@ -7177,7 +7678,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -7197,13 +7698,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 780, + "id": 871, "name": "Identifier", - "src": "5130:5:3" + "src": "5570:5:4" }, { "attributes": { @@ -7211,28 +7712,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 768, + "referencedDeclaration": 859, "type": "address", "value": "wallet" }, - "id": 781, + "id": 872, "name": "Identifier", - "src": "5136:6:3" + "src": "5576:6:4" } ], - "id": 782, + "id": 873, "name": "IndexAccess", - "src": "5130:13:3" + "src": "5570:13:4" } ], - "id": 783, + "id": 874, "name": "MemberAccess", - "src": "5130:31:3" + "src": "5570:31:4" } ], - "id": 784, + "id": 875, "name": "MemberAccess", - "src": "5130:38:3" + "src": "5570:38:4" }, { "attributes": { @@ -7247,39 +7748,39 @@ "type": "int_const 1", "value": "1" }, - "id": 785, + "id": 876, "name": "Literal", - "src": "5169:1:3" + "src": "5609:1:4" } ], - "id": 786, + "id": 877, "name": "BinaryOperation", - "src": "5130:40:3" + "src": "5570:40:4" } ], - "id": 787, + "id": 878, "name": "IndexAccess", - "src": "5098:73:3" + "src": "5538:73:4" } ], - "id": 788, + "id": 879, "name": "MemberAccess", - "src": "5098:78:3" + "src": "5538:78:4" } ], - "id": 789, + "id": 880, "name": "Return", - "src": "5091:85:3" + "src": "5531:85:4" } ], - "id": 790, + "id": 881, "name": "Block", - "src": "5081:102:3" + "src": "5521:102:4" } ], - "id": 791, + "id": 882, "name": "FunctionDefinition", - "src": "4969:214:3" + "src": "5409:214:4" }, { "attributes": { @@ -7288,7 +7789,7 @@ "isConstructor": false, "name": "userLastConfirmedName", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -7300,7 +7801,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 834, + "scope": 925, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -7313,19 +7814,19 @@ "name": "address", "type": "address" }, - "id": 792, + "id": 883, "name": "ElementaryTypeName", - "src": "5315:7:3" + "src": "5755:7:4" } ], - "id": 793, + "id": 884, "name": "VariableDeclaration", - "src": "5315:14:3" + "src": "5755:14:4" } ], - "id": 794, + "id": 885, "name": "ParameterList", - "src": "5314:16:3" + "src": "5754:16:4" }, { "children": [ @@ -7333,7 +7834,7 @@ "attributes": { "constant": false, "name": "", - "scope": 834, + "scope": 925, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -7346,19 +7847,19 @@ "name": "string", "type": "string storage pointer" }, - "id": 798, + "id": 889, "name": "ElementaryTypeName", - "src": "5384:6:3" + "src": "5824:6:4" } ], - "id": 799, + "id": 890, "name": "VariableDeclaration", - "src": "5384:6:3" + "src": "5824:6:4" } ], - "id": 800, + "id": 891, "name": "ParameterList", - "src": "5383:8:3" + "src": "5823:8:4" }, { "children": [ @@ -7368,13 +7869,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 795, + "id": 886, "name": "Identifier", - "src": "5351:15:3" + "src": "5791:15:4" }, { "attributes": { @@ -7382,18 +7883,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 793, + "referencedDeclaration": 884, "type": "address", "value": "wallet" }, - "id": 796, + "id": 887, "name": "Identifier", - "src": "5367:6:3" + "src": "5807:6:4" } ], - "id": 797, + "id": 888, "name": "ModifierInvocation", - "src": "5351:23:3" + "src": "5791:23:4" }, { "children": [ @@ -7405,7 +7906,7 @@ { "attributes": { "assignments": [ - 802 + 893 ] }, "children": [ @@ -7413,7 +7914,7 @@ "attributes": { "constant": false, "name": "ai", - "scope": 834, + "scope": 925, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7426,14 +7927,14 @@ "name": "uint256", "type": "uint256" }, - "id": 801, + "id": 892, "name": "ElementaryTypeName", - "src": "5411:7:3" + "src": "5851:7:4" } ], - "id": 802, + "id": 893, "name": "VariableDeclaration", - "src": "5411:10:3" + "src": "5851:10:4" }, { "attributes": { @@ -7455,7 +7956,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -7475,13 +7976,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 803, + "id": 894, "name": "Identifier", - "src": "5424:5:3" + "src": "5864:5:4" }, { "attributes": { @@ -7489,33 +7990,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 793, + "referencedDeclaration": 884, "type": "address", "value": "wallet" }, - "id": 804, + "id": 895, "name": "Identifier", - "src": "5430:6:3" + "src": "5870:6:4" } ], - "id": 805, + "id": 896, "name": "IndexAccess", - "src": "5424:13:3" + "src": "5864:13:4" } ], - "id": 806, + "id": 897, "name": "MemberAccess", - "src": "5424:31:3" + "src": "5864:31:4" } ], - "id": 807, + "id": 898, "name": "MemberAccess", - "src": "5424:38:3" + "src": "5864:38:4" } ], - "id": 808, + "id": 899, "name": "VariableDeclarationStatement", - "src": "5411:51:3" + "src": "5851:51:4" }, { "attributes": { @@ -7538,13 +8039,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 802, + "referencedDeclaration": 893, "type": "uint256", "value": "ai" }, - "id": 809, + "id": 900, "name": "Identifier", - "src": "5464:2:3" + "src": "5904:2:4" }, { "attributes": { @@ -7559,14 +8060,14 @@ "type": "int_const 0", "value": "0" }, - "id": 810, + "id": 901, "name": "Literal", - "src": "5469:1:3" + "src": "5909:1:4" } ], - "id": 811, + "id": 902, "name": "BinaryOperation", - "src": "5464:6:3" + "src": "5904:6:4" }, { "children": [ @@ -7590,23 +8091,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 802, + "referencedDeclaration": 893, "type": "uint256", "value": "ai" }, - "id": 812, + "id": 903, "name": "Identifier", - "src": "5487:2:3" + "src": "5927:2:4" } ], - "id": 813, + "id": 904, "name": "UnaryOperation", - "src": "5487:4:3" + "src": "5927:4:4" } ], - "id": 814, + "id": 905, "name": "ExpressionStatement", - "src": "5487:4:3" + "src": "5927:4:4" }, { "attributes": { @@ -7643,13 +8144,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 567, + "referencedDeclaration": 658, "type": "function (address,uint256) view returns (bool)", "value": "userAddressConfirmed" }, - "id": 815, + "id": 906, "name": "Identifier", - "src": "5509:20:3" + "src": "5949:20:4" }, { "attributes": { @@ -7657,13 +8158,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 793, + "referencedDeclaration": 884, "type": "address", "value": "wallet" }, - "id": 816, + "id": 907, "name": "Identifier", - "src": "5530:6:3" + "src": "5970:6:4" }, { "attributes": { @@ -7671,24 +8172,24 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 802, + "referencedDeclaration": 893, "type": "uint256", "value": "ai" }, - "id": 817, + "id": 908, "name": "Identifier", - "src": "5538:2:3" + "src": "5978:2:4" } ], - "id": 818, + "id": 909, "name": "FunctionCall", - "src": "5509:32:3" + "src": "5949:32:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 800 + "functionReturnParameters": 891 }, "children": [ { @@ -7699,7 +8200,7 @@ "isPure": false, "lValueRequested": false, "member_name": "name", - "referencedDeclaration": 322, + "referencedDeclaration": 379, "type": "string storage ref" }, "children": [ @@ -7721,7 +8222,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -7741,13 +8242,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 819, + "id": 910, "name": "Identifier", - "src": "5568:5:3" + "src": "6008:5:4" }, { "attributes": { @@ -7755,23 +8256,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 793, + "referencedDeclaration": 884, "type": "address", "value": "wallet" }, - "id": 820, + "id": 911, "name": "Identifier", - "src": "5574:6:3" + "src": "6014:6:4" } ], - "id": 821, + "id": 912, "name": "IndexAccess", - "src": "5568:13:3" + "src": "6008:13:4" } ], - "id": 822, + "id": 913, "name": "MemberAccess", - "src": "5568:31:3" + "src": "6008:31:4" }, { "attributes": { @@ -7779,52 +8280,52 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 802, + "referencedDeclaration": 893, "type": "uint256", "value": "ai" }, - "id": 823, + "id": 914, "name": "Identifier", - "src": "5600:2:3" + "src": "6040:2:4" } ], - "id": 824, + "id": 915, "name": "IndexAccess", - "src": "5568:35:3" + "src": "6008:35:4" } ], - "id": 825, + "id": 916, "name": "MemberAccess", - "src": "5568:40:3" + "src": "6008:40:4" } ], - "id": 826, + "id": 917, "name": "Return", - "src": "5561:47:3" + "src": "6001:47:4" } ], - "id": 827, + "id": 918, "name": "Block", - "src": "5543:80:3" + "src": "5983:80:4" } ], - "id": 828, + "id": 919, "name": "IfStatement", - "src": "5505:118:3" + "src": "5945:118:4" } ], - "id": 829, + "id": 920, "name": "Block", - "src": "5473:160:3" + "src": "5913:160:4" } ], - "id": 830, + "id": 921, "name": "ForStatement", - "src": "5406:227:3" + "src": "5846:227:4" }, { "attributes": { - "functionReturnParameters": 800 + "functionReturnParameters": 891 }, "children": [ { @@ -7840,24 +8341,24 @@ "type": "literal_string \"\"", "value": "" }, - "id": 831, + "id": 922, "name": "Literal", - "src": "5649:2:3" + "src": "6089:2:4" } ], - "id": 832, + "id": 923, "name": "Return", - "src": "5642:9:3" + "src": "6082:9:4" } ], - "id": 833, + "id": 924, "name": "Block", - "src": "5396:262:3" + "src": "5836:262:4" } ], - "id": 834, + "id": 925, "name": "FunctionDefinition", - "src": "5284:374:3" + "src": "5724:374:4" }, { "attributes": { @@ -7869,7 +8370,7 @@ ], "name": "userSubmittedAddressesCount", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -7881,7 +8382,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 848, + "scope": 939, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -7894,19 +8395,19 @@ "name": "address", "type": "address" }, - "id": 835, + "id": 926, "name": "ElementaryTypeName", - "src": "5797:7:3" + "src": "6237:7:4" } ], - "id": 836, + "id": 927, "name": "VariableDeclaration", - "src": "5797:14:3" + "src": "6237:14:4" } ], - "id": 837, + "id": 928, "name": "ParameterList", - "src": "5796:16:3" + "src": "6236:16:4" }, { "children": [ @@ -7914,7 +8415,7 @@ "attributes": { "constant": false, "name": "", - "scope": 848, + "scope": 939, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -7927,25 +8428,25 @@ "name": "uint256", "type": "uint256" }, - "id": 838, + "id": 929, "name": "ElementaryTypeName", - "src": "5842:7:3" + "src": "6282:7:4" } ], - "id": 839, + "id": 930, "name": "VariableDeclaration", - "src": "5842:7:3" + "src": "6282:7:4" } ], - "id": 840, + "id": 931, "name": "ParameterList", - "src": "5841:9:3" + "src": "6281:9:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 840 + "functionReturnParameters": 931 }, "children": [ { @@ -7968,7 +8469,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -7988,13 +8489,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 841, + "id": 932, "name": "Identifier", - "src": "5872:5:3" + "src": "6312:5:4" }, { "attributes": { @@ -8002,43 +8503,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 836, + "referencedDeclaration": 927, "type": "address", "value": "wallet" }, - "id": 842, + "id": 933, "name": "Identifier", - "src": "5878:6:3" + "src": "6318:6:4" } ], - "id": 843, + "id": 934, "name": "IndexAccess", - "src": "5872:13:3" + "src": "6312:13:4" } ], - "id": 844, + "id": 935, "name": "MemberAccess", - "src": "5872:31:3" + "src": "6312:31:4" } ], - "id": 845, + "id": 936, "name": "MemberAccess", - "src": "5872:38:3" + "src": "6312:38:4" } ], - "id": 846, + "id": 937, "name": "Return", - "src": "5865:45:3" + "src": "6305:45:4" } ], - "id": 847, + "id": 938, "name": "Block", - "src": "5855:62:3" + "src": "6295:62:4" } ], - "id": 848, + "id": 939, "name": "FunctionDefinition", - "src": "5760:157:3" + "src": "6200:157:4" }, { "attributes": { @@ -8050,7 +8551,7 @@ ], "name": "userConfirmedAddressesCount", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8062,7 +8563,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 888, + "scope": 979, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8075,19 +8576,19 @@ "name": "address", "type": "address" }, - "id": 849, + "id": 940, "name": "ElementaryTypeName", - "src": "6062:7:3" + "src": "6502:7:4" } ], - "id": 850, + "id": 941, "name": "VariableDeclaration", - "src": "6062:14:3" + "src": "6502:14:4" } ], - "id": 851, + "id": 942, "name": "ParameterList", - "src": "6061:16:3" + "src": "6501:16:4" }, { "children": [ @@ -8095,7 +8596,7 @@ "attributes": { "constant": false, "name": "", - "scope": 888, + "scope": 979, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8108,26 +8609,26 @@ "name": "uint256", "type": "uint256" }, - "id": 852, + "id": 943, "name": "ElementaryTypeName", - "src": "6107:7:3" + "src": "6547:7:4" } ], - "id": 853, + "id": 944, "name": "VariableDeclaration", - "src": "6107:7:3" + "src": "6547:7:4" } ], - "id": 854, + "id": 945, "name": "ParameterList", - "src": "6106:9:3" + "src": "6546:9:4" }, { "children": [ { "attributes": { "assignments": [ - 856 + 947 ] }, "children": [ @@ -8135,7 +8636,7 @@ "attributes": { "constant": false, "name": "c", - "scope": 888, + "scope": 979, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8148,14 +8649,14 @@ "name": "uint256", "type": "uint256" }, - "id": 855, + "id": 946, "name": "ElementaryTypeName", - "src": "6130:7:3" + "src": "6570:7:4" } ], - "id": 856, + "id": 947, "name": "VariableDeclaration", - "src": "6130:9:3" + "src": "6570:9:4" }, { "attributes": { @@ -8170,21 +8671,21 @@ "type": "int_const 0", "value": "0" }, - "id": 857, + "id": 948, "name": "Literal", - "src": "6142:1:3" + "src": "6582:1:4" } ], - "id": 858, + "id": 949, "name": "VariableDeclarationStatement", - "src": "6130:13:3" + "src": "6570:13:4" }, { "children": [ { "attributes": { "assignments": [ - 860 + 951 ] }, "children": [ @@ -8192,7 +8693,7 @@ "attributes": { "constant": false, "name": "ai", - "scope": 888, + "scope": 979, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8205,14 +8706,14 @@ "name": "uint256", "type": "uint256" }, - "id": 859, + "id": 950, "name": "ElementaryTypeName", - "src": "6158:7:3" + "src": "6598:7:4" } ], - "id": 860, + "id": 951, "name": "VariableDeclaration", - "src": "6158:10:3" + "src": "6598:10:4" }, { "attributes": { @@ -8227,14 +8728,14 @@ "type": "int_const 0", "value": "0" }, - "id": 861, + "id": 952, "name": "Literal", - "src": "6171:1:3" + "src": "6611:1:4" } ], - "id": 862, + "id": 953, "name": "VariableDeclarationStatement", - "src": "6158:14:3" + "src": "6598:14:4" }, { "attributes": { @@ -8257,13 +8758,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 860, + "referencedDeclaration": 951, "type": "uint256", "value": "ai" }, - "id": 863, + "id": 954, "name": "Identifier", - "src": "6174:2:3" + "src": "6614:2:4" }, { "attributes": { @@ -8285,7 +8786,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -8305,13 +8806,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 864, + "id": 955, "name": "Identifier", - "src": "6179:5:3" + "src": "6619:5:4" }, { "attributes": { @@ -8319,33 +8820,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 941, "type": "address", "value": "wallet" }, - "id": 865, + "id": 956, "name": "Identifier", - "src": "6185:6:3" + "src": "6625:6:4" } ], - "id": 866, + "id": 957, "name": "IndexAccess", - "src": "6179:13:3" + "src": "6619:13:4" } ], - "id": 867, + "id": 958, "name": "MemberAccess", - "src": "6179:31:3" + "src": "6619:31:4" } ], - "id": 868, + "id": 959, "name": "MemberAccess", - "src": "6179:38:3" + "src": "6619:38:4" } ], - "id": 869, + "id": 960, "name": "BinaryOperation", - "src": "6174:43:3" + "src": "6614:43:4" }, { "children": [ @@ -8367,23 +8868,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 860, + "referencedDeclaration": 951, "type": "uint256", "value": "ai" }, - "id": 870, + "id": 961, "name": "Identifier", - "src": "6219:2:3" + "src": "6659:2:4" } ], - "id": 871, + "id": 962, "name": "UnaryOperation", - "src": "6219:4:3" + "src": "6659:4:4" } ], - "id": 872, + "id": 963, "name": "ExpressionStatement", - "src": "6219:4:3" + "src": "6659:4:4" }, { "children": [ @@ -8422,13 +8923,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 567, + "referencedDeclaration": 658, "type": "function (address,uint256) view returns (bool)", "value": "userAddressConfirmed" }, - "id": 873, + "id": 964, "name": "Identifier", - "src": "6243:20:3" + "src": "6683:20:4" }, { "attributes": { @@ -8436,13 +8937,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 850, + "referencedDeclaration": 941, "type": "address", "value": "wallet" }, - "id": 874, + "id": 965, "name": "Identifier", - "src": "6264:6:3" + "src": "6704:6:4" }, { "attributes": { @@ -8450,18 +8951,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 860, + "referencedDeclaration": 951, "type": "uint256", "value": "ai" }, - "id": 875, + "id": 966, "name": "Identifier", - "src": "6272:2:3" + "src": "6712:2:4" } ], - "id": 876, + "id": 967, "name": "FunctionCall", - "src": "6243:32:3" + "src": "6683:32:4" }, { "children": [ @@ -8484,13 +8985,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 856, + "referencedDeclaration": 947, "type": "uint256", "value": "c" }, - "id": 877, + "id": 968, "name": "Identifier", - "src": "6295:1:3" + "src": "6735:1:4" }, { "attributes": { @@ -8505,43 +9006,43 @@ "type": "int_const 1", "value": "1" }, - "id": 878, + "id": 969, "name": "Literal", - "src": "6300:1:3" + "src": "6740:1:4" } ], - "id": 879, + "id": 970, "name": "Assignment", - "src": "6295:6:3" + "src": "6735:6:4" } ], - "id": 880, + "id": 971, "name": "ExpressionStatement", - "src": "6295:6:3" + "src": "6735:6:4" } ], - "id": 881, + "id": 972, "name": "Block", - "src": "6277:39:3" + "src": "6717:39:4" } ], - "id": 882, + "id": 973, "name": "IfStatement", - "src": "6239:77:3" + "src": "6679:77:4" } ], - "id": 883, + "id": 974, "name": "Block", - "src": "6225:101:3" + "src": "6665:101:4" } ], - "id": 884, + "id": 975, "name": "ForStatement", - "src": "6153:173:3" + "src": "6593:173:4" }, { "attributes": { - "functionReturnParameters": 854 + "functionReturnParameters": 945 }, "children": [ { @@ -8550,28 +9051,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 856, + "referencedDeclaration": 947, "type": "uint256", "value": "c" }, - "id": 885, + "id": 976, "name": "Identifier", - "src": "6342:1:3" + "src": "6782:1:4" } ], - "id": 886, + "id": 977, "name": "Return", - "src": "6335:8:3" + "src": "6775:8:4" } ], - "id": 887, + "id": 978, "name": "Block", - "src": "6120:230:3" + "src": "6560:230:4" } ], - "id": 888, + "id": 979, "name": "FunctionDefinition", - "src": "6025:325:3" + "src": "6465:325:4" }, { "attributes": { @@ -8580,7 +9081,7 @@ "isConstructor": false, "name": "userAddress", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -8592,7 +9093,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 946, + "scope": 1037, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -8605,20 +9106,20 @@ "name": "address", "type": "address" }, - "id": 889, + "id": 980, "name": "ElementaryTypeName", - "src": "6377:7:3" + "src": "6817:7:4" } ], - "id": 890, + "id": 981, "name": "VariableDeclaration", - "src": "6377:14:3" + "src": "6817:14:4" }, { "attributes": { "constant": false, "name": "addressIndex", - "scope": 946, + "scope": 1037, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -8631,19 +9132,19 @@ "name": "uint256", "type": "uint256" }, - "id": 891, + "id": 982, "name": "ElementaryTypeName", - "src": "6393:7:3" + "src": "6833:7:4" } ], - "id": 892, + "id": 983, "name": "VariableDeclaration", - "src": "6393:20:3" + "src": "6833:20:4" } ], - "id": 893, + "id": 984, "name": "ParameterList", - "src": "6376:38:3" + "src": "6816:38:4" }, { "children": [ @@ -8651,7 +9152,7 @@ "attributes": { "constant": false, "name": "country", - "scope": 946, + "scope": 1037, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -8664,20 +9165,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 897, + "id": 988, "name": "ElementaryTypeName", - "src": "6477:6:3" + "src": "6917:6:4" } ], - "id": 898, + "id": 989, "name": "VariableDeclaration", - "src": "6477:14:3" + "src": "6917:14:4" }, { "attributes": { "constant": false, "name": "state", - "scope": 946, + "scope": 1037, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -8690,20 +9191,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 899, + "id": 990, "name": "ElementaryTypeName", - "src": "6493:6:3" + "src": "6933:6:4" } ], - "id": 900, + "id": 991, "name": "VariableDeclaration", - "src": "6493:12:3" + "src": "6933:12:4" }, { "attributes": { "constant": false, "name": "city", - "scope": 946, + "scope": 1037, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -8716,20 +9217,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 901, + "id": 992, "name": "ElementaryTypeName", - "src": "6507:6:3" + "src": "6947:6:4" } ], - "id": 902, + "id": 993, "name": "VariableDeclaration", - "src": "6507:11:3" + "src": "6947:11:4" }, { "attributes": { "constant": false, "name": "location", - "scope": 946, + "scope": 1037, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -8742,20 +9243,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 903, + "id": 994, "name": "ElementaryTypeName", - "src": "6520:6:3" + "src": "6960:6:4" } ], - "id": 904, + "id": 995, "name": "VariableDeclaration", - "src": "6520:15:3" + "src": "6960:15:4" }, { "attributes": { "constant": false, "name": "zip", - "scope": 946, + "scope": 1037, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -8768,19 +9269,19 @@ "name": "string", "type": "string storage pointer" }, - "id": 905, + "id": 996, "name": "ElementaryTypeName", - "src": "6537:6:3" + "src": "6977:6:4" } ], - "id": 906, + "id": 997, "name": "VariableDeclaration", - "src": "6537:10:3" + "src": "6977:10:4" } ], - "id": 907, + "id": 998, "name": "ParameterList", - "src": "6467:81:3" + "src": "6907:81:4" }, { "children": [ @@ -8790,13 +9291,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 894, + "id": 985, "name": "Identifier", - "src": "6435:15:3" + "src": "6875:15:4" }, { "attributes": { @@ -8804,24 +9305,24 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 890, + "referencedDeclaration": 981, "type": "address", "value": "wallet" }, - "id": 895, + "id": 986, "name": "Identifier", - "src": "6451:6:3" + "src": "6891:6:4" } ], - "id": 896, + "id": 987, "name": "ModifierInvocation", - "src": "6435:23:3" + "src": "6875:23:4" }, { "children": [ { "attributes": { - "functionReturnParameters": 907 + "functionReturnParameters": 998 }, "children": [ { @@ -8843,7 +9344,7 @@ "isPure": false, "lValueRequested": false, "member_name": "country", - "referencedDeclaration": 324, + "referencedDeclaration": 381, "type": "string storage ref" }, "children": [ @@ -8865,7 +9366,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -8885,13 +9386,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 908, + "id": 999, "name": "Identifier", - "src": "6584:5:3" + "src": "7024:5:4" }, { "attributes": { @@ -8899,23 +9400,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 890, + "referencedDeclaration": 981, "type": "address", "value": "wallet" }, - "id": 909, + "id": 1000, "name": "Identifier", - "src": "6590:6:3" + "src": "7030:6:4" } ], - "id": 910, + "id": 1001, "name": "IndexAccess", - "src": "6584:13:3" + "src": "7024:13:4" } ], - "id": 911, + "id": 1002, "name": "MemberAccess", - "src": "6584:31:3" + "src": "7024:31:4" }, { "attributes": { @@ -8923,23 +9424,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 892, + "referencedDeclaration": 983, "type": "uint256", "value": "addressIndex" }, - "id": 912, + "id": 1003, "name": "Identifier", - "src": "6616:12:3" + "src": "7056:12:4" } ], - "id": 913, + "id": 1004, "name": "IndexAccess", - "src": "6584:45:3" + "src": "7024:45:4" } ], - "id": 914, + "id": 1005, "name": "MemberAccess", - "src": "6584:53:3" + "src": "7024:53:4" }, { "attributes": { @@ -8949,7 +9450,7 @@ "isPure": false, "lValueRequested": false, "member_name": "state", - "referencedDeclaration": 326, + "referencedDeclaration": 383, "type": "string storage ref" }, "children": [ @@ -8971,7 +9472,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -8991,13 +9492,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 915, + "id": 1006, "name": "Identifier", - "src": "6651:5:3" + "src": "7091:5:4" }, { "attributes": { @@ -9005,23 +9506,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 890, + "referencedDeclaration": 981, "type": "address", "value": "wallet" }, - "id": 916, + "id": 1007, "name": "Identifier", - "src": "6657:6:3" + "src": "7097:6:4" } ], - "id": 917, + "id": 1008, "name": "IndexAccess", - "src": "6651:13:3" + "src": "7091:13:4" } ], - "id": 918, + "id": 1009, "name": "MemberAccess", - "src": "6651:31:3" + "src": "7091:31:4" }, { "attributes": { @@ -9029,23 +9530,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 892, + "referencedDeclaration": 983, "type": "uint256", "value": "addressIndex" }, - "id": 919, + "id": 1010, "name": "Identifier", - "src": "6683:12:3" + "src": "7123:12:4" } ], - "id": 920, + "id": 1011, "name": "IndexAccess", - "src": "6651:45:3" + "src": "7091:45:4" } ], - "id": 921, + "id": 1012, "name": "MemberAccess", - "src": "6651:51:3" + "src": "7091:51:4" }, { "attributes": { @@ -9055,7 +9556,7 @@ "isPure": false, "lValueRequested": false, "member_name": "city", - "referencedDeclaration": 328, + "referencedDeclaration": 385, "type": "string storage ref" }, "children": [ @@ -9077,7 +9578,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -9097,13 +9598,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 922, + "id": 1013, "name": "Identifier", - "src": "6716:5:3" + "src": "7156:5:4" }, { "attributes": { @@ -9111,23 +9612,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 890, + "referencedDeclaration": 981, "type": "address", "value": "wallet" }, - "id": 923, + "id": 1014, "name": "Identifier", - "src": "6722:6:3" + "src": "7162:6:4" } ], - "id": 924, + "id": 1015, "name": "IndexAccess", - "src": "6716:13:3" + "src": "7156:13:4" } ], - "id": 925, + "id": 1016, "name": "MemberAccess", - "src": "6716:31:3" + "src": "7156:31:4" }, { "attributes": { @@ -9135,23 +9636,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 892, + "referencedDeclaration": 983, "type": "uint256", "value": "addressIndex" }, - "id": 926, + "id": 1017, "name": "Identifier", - "src": "6748:12:3" + "src": "7188:12:4" } ], - "id": 927, + "id": 1018, "name": "IndexAccess", - "src": "6716:45:3" + "src": "7156:45:4" } ], - "id": 928, + "id": 1019, "name": "MemberAccess", - "src": "6716:50:3" + "src": "7156:50:4" }, { "attributes": { @@ -9161,7 +9662,7 @@ "isPure": false, "lValueRequested": false, "member_name": "location", - "referencedDeclaration": 330, + "referencedDeclaration": 387, "type": "string storage ref" }, "children": [ @@ -9183,7 +9684,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -9203,13 +9704,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 929, + "id": 1020, "name": "Identifier", - "src": "6780:5:3" + "src": "7220:5:4" }, { "attributes": { @@ -9217,23 +9718,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 890, + "referencedDeclaration": 981, "type": "address", "value": "wallet" }, - "id": 930, + "id": 1021, "name": "Identifier", - "src": "6786:6:3" + "src": "7226:6:4" } ], - "id": 931, + "id": 1022, "name": "IndexAccess", - "src": "6780:13:3" + "src": "7220:13:4" } ], - "id": 932, + "id": 1023, "name": "MemberAccess", - "src": "6780:31:3" + "src": "7220:31:4" }, { "attributes": { @@ -9241,23 +9742,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 892, + "referencedDeclaration": 983, "type": "uint256", "value": "addressIndex" }, - "id": 933, + "id": 1024, "name": "Identifier", - "src": "6812:12:3" + "src": "7252:12:4" } ], - "id": 934, + "id": 1025, "name": "IndexAccess", - "src": "6780:45:3" + "src": "7220:45:4" } ], - "id": 935, + "id": 1026, "name": "MemberAccess", - "src": "6780:54:3" + "src": "7220:54:4" }, { "attributes": { @@ -9267,7 +9768,7 @@ "isPure": false, "lValueRequested": false, "member_name": "zip", - "referencedDeclaration": 332, + "referencedDeclaration": 389, "type": "string storage ref" }, "children": [ @@ -9289,7 +9790,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -9309,13 +9810,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 936, + "id": 1027, "name": "Identifier", - "src": "6848:5:3" + "src": "7288:5:4" }, { "attributes": { @@ -9323,23 +9824,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 890, + "referencedDeclaration": 981, "type": "address", "value": "wallet" }, - "id": 937, + "id": 1028, "name": "Identifier", - "src": "6854:6:3" + "src": "7294:6:4" } ], - "id": 938, + "id": 1029, "name": "IndexAccess", - "src": "6848:13:3" + "src": "7288:13:4" } ], - "id": 939, + "id": 1030, "name": "MemberAccess", - "src": "6848:31:3" + "src": "7288:31:4" }, { "attributes": { @@ -9347,43 +9848,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 892, + "referencedDeclaration": 983, "type": "uint256", "value": "addressIndex" }, - "id": 940, + "id": 1031, "name": "Identifier", - "src": "6880:12:3" + "src": "7320:12:4" } ], - "id": 941, + "id": 1032, "name": "IndexAccess", - "src": "6848:45:3" + "src": "7288:45:4" } ], - "id": 942, + "id": 1033, "name": "MemberAccess", - "src": "6848:49:3" + "src": "7288:49:4" } ], - "id": 943, + "id": 1034, "name": "TupleExpression", - "src": "6570:337:3" + "src": "7010:337:4" } ], - "id": 944, + "id": 1035, "name": "Return", - "src": "6563:344:3" + "src": "7003:344:4" } ], - "id": 945, + "id": 1036, "name": "Block", - "src": "6553:361:3" + "src": "6993:361:4" } ], - "id": 946, + "id": 1037, "name": "FunctionDefinition", - "src": "6356:558:3" + "src": "6796:558:4" }, { "attributes": { @@ -9392,7 +9893,7 @@ "isConstructor": false, "name": "userAddressInfo", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "view", "superFunction": null, "visibility": "public" @@ -9404,7 +9905,7 @@ "attributes": { "constant": false, "name": "wallet", - "scope": 1009, + "scope": 1100, "stateVariable": false, "storageLocation": "default", "type": "address", @@ -9417,20 +9918,20 @@ "name": "address", "type": "address" }, - "id": 947, + "id": 1038, "name": "ElementaryTypeName", - "src": "6945:7:3" + "src": "7385:7:4" } ], - "id": 948, + "id": 1039, "name": "VariableDeclaration", - "src": "6945:14:3" + "src": "7385:14:4" }, { "attributes": { "constant": false, "name": "addressIndex", - "scope": 1009, + "scope": 1100, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -9443,19 +9944,19 @@ "name": "uint256", "type": "uint256" }, - "id": 949, + "id": 1040, "name": "ElementaryTypeName", - "src": "6961:7:3" + "src": "7401:7:4" } ], - "id": 950, + "id": 1041, "name": "VariableDeclaration", - "src": "6961:20:3" + "src": "7401:20:4" } ], - "id": 951, + "id": 1042, "name": "ParameterList", - "src": "6944:38:3" + "src": "7384:38:4" }, { "children": [ @@ -9463,7 +9964,7 @@ "attributes": { "constant": false, "name": "name", - "scope": 1009, + "scope": 1100, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -9476,20 +9977,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 955, + "id": 1046, "name": "ElementaryTypeName", - "src": "7045:6:3" + "src": "7485:6:4" } ], - "id": 956, + "id": 1047, "name": "VariableDeclaration", - "src": "7045:11:3" + "src": "7485:11:4" }, { "attributes": { "constant": false, "name": "creationBlock", - "scope": 1009, + "scope": 1100, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -9502,20 +10003,20 @@ "name": "uint256", "type": "uint256" }, - "id": 957, + "id": 1048, "name": "ElementaryTypeName", - "src": "7066:7:3" + "src": "7506:7:4" } ], - "id": 958, + "id": 1049, "name": "VariableDeclaration", - "src": "7066:21:3" + "src": "7506:21:4" }, { "attributes": { "constant": false, "name": "confirmationBlock", - "scope": 1009, + "scope": 1100, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -9528,20 +10029,20 @@ "name": "uint256", "type": "uint256" }, - "id": 959, + "id": 1050, "name": "ElementaryTypeName", - "src": "7097:7:3" + "src": "7537:7:4" } ], - "id": 960, + "id": 1051, "name": "VariableDeclaration", - "src": "7097:25:3" + "src": "7537:25:4" }, { "attributes": { "constant": false, "name": "keccakIdentifier", - "scope": 1009, + "scope": 1100, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -9554,19 +10055,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 961, + "id": 1052, "name": "ElementaryTypeName", - "src": "7132:7:3" + "src": "7572:7:4" } ], - "id": 962, + "id": 1053, "name": "VariableDeclaration", - "src": "7132:24:3" + "src": "7572:24:4" } ], - "id": 963, + "id": 1054, "name": "ParameterList", - "src": "7035:127:3" + "src": "7475:127:4" }, { "children": [ @@ -9576,13 +10077,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 952, + "id": 1043, "name": "Identifier", - "src": "7003:15:3" + "src": "7443:15:4" }, { "attributes": { @@ -9590,25 +10091,25 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 948, + "referencedDeclaration": 1039, "type": "address", "value": "wallet" }, - "id": 953, + "id": 1044, "name": "Identifier", - "src": "7019:6:3" + "src": "7459:6:4" } ], - "id": 954, + "id": 1045, "name": "ModifierInvocation", - "src": "7003:23:3" + "src": "7443:23:4" }, { "children": [ { "attributes": { "assignments": [ - 965 + 1056 ] }, "children": [ @@ -9616,7 +10117,7 @@ "attributes": { "constant": false, "name": "_confirmationBlock", - "scope": 1009, + "scope": 1100, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -9629,14 +10130,14 @@ "name": "uint256", "type": "uint256" }, - "id": 964, + "id": 1055, "name": "ElementaryTypeName", - "src": "7173:7:3" + "src": "7613:7:4" } ], - "id": 965, + "id": 1056, "name": "VariableDeclaration", - "src": "7173:26:3" + "src": "7613:26:4" }, { "attributes": { @@ -9666,7 +10167,7 @@ "isPure": false, "lValueRequested": false, "member_name": "decodeConfirmation", - "referencedDeclaration": 309, + "referencedDeclaration": 366, "type": "function (bytes32) pure returns (uint256)" }, "children": [ @@ -9676,18 +10177,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 310, + "referencedDeclaration": 367, "type": "type(library PhysicalAddressClaim)", "value": "PhysicalAddressClaim" }, - "id": 966, + "id": 1057, "name": "Identifier", - "src": "7202:20:3" + "src": "7642:20:4" } ], - "id": 967, + "id": 1058, "name": "MemberAccess", - "src": "7202:39:3" + "src": "7642:39:4" }, { "attributes": { @@ -9735,18 +10236,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 320, + "referencedDeclaration": 377, "type": "contract EthereumClaimsRegistryInterface", "value": "registry" }, - "id": 968, + "id": 1059, "name": "Identifier", - "src": "7242:8:3" + "src": "7682:8:4" } ], - "id": 969, + "id": 1060, "name": "MemberAccess", - "src": "7242:17:3" + "src": "7682:17:4" }, { "attributes": { @@ -9767,7 +10268,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1469", + "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1583", "typeString": "contract ProofOfPhysicalAddress" } ], @@ -9778,9 +10279,9 @@ "type": "type(address)", "value": "address" }, - "id": 970, + "id": 1061, "name": "ElementaryTypeNameExpression", - "src": "7273:7:3" + "src": "7713:7:4" }, { "attributes": { @@ -9788,18 +10289,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1498, + "referencedDeclaration": 1614, "type": "contract ProofOfPhysicalAddress", "value": "this" }, - "id": 971, + "id": 1062, "name": "Identifier", - "src": "7281:4:3" + "src": "7721:4:4" } ], - "id": 972, + "id": 1063, "name": "FunctionCall", - "src": "7273:13:3" + "src": "7713:13:4" }, { "attributes": { @@ -9807,13 +10308,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 948, + "referencedDeclaration": 1039, "type": "address", "value": "wallet" }, - "id": 973, + "id": 1064, "name": "Identifier", - "src": "7300:6:3" + "src": "7740:6:4" }, { "attributes": { @@ -9823,7 +10324,7 @@ "isPure": false, "lValueRequested": false, "member_name": "keccakIdentifier", - "referencedDeclaration": 336, + "referencedDeclaration": 393, "type": "bytes32" }, "children": [ @@ -9845,7 +10346,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -9865,13 +10366,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 974, + "id": 1065, "name": "Identifier", - "src": "7320:5:3" + "src": "7760:5:4" }, { "attributes": { @@ -9879,23 +10380,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 948, + "referencedDeclaration": 1039, "type": "address", "value": "wallet" }, - "id": 975, + "id": 1066, "name": "Identifier", - "src": "7326:6:3" + "src": "7766:6:4" } ], - "id": 976, + "id": 1067, "name": "IndexAccess", - "src": "7320:13:3" + "src": "7760:13:4" } ], - "id": 977, + "id": 1068, "name": "MemberAccess", - "src": "7320:31:3" + "src": "7760:31:4" }, { "attributes": { @@ -9903,42 +10404,42 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 950, + "referencedDeclaration": 1041, "type": "uint256", "value": "addressIndex" }, - "id": 978, + "id": 1069, "name": "Identifier", - "src": "7352:12:3" + "src": "7792:12:4" } ], - "id": 979, + "id": 1070, "name": "IndexAccess", - "src": "7320:45:3" + "src": "7760:45:4" } ], - "id": 980, + "id": 1071, "name": "MemberAccess", - "src": "7320:62:3" + "src": "7760:62:4" } ], - "id": 981, + "id": 1072, "name": "FunctionCall", - "src": "7242:141:3" + "src": "7682:141:4" } ], - "id": 982, + "id": 1073, "name": "FunctionCall", - "src": "7202:191:3" + "src": "7642:191:4" } ], - "id": 983, + "id": 1074, "name": "VariableDeclarationStatement", - "src": "7173:220:3" + "src": "7613:220:4" }, { "attributes": { - "functionReturnParameters": 963 + "functionReturnParameters": 1054 }, "children": [ { @@ -9960,7 +10461,7 @@ "isPure": false, "lValueRequested": false, "member_name": "name", - "referencedDeclaration": 322, + "referencedDeclaration": 379, "type": "string storage ref" }, "children": [ @@ -9982,7 +10483,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -10002,13 +10503,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 984, + "id": 1075, "name": "Identifier", - "src": "7424:5:3" + "src": "7864:5:4" }, { "attributes": { @@ -10016,23 +10517,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 948, + "referencedDeclaration": 1039, "type": "address", "value": "wallet" }, - "id": 985, + "id": 1076, "name": "Identifier", - "src": "7430:6:3" + "src": "7870:6:4" } ], - "id": 986, + "id": 1077, "name": "IndexAccess", - "src": "7424:13:3" + "src": "7864:13:4" } ], - "id": 987, + "id": 1078, "name": "MemberAccess", - "src": "7424:31:3" + "src": "7864:31:4" }, { "attributes": { @@ -10040,23 +10541,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 950, + "referencedDeclaration": 1041, "type": "uint256", "value": "addressIndex" }, - "id": 988, + "id": 1079, "name": "Identifier", - "src": "7456:12:3" + "src": "7896:12:4" } ], - "id": 989, + "id": 1080, "name": "IndexAccess", - "src": "7424:45:3" + "src": "7864:45:4" } ], - "id": 990, + "id": 1081, "name": "MemberAccess", - "src": "7424:50:3" + "src": "7864:50:4" }, { "attributes": { @@ -10066,7 +10567,7 @@ "isPure": false, "lValueRequested": false, "member_name": "creationBlock", - "referencedDeclaration": 334, + "referencedDeclaration": 391, "type": "uint256" }, "children": [ @@ -10088,7 +10589,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -10108,13 +10609,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 991, + "id": 1082, "name": "Identifier", - "src": "7488:5:3" + "src": "7928:5:4" }, { "attributes": { @@ -10122,23 +10623,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 948, + "referencedDeclaration": 1039, "type": "address", "value": "wallet" }, - "id": 992, + "id": 1083, "name": "Identifier", - "src": "7494:6:3" + "src": "7934:6:4" } ], - "id": 993, + "id": 1084, "name": "IndexAccess", - "src": "7488:13:3" + "src": "7928:13:4" } ], - "id": 994, + "id": 1085, "name": "MemberAccess", - "src": "7488:31:3" + "src": "7928:31:4" }, { "attributes": { @@ -10146,23 +10647,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 950, + "referencedDeclaration": 1041, "type": "uint256", "value": "addressIndex" }, - "id": 995, + "id": 1086, "name": "Identifier", - "src": "7520:12:3" + "src": "7960:12:4" } ], - "id": 996, + "id": 1087, "name": "IndexAccess", - "src": "7488:45:3" + "src": "7928:45:4" } ], - "id": 997, + "id": 1088, "name": "MemberAccess", - "src": "7488:59:3" + "src": "7928:59:4" }, { "attributes": { @@ -10170,13 +10671,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 965, + "referencedDeclaration": 1056, "type": "uint256", "value": "_confirmationBlock" }, - "id": 998, + "id": 1089, "name": "Identifier", - "src": "7561:18:3" + "src": "8001:18:4" }, { "attributes": { @@ -10186,7 +10687,7 @@ "isPure": false, "lValueRequested": false, "member_name": "keccakIdentifier", - "referencedDeclaration": 336, + "referencedDeclaration": 393, "type": "bytes32" }, "children": [ @@ -10208,7 +10709,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -10228,13 +10729,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 999, + "id": 1090, "name": "Identifier", - "src": "7593:5:3" + "src": "8033:5:4" }, { "attributes": { @@ -10242,23 +10743,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 948, + "referencedDeclaration": 1039, "type": "address", "value": "wallet" }, - "id": 1000, + "id": 1091, "name": "Identifier", - "src": "7599:6:3" + "src": "8039:6:4" } ], - "id": 1001, + "id": 1092, "name": "IndexAccess", - "src": "7593:13:3" + "src": "8033:13:4" } ], - "id": 1002, + "id": 1093, "name": "MemberAccess", - "src": "7593:31:3" + "src": "8033:31:4" }, { "attributes": { @@ -10266,43 +10767,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 950, + "referencedDeclaration": 1041, "type": "uint256", "value": "addressIndex" }, - "id": 1003, + "id": 1094, "name": "Identifier", - "src": "7625:12:3" + "src": "8065:12:4" } ], - "id": 1004, + "id": 1095, "name": "IndexAccess", - "src": "7593:45:3" + "src": "8033:45:4" } ], - "id": 1005, + "id": 1096, "name": "MemberAccess", - "src": "7593:62:3" + "src": "8033:62:4" } ], - "id": 1006, + "id": 1097, "name": "TupleExpression", - "src": "7410:255:3" + "src": "7850:255:4" } ], - "id": 1007, + "id": 1098, "name": "Return", - "src": "7403:262:3" + "src": "7843:262:4" } ], - "id": 1008, + "id": 1099, "name": "Block", - "src": "7163:509:3" + "src": "7603:509:4" } ], - "id": 1009, + "id": 1100, "name": "FunctionDefinition", - "src": "6920:752:3" + "src": "7360:752:4" }, { "attributes": { @@ -10314,7 +10815,7 @@ ], "name": "registerAddress", "payable": true, - "scope": 1469, + "scope": 1583, "stateMutability": "payable", "superFunction": null, "visibility": "public" @@ -10326,7 +10827,7 @@ "attributes": { "constant": false, "name": "name", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -10339,20 +10840,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1010, + "id": 1101, "name": "ElementaryTypeName", - "src": "7733:6:3" + "src": "8173:6:4" } ], - "id": 1011, + "id": 1102, "name": "VariableDeclaration", - "src": "7733:11:3" + "src": "8173:11:4" }, { "attributes": { "constant": false, "name": "country", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -10365,20 +10866,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1012, + "id": 1103, "name": "ElementaryTypeName", - "src": "7754:6:3" + "src": "8194:6:4" } ], - "id": 1013, + "id": 1104, "name": "VariableDeclaration", - "src": "7754:14:3" + "src": "8194:14:4" }, { "attributes": { "constant": false, "name": "state", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -10391,20 +10892,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1014, + "id": 1105, "name": "ElementaryTypeName", - "src": "7770:6:3" + "src": "8210:6:4" } ], - "id": 1015, + "id": 1106, "name": "VariableDeclaration", - "src": "7770:12:3" + "src": "8210:12:4" }, { "attributes": { "constant": false, "name": "city", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -10417,20 +10918,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1016, + "id": 1107, "name": "ElementaryTypeName", - "src": "7784:6:3" + "src": "8224:6:4" } ], - "id": 1017, + "id": 1108, "name": "VariableDeclaration", - "src": "7784:11:3" + "src": "8224:11:4" }, { "attributes": { "constant": false, "name": "location", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -10443,20 +10944,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1018, + "id": 1109, "name": "ElementaryTypeName", - "src": "7797:6:3" + "src": "8237:6:4" } ], - "id": 1019, + "id": 1110, "name": "VariableDeclaration", - "src": "7797:15:3" + "src": "8237:15:4" }, { "attributes": { "constant": false, "name": "zip", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -10469,20 +10970,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1020, + "id": 1111, "name": "ElementaryTypeName", - "src": "7814:6:3" + "src": "8254:6:4" } ], - "id": 1021, + "id": 1112, "name": "VariableDeclaration", - "src": "7814:10:3" + "src": "8254:10:4" }, { "attributes": { "constant": false, "name": "priceWei", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -10495,20 +10996,20 @@ "name": "uint256", "type": "uint256" }, - "id": 1022, + "id": 1113, "name": "ElementaryTypeName", - "src": "7834:7:3" + "src": "8274:7:4" } ], - "id": 1023, + "id": 1114, "name": "VariableDeclaration", - "src": "7834:16:3" + "src": "8274:16:4" }, { "attributes": { "constant": false, "name": "confirmationCodeSha3", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -10521,20 +11022,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1024, + "id": 1115, "name": "ElementaryTypeName", - "src": "7860:7:3" + "src": "8300:7:4" } ], - "id": 1025, + "id": 1116, "name": "VariableDeclaration", - "src": "7860:28:3" + "src": "8300:28:4" }, { "attributes": { "constant": false, "name": "sigV", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "uint8", @@ -10547,20 +11048,20 @@ "name": "uint8", "type": "uint8" }, - "id": 1026, + "id": 1117, "name": "ElementaryTypeName", - "src": "7890:5:3" + "src": "8330:5:4" } ], - "id": 1027, + "id": 1118, "name": "VariableDeclaration", - "src": "7890:10:3" + "src": "8330:10:4" }, { "attributes": { "constant": false, "name": "sigR", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -10573,20 +11074,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1028, + "id": 1119, "name": "ElementaryTypeName", - "src": "7902:7:3" + "src": "8342:7:4" } ], - "id": 1029, + "id": 1120, "name": "VariableDeclaration", - "src": "7902:12:3" + "src": "8342:12:4" }, { "attributes": { "constant": false, "name": "sigS", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -10599,19 +11100,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1030, + "id": 1121, "name": "ElementaryTypeName", - "src": "7916:7:3" + "src": "8356:7:4" } ], - "id": 1031, + "id": 1122, "name": "VariableDeclaration", - "src": "7916:12:3" + "src": "8356:12:4" } ], - "id": 1032, + "id": 1123, "name": "ParameterList", - "src": "7723:206:3" + "src": "8163:206:4" }, { "attributes": { @@ -10620,9 +11121,9 @@ ] }, "children": [], - "id": 1033, + "id": 1124, "name": "ParameterList", - "src": "7953:0:3" + "src": "8393:0:4" }, { "children": [ @@ -10654,13 +11155,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1034, + "id": 1125, "name": "Identifier", - "src": "7963:7:3" + "src": "8403:7:4" }, { "attributes": { @@ -10719,9 +11220,9 @@ "type": "type(bytes storage pointer)", "value": "bytes" }, - "id": 1035, + "id": 1126, "name": "ElementaryTypeNameExpression", - "src": "7971:5:3" + "src": "8411:5:4" }, { "attributes": { @@ -10729,23 +11230,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1011, + "referencedDeclaration": 1102, "type": "string memory", "value": "name" }, - "id": 1036, + "id": 1127, "name": "Identifier", - "src": "7977:4:3" + "src": "8417:4:4" } ], - "id": 1037, + "id": 1128, "name": "FunctionCall", - "src": "7971:11:3" + "src": "8411:11:4" } ], - "id": 1038, + "id": 1129, "name": "MemberAccess", - "src": "7971:18:3" + "src": "8411:18:4" }, { "attributes": { @@ -10760,24 +11261,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1039, + "id": 1130, "name": "Literal", - "src": "7992:1:3" + "src": "8432:1:4" } ], - "id": 1040, + "id": 1131, "name": "BinaryOperation", - "src": "7971:22:3" + "src": "8411:22:4" } ], - "id": 1041, + "id": 1132, "name": "FunctionCall", - "src": "7963:31:3" + "src": "8403:31:4" } ], - "id": 1042, + "id": 1133, "name": "ExpressionStatement", - "src": "7963:31:3" + "src": "8403:31:4" }, { "children": [ @@ -10807,13 +11308,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1043, + "id": 1134, "name": "Identifier", - "src": "8004:7:3" + "src": "8444:7:4" }, { "attributes": { @@ -10872,9 +11373,9 @@ "type": "type(bytes storage pointer)", "value": "bytes" }, - "id": 1044, + "id": 1135, "name": "ElementaryTypeNameExpression", - "src": "8012:5:3" + "src": "8452:5:4" }, { "attributes": { @@ -10882,23 +11383,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1013, + "referencedDeclaration": 1104, "type": "string memory", "value": "country" }, - "id": 1045, + "id": 1136, "name": "Identifier", - "src": "8018:7:3" + "src": "8458:7:4" } ], - "id": 1046, + "id": 1137, "name": "FunctionCall", - "src": "8012:14:3" + "src": "8452:14:4" } ], - "id": 1047, + "id": 1138, "name": "MemberAccess", - "src": "8012:21:3" + "src": "8452:21:4" }, { "attributes": { @@ -10913,24 +11414,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1048, + "id": 1139, "name": "Literal", - "src": "8036:1:3" + "src": "8476:1:4" } ], - "id": 1049, + "id": 1140, "name": "BinaryOperation", - "src": "8012:25:3" + "src": "8452:25:4" } ], - "id": 1050, + "id": 1141, "name": "FunctionCall", - "src": "8004:34:3" + "src": "8444:34:4" } ], - "id": 1051, + "id": 1142, "name": "ExpressionStatement", - "src": "8004:34:3" + "src": "8444:34:4" }, { "children": [ @@ -10960,13 +11461,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1052, + "id": 1143, "name": "Identifier", - "src": "8048:7:3" + "src": "8488:7:4" }, { "attributes": { @@ -11025,9 +11526,9 @@ "type": "type(bytes storage pointer)", "value": "bytes" }, - "id": 1053, + "id": 1144, "name": "ElementaryTypeNameExpression", - "src": "8056:5:3" + "src": "8496:5:4" }, { "attributes": { @@ -11035,23 +11536,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 1106, "type": "string memory", "value": "state" }, - "id": 1054, + "id": 1145, "name": "Identifier", - "src": "8062:5:3" + "src": "8502:5:4" } ], - "id": 1055, + "id": 1146, "name": "FunctionCall", - "src": "8056:12:3" + "src": "8496:12:4" } ], - "id": 1056, + "id": 1147, "name": "MemberAccess", - "src": "8056:19:3" + "src": "8496:19:4" }, { "attributes": { @@ -11066,24 +11567,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1057, + "id": 1148, "name": "Literal", - "src": "8078:1:3" + "src": "8518:1:4" } ], - "id": 1058, + "id": 1149, "name": "BinaryOperation", - "src": "8056:23:3" + "src": "8496:23:4" } ], - "id": 1059, + "id": 1150, "name": "FunctionCall", - "src": "8048:32:3" + "src": "8488:32:4" } ], - "id": 1060, + "id": 1151, "name": "ExpressionStatement", - "src": "8048:32:3" + "src": "8488:32:4" }, { "children": [ @@ -11113,13 +11614,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1061, + "id": 1152, "name": "Identifier", - "src": "8090:7:3" + "src": "8530:7:4" }, { "attributes": { @@ -11178,9 +11679,9 @@ "type": "type(bytes storage pointer)", "value": "bytes" }, - "id": 1062, + "id": 1153, "name": "ElementaryTypeNameExpression", - "src": "8098:5:3" + "src": "8538:5:4" }, { "attributes": { @@ -11188,23 +11689,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1017, + "referencedDeclaration": 1108, "type": "string memory", "value": "city" }, - "id": 1063, + "id": 1154, "name": "Identifier", - "src": "8104:4:3" + "src": "8544:4:4" } ], - "id": 1064, + "id": 1155, "name": "FunctionCall", - "src": "8098:11:3" + "src": "8538:11:4" } ], - "id": 1065, + "id": 1156, "name": "MemberAccess", - "src": "8098:18:3" + "src": "8538:18:4" }, { "attributes": { @@ -11219,24 +11720,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1066, + "id": 1157, "name": "Literal", - "src": "8119:1:3" + "src": "8559:1:4" } ], - "id": 1067, + "id": 1158, "name": "BinaryOperation", - "src": "8098:22:3" + "src": "8538:22:4" } ], - "id": 1068, + "id": 1159, "name": "FunctionCall", - "src": "8090:31:3" + "src": "8530:31:4" } ], - "id": 1069, + "id": 1160, "name": "ExpressionStatement", - "src": "8090:31:3" + "src": "8530:31:4" }, { "children": [ @@ -11266,13 +11767,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1070, + "id": 1161, "name": "Identifier", - "src": "8131:7:3" + "src": "8571:7:4" }, { "attributes": { @@ -11331,9 +11832,9 @@ "type": "type(bytes storage pointer)", "value": "bytes" }, - "id": 1071, + "id": 1162, "name": "ElementaryTypeNameExpression", - "src": "8139:5:3" + "src": "8579:5:4" }, { "attributes": { @@ -11341,23 +11842,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1019, + "referencedDeclaration": 1110, "type": "string memory", "value": "location" }, - "id": 1072, + "id": 1163, "name": "Identifier", - "src": "8145:8:3" + "src": "8585:8:4" } ], - "id": 1073, + "id": 1164, "name": "FunctionCall", - "src": "8139:15:3" + "src": "8579:15:4" } ], - "id": 1074, + "id": 1165, "name": "MemberAccess", - "src": "8139:22:3" + "src": "8579:22:4" }, { "attributes": { @@ -11372,24 +11873,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1075, + "id": 1166, "name": "Literal", - "src": "8164:1:3" + "src": "8604:1:4" } ], - "id": 1076, + "id": 1167, "name": "BinaryOperation", - "src": "8139:26:3" + "src": "8579:26:4" } ], - "id": 1077, + "id": 1168, "name": "FunctionCall", - "src": "8131:35:3" + "src": "8571:35:4" } ], - "id": 1078, + "id": 1169, "name": "ExpressionStatement", - "src": "8131:35:3" + "src": "8571:35:4" }, { "children": [ @@ -11419,13 +11920,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1079, + "id": 1170, "name": "Identifier", - "src": "8176:7:3" + "src": "8616:7:4" }, { "attributes": { @@ -11484,9 +11985,9 @@ "type": "type(bytes storage pointer)", "value": "bytes" }, - "id": 1080, + "id": 1171, "name": "ElementaryTypeNameExpression", - "src": "8184:5:3" + "src": "8624:5:4" }, { "attributes": { @@ -11494,23 +11995,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1021, + "referencedDeclaration": 1112, "type": "string memory", "value": "zip" }, - "id": 1081, + "id": 1172, "name": "Identifier", - "src": "8190:3:3" + "src": "8630:3:4" } ], - "id": 1082, + "id": 1173, "name": "FunctionCall", - "src": "8184:10:3" + "src": "8624:10:4" } ], - "id": 1083, + "id": 1174, "name": "MemberAccess", - "src": "8184:17:3" + "src": "8624:17:4" }, { "attributes": { @@ -11525,24 +12026,24 @@ "type": "int_const 0", "value": "0" }, - "id": 1084, + "id": 1175, "name": "Literal", - "src": "8204:1:3" + "src": "8644:1:4" } ], - "id": 1085, + "id": 1176, "name": "BinaryOperation", - "src": "8184:21:3" + "src": "8624:21:4" } ], - "id": 1086, + "id": 1177, "name": "FunctionCall", - "src": "8176:30:3" + "src": "8616:30:4" } ], - "id": 1087, + "id": 1178, "name": "ExpressionStatement", - "src": "8176:30:3" + "src": "8616:30:4" }, { "children": [ @@ -11572,13 +12073,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1088, + "id": 1179, "name": "Identifier", - "src": "8216:7:3" + "src": "8656:7:4" }, { "attributes": { @@ -11613,18 +12114,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1089, + "id": 1180, "name": "Identifier", - "src": "8224:3:3" + "src": "8664:3:4" } ], - "id": 1090, + "id": 1181, "name": "MemberAccess", - "src": "8224:9:3" + "src": "8664:9:4" }, { "attributes": { @@ -11632,33 +12133,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1023, + "referencedDeclaration": 1114, "type": "uint256", "value": "priceWei" }, - "id": 1091, + "id": 1182, "name": "Identifier", - "src": "8237:8:3" + "src": "8677:8:4" } ], - "id": 1092, + "id": 1183, "name": "BinaryOperation", - "src": "8224:21:3" + "src": "8664:21:4" } ], - "id": 1093, + "id": 1184, "name": "FunctionCall", - "src": "8216:30:3" + "src": "8656:30:4" } ], - "id": 1094, + "id": 1185, "name": "ExpressionStatement", - "src": "8216:30:3" + "src": "8656:30:4" }, { "attributes": { "assignments": [ - 1096 + 1187 ] }, "children": [ @@ -11666,7 +12167,7 @@ "attributes": { "constant": false, "name": "data", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -11679,14 +12180,14 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1095, + "id": 1186, "name": "ElementaryTypeName", - "src": "8257:7:3" + "src": "8697:7:4" } ], - "id": 1096, + "id": 1187, "name": "VariableDeclaration", - "src": "8257:12:3" + "src": "8697:12:4" }, { "attributes": { @@ -11746,13 +12247,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1475, + "referencedDeclaration": 1589, "type": "function () pure returns (bytes32)", "value": "keccak256" }, - "id": 1097, + "id": 1188, "name": "Identifier", - "src": "8272:9:3" + "src": "8712:9:4" }, { "attributes": { @@ -11772,18 +12273,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1098, + "id": 1189, "name": "Identifier", - "src": "8295:3:3" + "src": "8735:3:4" } ], - "id": 1099, + "id": 1190, "name": "MemberAccess", - "src": "8295:10:3" + "src": "8735:10:4" }, { "attributes": { @@ -11791,13 +12292,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1011, + "referencedDeclaration": 1102, "type": "string memory", "value": "name" }, - "id": 1100, + "id": 1191, "name": "Identifier", - "src": "8319:4:3" + "src": "8759:4:4" }, { "attributes": { @@ -11805,13 +12306,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1013, + "referencedDeclaration": 1104, "type": "string memory", "value": "country" }, - "id": 1101, + "id": 1192, "name": "Identifier", - "src": "8337:7:3" + "src": "8777:7:4" }, { "attributes": { @@ -11819,13 +12320,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 1106, "type": "string memory", "value": "state" }, - "id": 1102, + "id": 1193, "name": "Identifier", - "src": "8358:5:3" + "src": "8798:5:4" }, { "attributes": { @@ -11833,13 +12334,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1017, + "referencedDeclaration": 1108, "type": "string memory", "value": "city" }, - "id": 1103, + "id": 1194, "name": "Identifier", - "src": "8377:4:3" + "src": "8817:4:4" }, { "attributes": { @@ -11847,13 +12348,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1019, + "referencedDeclaration": 1110, "type": "string memory", "value": "location" }, - "id": 1104, + "id": 1195, "name": "Identifier", - "src": "8395:8:3" + "src": "8835:8:4" }, { "attributes": { @@ -11861,13 +12362,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1021, + "referencedDeclaration": 1112, "type": "string memory", "value": "zip" }, - "id": 1105, + "id": 1196, "name": "Identifier", - "src": "8417:3:3" + "src": "8857:3:4" }, { "attributes": { @@ -11875,13 +12376,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1023, + "referencedDeclaration": 1114, "type": "uint256", "value": "priceWei" }, - "id": 1106, + "id": 1197, "name": "Identifier", - "src": "8434:8:3" + "src": "8874:8:4" }, { "attributes": { @@ -11889,23 +12390,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1025, + "referencedDeclaration": 1116, "type": "bytes32", "value": "confirmationCodeSha3" }, - "id": 1107, + "id": 1198, "name": "Identifier", - "src": "8456:20:3" + "src": "8896:20:4" } ], - "id": 1108, + "id": 1199, "name": "FunctionCall", - "src": "8272:214:3" + "src": "8712:214:4" } ], - "id": 1109, + "id": 1200, "name": "VariableDeclarationStatement", - "src": "8257:229:3" + "src": "8697:229:4" }, { "children": [ @@ -11935,13 +12436,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1110, + "id": 1201, "name": "Identifier", - "src": "8496:7:3" + "src": "8936:7:4" }, { "attributes": { @@ -11981,13 +12482,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 434, + "referencedDeclaration": 517, "type": "function (bytes32,uint8,bytes32,bytes32) view returns (bool)", "value": "signerIsValid" }, - "id": 1111, + "id": 1202, "name": "Identifier", - "src": "8504:13:3" + "src": "8944:13:4" }, { "attributes": { @@ -11995,13 +12496,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1096, + "referencedDeclaration": 1187, "type": "bytes32", "value": "data" }, - "id": 1112, + "id": 1203, "name": "Identifier", - "src": "8518:4:3" + "src": "8958:4:4" }, { "attributes": { @@ -12009,13 +12510,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1027, + "referencedDeclaration": 1118, "type": "uint8", "value": "sigV" }, - "id": 1113, + "id": 1204, "name": "Identifier", - "src": "8524:4:3" + "src": "8964:4:4" }, { "attributes": { @@ -12023,13 +12524,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1029, + "referencedDeclaration": 1120, "type": "bytes32", "value": "sigR" }, - "id": 1114, + "id": 1205, "name": "Identifier", - "src": "8530:4:3" + "src": "8970:4:4" }, { "attributes": { @@ -12037,28 +12538,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1031, + "referencedDeclaration": 1122, "type": "bytes32", "value": "sigS" }, - "id": 1115, + "id": 1206, "name": "Identifier", - "src": "8536:4:3" + "src": "8976:4:4" } ], - "id": 1116, + "id": 1207, "name": "FunctionCall", - "src": "8504:37:3" + "src": "8944:37:4" } ], - "id": 1117, + "id": 1208, "name": "FunctionCall", - "src": "8496:46:3" + "src": "8936:46:4" } ], - "id": 1118, + "id": 1209, "name": "ExpressionStatement", - "src": "8496:46:3" + "src": "8936:46:4" }, { "children": [ @@ -12088,13 +12589,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 523, + "referencedDeclaration": 614, "type": "function (address) view returns (bool)", "value": "userExists" }, - "id": 1119, + "id": 1210, "name": "Identifier", - "src": "8557:10:3" + "src": "8997:10:4" }, { "attributes": { @@ -12114,23 +12615,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1120, + "id": 1211, "name": "Identifier", - "src": "8568:3:3" + "src": "9008:3:4" } ], - "id": 1121, + "id": 1212, "name": "MemberAccess", - "src": "8568:10:3" + "src": "9008:10:4" } ], - "id": 1122, + "id": 1213, "name": "FunctionCall", - "src": "8557:22:3" + "src": "8997:22:4" }, { "children": [ @@ -12146,7 +12647,7 @@ "attributes": { "constant": false, "name": "found", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -12159,19 +12660,19 @@ "name": "bool", "type": "bool" }, - "id": 1123, + "id": 1214, "name": "ElementaryTypeName", - "src": "8654:4:3" + "src": "9094:4:4" } ], - "id": 1124, + "id": 1215, "name": "VariableDeclaration", - "src": "8654:10:3" + "src": "9094:10:4" } ], - "id": 1125, + "id": 1216, "name": "VariableDeclarationStatement", - "src": "8654:10:3" + "src": "9094:10:4" }, { "children": [ @@ -12203,18 +12704,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1124, + "referencedDeclaration": 1215, "type": "bool", "value": "found" }, - "id": 1126, + "id": 1217, "name": "Identifier", - "src": "8679:5:3" + "src": "9119:5:4" } ], - "id": 1127, + "id": 1218, "name": "TupleExpression", - "src": "8678:11:3" + "src": "9118:11:4" }, { "attributes": { @@ -12262,13 +12763,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 766, + "referencedDeclaration": 857, "type": "function (address,string memory,string memory,string memory,string memory,string memory) view returns (bool,uint256,bool)", "value": "userAddressByAddress" }, - "id": 1128, + "id": 1219, "name": "Identifier", - "src": "8692:20:3" + "src": "9132:20:4" }, { "attributes": { @@ -12288,18 +12789,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1129, + "id": 1220, "name": "Identifier", - "src": "8713:3:3" + "src": "9153:3:4" } ], - "id": 1130, + "id": 1221, "name": "MemberAccess", - "src": "8713:10:3" + "src": "9153:10:4" }, { "attributes": { @@ -12307,13 +12808,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1013, + "referencedDeclaration": 1104, "type": "string memory", "value": "country" }, - "id": 1131, + "id": 1222, "name": "Identifier", - "src": "8725:7:3" + "src": "9165:7:4" }, { "attributes": { @@ -12321,13 +12822,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 1106, "type": "string memory", "value": "state" }, - "id": 1132, + "id": 1223, "name": "Identifier", - "src": "8734:5:3" + "src": "9174:5:4" }, { "attributes": { @@ -12335,13 +12836,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1017, + "referencedDeclaration": 1108, "type": "string memory", "value": "city" }, - "id": 1133, + "id": 1224, "name": "Identifier", - "src": "8741:4:3" + "src": "9181:4:4" }, { "attributes": { @@ -12349,13 +12850,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1019, + "referencedDeclaration": 1110, "type": "string memory", "value": "location" }, - "id": 1134, + "id": 1225, "name": "Identifier", - "src": "8747:8:3" + "src": "9187:8:4" }, { "attributes": { @@ -12363,28 +12864,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1021, + "referencedDeclaration": 1112, "type": "string memory", "value": "zip" }, - "id": 1135, + "id": 1226, "name": "Identifier", - "src": "8757:3:3" + "src": "9197:3:4" } ], - "id": 1136, + "id": 1227, "name": "FunctionCall", - "src": "8692:69:3" + "src": "9132:69:4" } ], - "id": 1137, + "id": 1228, "name": "Assignment", - "src": "8678:83:3" + "src": "9118:83:4" } ], - "id": 1138, + "id": 1229, "name": "ExpressionStatement", - "src": "8678:83:3" + "src": "9118:83:4" }, { "children": [ @@ -12414,13 +12915,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1139, + "id": 1230, "name": "Identifier", - "src": "8776:7:3" + "src": "9216:7:4" }, { "attributes": { @@ -12440,33 +12941,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1124, + "referencedDeclaration": 1215, "type": "bool", "value": "found" }, - "id": 1140, + "id": 1231, "name": "Identifier", - "src": "8785:5:3" + "src": "9225:5:4" } ], - "id": 1141, + "id": 1232, "name": "UnaryOperation", - "src": "8784:6:3" + "src": "9224:6:4" } ], - "id": 1142, + "id": 1233, "name": "FunctionCall", - "src": "8776:15:3" + "src": "9216:15:4" } ], - "id": 1143, + "id": 1234, "name": "ExpressionStatement", - "src": "8776:15:3" + "src": "9216:15:4" } ], - "id": 1144, + "id": 1235, "name": "Block", - "src": "8581:221:3" + "src": "9021:221:4" }, { "children": [ @@ -12491,7 +12992,7 @@ "isPure": false, "lValueRequested": true, "member_name": "creationBlock", - "referencedDeclaration": 362, + "referencedDeclaration": 419, "type": "uint256" }, "children": [ @@ -12511,13 +13012,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1145, + "id": 1236, "name": "Identifier", - "src": "8846:5:3" + "src": "9286:5:4" }, { "attributes": { @@ -12537,28 +13038,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1146, + "id": 1237, "name": "Identifier", - "src": "8852:3:3" + "src": "9292:3:4" } ], - "id": 1147, + "id": 1238, "name": "MemberAccess", - "src": "8852:10:3" + "src": "9292:10:4" } ], - "id": 1148, + "id": 1239, "name": "IndexAccess", - "src": "8846:17:3" + "src": "9286:17:4" } ], - "id": 1149, + "id": 1240, "name": "MemberAccess", - "src": "8846:31:3" + "src": "9286:31:4" }, { "attributes": { @@ -12578,28 +13079,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1473, + "referencedDeclaration": 1587, "type": "block", "value": "block" }, - "id": 1150, + "id": 1241, "name": "Identifier", - "src": "8880:5:3" + "src": "9320:5:4" } ], - "id": 1151, + "id": 1242, "name": "MemberAccess", - "src": "8880:12:3" + "src": "9320:12:4" } ], - "id": 1152, + "id": 1243, "name": "Assignment", - "src": "8846:46:3" + "src": "9286:46:4" } ], - "id": 1153, + "id": 1244, "name": "ExpressionStatement", - "src": "8846:46:3" + "src": "9286:46:4" }, { "children": [ @@ -12620,13 +13121,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 372, + "referencedDeclaration": 429, "type": "uint64", "value": "totalUsers" }, - "id": 1154, + "id": 1245, "name": "Identifier", - "src": "8907:10:3" + "src": "9347:10:4" }, { "attributes": { @@ -12641,29 +13142,29 @@ "type": "int_const 1", "value": "1" }, - "id": 1155, + "id": 1246, "name": "Literal", - "src": "8921:1:3" + "src": "9361:1:4" } ], - "id": 1156, + "id": 1247, "name": "Assignment", - "src": "8907:15:3" + "src": "9347:15:4" } ], - "id": 1157, + "id": 1248, "name": "ExpressionStatement", - "src": "8907:15:3" + "src": "9347:15:4" } ], - "id": 1158, + "id": 1249, "name": "Block", - "src": "8808:125:3" + "src": "9248:125:4" } ], - "id": 1159, + "id": 1250, "name": "IfStatement", - "src": "8553:380:3" + "src": "8993:380:4" }, { "attributes": { @@ -12677,7 +13178,7 @@ "attributes": { "constant": false, "name": "pa", - "scope": 1238, + "scope": 1336, "stateVariable": false, "storageLocation": "memory", "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", @@ -12689,22 +13190,22 @@ "attributes": { "contractScope": null, "name": "PhysicalAddress", - "referencedDeclaration": 339, + "referencedDeclaration": 396, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage pointer" }, - "id": 1160, + "id": 1251, "name": "UserDefinedTypeName", - "src": "8943:15:3" + "src": "9383:15:4" } ], - "id": 1161, + "id": 1252, "name": "VariableDeclaration", - "src": "8943:25:3" + "src": "9383:25:4" } ], - "id": 1162, + "id": 1253, "name": "VariableDeclarationStatement", - "src": "8943:25:3" + "src": "9383:25:4" }, { "children": [ @@ -12727,7 +13228,7 @@ "isPure": false, "lValueRequested": true, "member_name": "name", - "referencedDeclaration": 322, + "referencedDeclaration": 379, "type": "string memory" }, "children": [ @@ -12737,18 +13238,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1163, + "id": 1254, "name": "Identifier", - "src": "8979:2:3" + "src": "9419:2:4" } ], - "id": 1165, + "id": 1256, "name": "MemberAccess", - "src": "8979:7:3" + "src": "9419:7:4" }, { "attributes": { @@ -12756,23 +13257,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1011, + "referencedDeclaration": 1102, "type": "string memory", "value": "name" }, - "id": 1166, + "id": 1257, "name": "Identifier", - "src": "8989:4:3" + "src": "9429:4:4" } ], - "id": 1167, + "id": 1258, "name": "Assignment", - "src": "8979:14:3" + "src": "9419:14:4" } ], - "id": 1168, + "id": 1259, "name": "ExpressionStatement", - "src": "8979:14:3" + "src": "9419:14:4" }, { "children": [ @@ -12795,7 +13296,7 @@ "isPure": false, "lValueRequested": true, "member_name": "country", - "referencedDeclaration": 324, + "referencedDeclaration": 381, "type": "string memory" }, "children": [ @@ -12805,18 +13306,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1169, + "id": 1260, "name": "Identifier", - "src": "9003:2:3" + "src": "9443:2:4" } ], - "id": 1171, + "id": 1262, "name": "MemberAccess", - "src": "9003:10:3" + "src": "9443:10:4" }, { "attributes": { @@ -12824,23 +13325,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1013, + "referencedDeclaration": 1104, "type": "string memory", "value": "country" }, - "id": 1172, + "id": 1263, "name": "Identifier", - "src": "9016:7:3" + "src": "9456:7:4" } ], - "id": 1173, + "id": 1264, "name": "Assignment", - "src": "9003:20:3" + "src": "9443:20:4" } ], - "id": 1174, + "id": 1265, "name": "ExpressionStatement", - "src": "9003:20:3" + "src": "9443:20:4" }, { "children": [ @@ -12863,7 +13364,7 @@ "isPure": false, "lValueRequested": true, "member_name": "state", - "referencedDeclaration": 326, + "referencedDeclaration": 383, "type": "string memory" }, "children": [ @@ -12873,18 +13374,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1175, + "id": 1266, "name": "Identifier", - "src": "9033:2:3" + "src": "9473:2:4" } ], - "id": 1177, + "id": 1268, "name": "MemberAccess", - "src": "9033:8:3" + "src": "9473:8:4" }, { "attributes": { @@ -12892,23 +13393,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 1106, "type": "string memory", "value": "state" }, - "id": 1178, + "id": 1269, "name": "Identifier", - "src": "9044:5:3" + "src": "9484:5:4" } ], - "id": 1179, + "id": 1270, "name": "Assignment", - "src": "9033:16:3" + "src": "9473:16:4" } ], - "id": 1180, + "id": 1271, "name": "ExpressionStatement", - "src": "9033:16:3" + "src": "9473:16:4" }, { "children": [ @@ -12931,7 +13432,7 @@ "isPure": false, "lValueRequested": true, "member_name": "city", - "referencedDeclaration": 328, + "referencedDeclaration": 385, "type": "string memory" }, "children": [ @@ -12941,18 +13442,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1181, + "id": 1272, "name": "Identifier", - "src": "9059:2:3" + "src": "9499:2:4" } ], - "id": 1183, + "id": 1274, "name": "MemberAccess", - "src": "9059:7:3" + "src": "9499:7:4" }, { "attributes": { @@ -12960,23 +13461,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1017, + "referencedDeclaration": 1108, "type": "string memory", "value": "city" }, - "id": 1184, + "id": 1275, "name": "Identifier", - "src": "9069:4:3" + "src": "9509:4:4" } ], - "id": 1185, + "id": 1276, "name": "Assignment", - "src": "9059:14:3" + "src": "9499:14:4" } ], - "id": 1186, + "id": 1277, "name": "ExpressionStatement", - "src": "9059:14:3" + "src": "9499:14:4" }, { "children": [ @@ -12999,7 +13500,7 @@ "isPure": false, "lValueRequested": true, "member_name": "location", - "referencedDeclaration": 330, + "referencedDeclaration": 387, "type": "string memory" }, "children": [ @@ -13009,18 +13510,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1187, + "id": 1278, "name": "Identifier", - "src": "9083:2:3" + "src": "9523:2:4" } ], - "id": 1189, + "id": 1280, "name": "MemberAccess", - "src": "9083:11:3" + "src": "9523:11:4" }, { "attributes": { @@ -13028,23 +13529,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1019, + "referencedDeclaration": 1110, "type": "string memory", "value": "location" }, - "id": 1190, + "id": 1281, "name": "Identifier", - "src": "9097:8:3" + "src": "9537:8:4" } ], - "id": 1191, + "id": 1282, "name": "Assignment", - "src": "9083:22:3" + "src": "9523:22:4" } ], - "id": 1192, + "id": 1283, "name": "ExpressionStatement", - "src": "9083:22:3" + "src": "9523:22:4" }, { "children": [ @@ -13067,7 +13568,7 @@ "isPure": false, "lValueRequested": true, "member_name": "zip", - "referencedDeclaration": 332, + "referencedDeclaration": 389, "type": "string memory" }, "children": [ @@ -13077,18 +13578,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1193, + "id": 1284, "name": "Identifier", - "src": "9115:2:3" + "src": "9555:2:4" } ], - "id": 1195, + "id": 1286, "name": "MemberAccess", - "src": "9115:6:3" + "src": "9555:6:4" }, { "attributes": { @@ -13096,23 +13597,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1021, + "referencedDeclaration": 1112, "type": "string memory", "value": "zip" }, - "id": 1196, + "id": 1287, "name": "Identifier", - "src": "9124:3:3" + "src": "9564:3:4" } ], - "id": 1197, + "id": 1288, "name": "Assignment", - "src": "9115:12:3" + "src": "9555:12:4" } ], - "id": 1198, + "id": 1289, "name": "ExpressionStatement", - "src": "9115:12:3" + "src": "9555:12:4" }, { "children": [ @@ -13135,7 +13636,7 @@ "isPure": false, "lValueRequested": true, "member_name": "creationBlock", - "referencedDeclaration": 334, + "referencedDeclaration": 391, "type": "uint256" }, "children": [ @@ -13145,18 +13646,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1199, + "id": 1290, "name": "Identifier", - "src": "9137:2:3" + "src": "9577:2:4" } ], - "id": 1201, + "id": 1292, "name": "MemberAccess", - "src": "9137:16:3" + "src": "9577:16:4" }, { "attributes": { @@ -13176,28 +13677,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1473, + "referencedDeclaration": 1587, "type": "block", "value": "block" }, - "id": 1202, + "id": 1293, "name": "Identifier", - "src": "9156:5:3" + "src": "9596:5:4" } ], - "id": 1203, + "id": 1294, "name": "MemberAccess", - "src": "9156:12:3" + "src": "9596:12:4" } ], - "id": 1204, + "id": 1295, "name": "Assignment", - "src": "9137:31:3" + "src": "9577:31:4" } ], - "id": 1205, + "id": 1296, "name": "ExpressionStatement", - "src": "9137:31:3" + "src": "9577:31:4" }, { "children": [ @@ -13220,7 +13721,7 @@ "isPure": false, "lValueRequested": true, "member_name": "confirmationCodeSha3", - "referencedDeclaration": 338, + "referencedDeclaration": 395, "type": "bytes32" }, "children": [ @@ -13230,18 +13731,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1206, + "id": 1297, "name": "Identifier", - "src": "9178:2:3" + "src": "9618:2:4" } ], - "id": 1208, + "id": 1299, "name": "MemberAccess", - "src": "9178:23:3" + "src": "9618:23:4" }, { "attributes": { @@ -13249,23 +13750,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1025, + "referencedDeclaration": 1116, "type": "bytes32", "value": "confirmationCodeSha3" }, - "id": 1209, + "id": 1300, "name": "Identifier", - "src": "9204:20:3" + "src": "9644:20:4" } ], - "id": 1210, + "id": 1301, "name": "Assignment", - "src": "9178:46:3" + "src": "9618:46:4" } ], - "id": 1211, + "id": 1302, "name": "ExpressionStatement", - "src": "9178:46:3" + "src": "9618:46:4" }, { "children": [ @@ -13288,7 +13789,7 @@ "isPure": false, "lValueRequested": true, "member_name": "keccakIdentifier", - "referencedDeclaration": 336, + "referencedDeclaration": 393, "type": "bytes32" }, "children": [ @@ -13298,18 +13799,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1212, + "id": 1303, "name": "Identifier", - "src": "9234:2:3" + "src": "9674:2:4" } ], - "id": 1214, + "id": 1305, "name": "MemberAccess", - "src": "9234:19:3" + "src": "9674:19:4" }, { "attributes": { @@ -13353,13 +13854,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1475, + "referencedDeclaration": 1589, "type": "function () pure returns (bytes32)", "value": "keccak256" }, - "id": 1215, + "id": 1306, "name": "Identifier", - "src": "9256:9:3" + "src": "9696:9:4" }, { "attributes": { @@ -13367,13 +13868,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1013, + "referencedDeclaration": 1104, "type": "string memory", "value": "country" }, - "id": 1216, + "id": 1307, "name": "Identifier", - "src": "9266:7:3" + "src": "9706:7:4" }, { "attributes": { @@ -13381,13 +13882,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1015, + "referencedDeclaration": 1106, "type": "string memory", "value": "state" }, - "id": 1217, + "id": 1308, "name": "Identifier", - "src": "9275:5:3" + "src": "9715:5:4" }, { "attributes": { @@ -13395,13 +13896,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1017, + "referencedDeclaration": 1108, "type": "string memory", "value": "city" }, - "id": 1218, + "id": 1309, "name": "Identifier", - "src": "9282:4:3" + "src": "9722:4:4" }, { "attributes": { @@ -13409,13 +13910,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1019, + "referencedDeclaration": 1110, "type": "string memory", "value": "location" }, - "id": 1219, + "id": 1310, "name": "Identifier", - "src": "9288:8:3" + "src": "9728:8:4" }, { "attributes": { @@ -13423,28 +13924,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1021, + "referencedDeclaration": 1112, "type": "string memory", "value": "zip" }, - "id": 1220, + "id": 1311, "name": "Identifier", - "src": "9298:3:3" + "src": "9738:3:4" } ], - "id": 1221, + "id": 1312, "name": "FunctionCall", - "src": "9256:46:3" + "src": "9696:46:4" } ], - "id": 1222, + "id": 1313, "name": "Assignment", - "src": "9234:68:3" + "src": "9674:68:4" } ], - "id": 1223, + "id": 1314, "name": "ExpressionStatement", - "src": "9234:68:3" + "src": "9674:68:4" }, { "children": [ @@ -13467,7 +13968,7 @@ "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_struct$_PhysicalAddress_$339_memory_ptr", + "typeIdentifier": "t_struct$_PhysicalAddress_$396_memory_ptr", "typeString": "struct ProofOfPhysicalAddress.PhysicalAddress memory" } ], @@ -13488,7 +13989,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -13508,13 +14009,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1224, + "id": 1315, "name": "Identifier", - "src": "9312:5:3" + "src": "9752:5:4" }, { "attributes": { @@ -13534,33 +14035,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1225, + "id": 1316, "name": "Identifier", - "src": "9318:3:3" + "src": "9758:3:4" } ], - "id": 1226, + "id": 1317, "name": "MemberAccess", - "src": "9318:10:3" + "src": "9758:10:4" } ], - "id": 1227, + "id": 1318, "name": "IndexAccess", - "src": "9312:17:3" + "src": "9752:17:4" } ], - "id": 1228, + "id": 1319, "name": "MemberAccess", - "src": "9312:35:3" + "src": "9752:35:4" } ], - "id": 1229, + "id": 1320, "name": "MemberAccess", - "src": "9312:40:3" + "src": "9752:40:4" }, { "attributes": { @@ -13568,23 +14069,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1161, + "referencedDeclaration": 1252, "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", "value": "pa" }, - "id": 1230, + "id": 1321, "name": "Identifier", - "src": "9353:2:3" + "src": "9793:2:4" } ], - "id": 1231, + "id": 1322, "name": "FunctionCall", - "src": "9312:44:3" + "src": "9752:44:4" } ], - "id": 1232, + "id": 1323, "name": "ExpressionStatement", - "src": "9312:44:3" + "src": "9752:44:4" }, { "children": [ @@ -13605,13 +14106,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 374, + "referencedDeclaration": 431, "type": "uint64", "value": "totalAddresses" }, - "id": 1233, + "id": 1324, "name": "Identifier", - "src": "9367:14:3" + "src": "9807:14:4" }, { "attributes": { @@ -13626,29 +14127,141 @@ "type": "int_const 1", "value": "1" }, - "id": 1234, + "id": 1325, "name": "Literal", - "src": "9385:1:3" + "src": "9825:1:4" } ], - "id": 1235, + "id": 1326, "name": "Assignment", - "src": "9367:19:3" + "src": "9807:19:4" + } + ], + "id": 1327, + "name": "ExpressionStatement", + "src": "9807:19:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 447, + "type": "function (address,bytes32)", + "value": "LogAddressRegistered" + }, + "id": 1328, + "name": "Identifier", + "src": "9837:20:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1595, + "type": "msg", + "value": "msg" + }, + "id": 1329, + "name": "Identifier", + "src": "9858:3:4" + } + ], + "id": 1330, + "name": "MemberAccess", + "src": "9858:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "keccakIdentifier", + "referencedDeclaration": 393, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1252, + "type": "struct ProofOfPhysicalAddress.PhysicalAddress memory", + "value": "pa" + }, + "id": 1331, + "name": "Identifier", + "src": "9870:2:4" + } + ], + "id": 1332, + "name": "MemberAccess", + "src": "9870:19:4" + } + ], + "id": 1333, + "name": "FunctionCall", + "src": "9837:53:4" } ], - "id": 1236, + "id": 1334, "name": "ExpressionStatement", - "src": "9367:19:3" + "src": "9837:53:4" } ], - "id": 1237, + "id": 1335, "name": "Block", - "src": "7953:1440:3" + "src": "8393:1504:4" } ], - "id": 1238, + "id": 1336, "name": "FunctionDefinition", - "src": "7699:1694:3" + "src": "8139:1758:4" }, { "attributes": { @@ -13657,7 +14270,7 @@ "isConstructor": false, "name": "unregisterAddress", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -13669,7 +14282,7 @@ "attributes": { "constant": false, "name": "country", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -13682,20 +14295,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1239, + "id": 1337, "name": "ElementaryTypeName", - "src": "9426:6:3" + "src": "9930:6:4" } ], - "id": 1240, + "id": 1338, "name": "VariableDeclaration", - "src": "9426:14:3" + "src": "9930:14:4" }, { "attributes": { "constant": false, "name": "state", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -13708,20 +14321,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1241, + "id": 1339, "name": "ElementaryTypeName", - "src": "9442:6:3" + "src": "9946:6:4" } ], - "id": 1242, + "id": 1340, "name": "VariableDeclaration", - "src": "9442:12:3" + "src": "9946:12:4" }, { "attributes": { "constant": false, "name": "city", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -13734,20 +14347,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1243, + "id": 1341, "name": "ElementaryTypeName", - "src": "9456:6:3" + "src": "9960:6:4" } ], - "id": 1244, + "id": 1342, "name": "VariableDeclaration", - "src": "9456:11:3" + "src": "9960:11:4" }, { "attributes": { "constant": false, "name": "location", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -13760,20 +14373,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1245, + "id": 1343, "name": "ElementaryTypeName", - "src": "9469:6:3" + "src": "9973:6:4" } ], - "id": 1246, + "id": 1344, "name": "VariableDeclaration", - "src": "9469:15:3" + "src": "9973:15:4" }, { "attributes": { "constant": false, "name": "zip", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -13786,19 +14399,19 @@ "name": "string", "type": "string storage pointer" }, - "id": 1247, + "id": 1345, "name": "ElementaryTypeName", - "src": "9486:6:3" + "src": "9990:6:4" } ], - "id": 1248, + "id": 1346, "name": "VariableDeclaration", - "src": "9486:10:3" + "src": "9990:10:4" } ], - "id": 1249, + "id": 1347, "name": "ParameterList", - "src": "9425:72:3" + "src": "9929:72:4" }, { "attributes": { @@ -13807,9 +14420,9 @@ ] }, "children": [], - "id": 1254, + "id": 1352, "name": "ParameterList", - "src": "9545:0:3" + "src": "10049:0:4" }, { "children": [ @@ -13819,13 +14432,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 1250, + "id": 1348, "name": "Identifier", - "src": "9513:15:3" + "src": "10017:15:4" }, { "attributes": { @@ -13845,23 +14458,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1251, + "id": 1349, "name": "Identifier", - "src": "9529:3:3" + "src": "10033:3:4" } ], - "id": 1252, + "id": 1350, "name": "MemberAccess", - "src": "9529:10:3" + "src": "10033:10:4" } ], - "id": 1253, + "id": 1351, "name": "ModifierInvocation", - "src": "9513:27:3" + "src": "10017:27:4" }, { "children": [ @@ -13877,7 +14490,7 @@ "attributes": { "constant": false, "name": "found", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -13890,19 +14503,19 @@ "name": "bool", "type": "bool" }, - "id": 1255, + "id": 1353, "name": "ElementaryTypeName", - "src": "9555:4:3" + "src": "10059:4:4" } ], - "id": 1256, + "id": 1354, "name": "VariableDeclaration", - "src": "9555:10:3" + "src": "10059:10:4" } ], - "id": 1257, + "id": 1355, "name": "VariableDeclarationStatement", - "src": "9555:10:3" + "src": "10059:10:4" }, { "attributes": { @@ -13916,7 +14529,7 @@ "attributes": { "constant": false, "name": "index", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -13929,19 +14542,19 @@ "name": "uint256", "type": "uint256" }, - "id": 1258, + "id": 1356, "name": "ElementaryTypeName", - "src": "9575:7:3" + "src": "10079:7:4" } ], - "id": 1259, + "id": 1357, "name": "VariableDeclaration", - "src": "9575:13:3" + "src": "10079:13:4" } ], - "id": 1260, + "id": 1358, "name": "VariableDeclarationStatement", - "src": "9575:13:3" + "src": "10079:13:4" }, { "children": [ @@ -13973,13 +14586,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1256, + "referencedDeclaration": 1354, "type": "bool", "value": "found" }, - "id": 1261, + "id": 1359, "name": "Identifier", - "src": "9599:5:3" + "src": "10103:5:4" }, { "attributes": { @@ -13987,18 +14600,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1259, + "referencedDeclaration": 1357, "type": "uint256", "value": "index" }, - "id": 1262, + "id": 1360, "name": "Identifier", - "src": "9606:5:3" + "src": "10110:5:4" } ], - "id": 1263, + "id": 1361, "name": "TupleExpression", - "src": "9598:16:3" + "src": "10102:16:4" }, { "attributes": { @@ -14046,13 +14659,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 766, + "referencedDeclaration": 857, "type": "function (address,string memory,string memory,string memory,string memory,string memory) view returns (bool,uint256,bool)", "value": "userAddressByAddress" }, - "id": 1264, + "id": 1362, "name": "Identifier", - "src": "9617:20:3" + "src": "10121:20:4" }, { "attributes": { @@ -14072,18 +14685,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1265, + "id": 1363, "name": "Identifier", - "src": "9638:3:3" + "src": "10142:3:4" } ], - "id": 1266, + "id": 1364, "name": "MemberAccess", - "src": "9638:10:3" + "src": "10142:10:4" }, { "attributes": { @@ -14091,13 +14704,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1240, + "referencedDeclaration": 1338, "type": "string memory", "value": "country" }, - "id": 1267, + "id": 1365, "name": "Identifier", - "src": "9650:7:3" + "src": "10154:7:4" }, { "attributes": { @@ -14105,13 +14718,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1242, + "referencedDeclaration": 1340, "type": "string memory", "value": "state" }, - "id": 1268, + "id": 1366, "name": "Identifier", - "src": "9659:5:3" + "src": "10163:5:4" }, { "attributes": { @@ -14119,13 +14732,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1244, + "referencedDeclaration": 1342, "type": "string memory", "value": "city" }, - "id": 1269, + "id": 1367, "name": "Identifier", - "src": "9666:4:3" + "src": "10170:4:4" }, { "attributes": { @@ -14133,13 +14746,234 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1246, + "referencedDeclaration": 1344, "type": "string memory", "value": "location" }, - "id": 1270, + "id": 1368, + "name": "Identifier", + "src": "10176:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1346, + "type": "string memory", + "value": "zip" + }, + "id": 1369, "name": "Identifier", - "src": "9672:8:3" + "src": "10186:3:4" + } + ], + "id": 1370, + "name": "FunctionCall", + "src": "10121:69:4" + } + ], + "id": 1371, + "name": "Assignment", + "src": "10102:88:4" + } + ], + "id": 1372, + "name": "ExpressionStatement", + "src": "10102:88:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1598, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1373, + "name": "Identifier", + "src": "10200:7:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1354, + "type": "bool", + "value": "found" + }, + "id": 1374, + "name": "Identifier", + "src": "10208:5:4" + } + ], + "id": 1375, + "name": "FunctionCall", + "src": "10200:14:4" + } + ], + "id": 1376, + "name": "ExpressionStatement", + "src": "10200:14:4" + }, + { + "attributes": { + "assignments": [ + 1378 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "keccakIdentifier", + "scope": 1482, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1377, + "name": "ElementaryTypeName", + "src": "10225:7:4" + } + ], + "id": 1378, + "name": "VariableDeclaration", + "src": "10225:24:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "keccakIdentifier", + "referencedDeclaration": 393, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "physicalAddresses", + "referencedDeclaration": 422, + "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ProofOfPhysicalAddress.User storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 427, + "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", + "value": "users" + }, + "id": 1379, + "name": "Identifier", + "src": "10252:5:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1595, + "type": "msg", + "value": "msg" + }, + "id": 1380, + "name": "Identifier", + "src": "10258:3:4" + } + ], + "id": 1381, + "name": "MemberAccess", + "src": "10258:10:4" + } + ], + "id": 1382, + "name": "IndexAccess", + "src": "10252:17:4" + } + ], + "id": 1383, + "name": "MemberAccess", + "src": "10252:35:4" }, { "attributes": { @@ -14147,88 +14981,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1248, - "type": "string memory", - "value": "zip" + "referencedDeclaration": 1357, + "type": "uint256", + "value": "index" }, - "id": 1271, + "id": 1384, "name": "Identifier", - "src": "9682:3:3" + "src": "10288:5:4" } ], - "id": 1272, - "name": "FunctionCall", - "src": "9617:69:3" - } - ], - "id": 1273, - "name": "Assignment", - "src": "9598:88:3" - } - ], - "id": 1274, - "name": "ExpressionStatement", - "src": "9598:88:3" - }, - { - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "isStructConstructorCall": false, - "lValueRequested": false, - "names": [ - null - ], - "type": "tuple()", - "type_conversion": false - }, - "children": [ - { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - ], - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1484, - "type": "function (bool) pure", - "value": "require" - }, - "id": 1275, - "name": "Identifier", - "src": "9696:7:3" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1256, - "type": "bool", - "value": "found" - }, - "id": 1276, - "name": "Identifier", - "src": "9704:5:3" + "id": 1385, + "name": "IndexAccess", + "src": "10252:42:4" } ], - "id": 1277, - "name": "FunctionCall", - "src": "9696:14:3" + "id": 1386, + "name": "MemberAccess", + "src": "10252:59:4" } ], - "id": 1278, - "name": "ExpressionStatement", - "src": "9696:14:3" + "id": 1387, + "name": "VariableDeclarationStatement", + "src": "10225:86:4" }, { "children": [ @@ -14278,18 +15052,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 320, + "referencedDeclaration": 377, "type": "contract EthereumClaimsRegistryInterface", "value": "registry" }, - "id": 1279, + "id": 1388, "name": "Identifier", - "src": "9721:8:3" + "src": "10321:8:4" } ], - "id": 1281, + "id": 1390, "name": "MemberAccess", - "src": "9721:20:3" + "src": "10321:20:4" }, { "attributes": { @@ -14307,211 +15081,102 @@ }, "children": [ { - "attributes": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1469", - "typeString": "contract ProofOfPhysicalAddress" - } - ], - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "type": "type(address)", - "value": "address" - }, - "id": 1282, - "name": "ElementaryTypeNameExpression", - "src": "9755:7:3" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1498, - "type": "contract ProofOfPhysicalAddress", - "value": "this" - }, - "id": 1283, - "name": "Identifier", - "src": "9763:4:3" - } - ], - "id": 1284, - "name": "FunctionCall", - "src": "9755:13:3" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1481, - "type": "msg", - "value": "msg" - }, - "id": 1285, - "name": "Identifier", - "src": "9782:3:3" - } - ], - "id": 1286, - "name": "MemberAccess", - "src": "9782:10:3" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "member_name": "keccakIdentifier", - "referencedDeclaration": 336, - "type": "bytes32" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "member_name": "physicalAddresses", - "referencedDeclaration": 365, - "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "type": "struct ProofOfPhysicalAddress.User storage ref" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 370, - "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", - "value": "users" - }, - "id": 1287, - "name": "Identifier", - "src": "9806:5:3" - }, - { - "attributes": { - "argumentTypes": null, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "member_name": "sender", - "referencedDeclaration": null, - "type": "address" - }, - "children": [ - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1481, - "type": "msg", - "value": "msg" - }, - "id": 1288, - "name": "Identifier", - "src": "9812:3:3" - } - ], - "id": 1289, - "name": "MemberAccess", - "src": "9812:10:3" - } - ], - "id": 1290, - "name": "IndexAccess", - "src": "9806:17:3" - } - ], - "id": 1291, - "name": "MemberAccess", - "src": "9806:35:3" - }, - { - "attributes": { - "argumentTypes": null, - "overloadedDeclarations": [ - null - ], - "referencedDeclaration": 1259, - "type": "uint256", - "value": "index" - }, - "id": 1292, - "name": "Identifier", - "src": "9842:5:3" - } - ], - "id": 1293, - "name": "IndexAccess", - "src": "9806:42:3" + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ProofOfPhysicalAddress_$1583", + "typeString": "contract ProofOfPhysicalAddress" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1391, + "name": "ElementaryTypeNameExpression", + "src": "10355:7:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1614, + "type": "contract ProofOfPhysicalAddress", + "value": "this" + }, + "id": 1392, + "name": "Identifier", + "src": "10363:4:4" } ], - "id": 1294, + "id": 1393, + "name": "FunctionCall", + "src": "10355:13:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1595, + "type": "msg", + "value": "msg" + }, + "id": 1394, + "name": "Identifier", + "src": "10382:3:4" + } + ], + "id": 1395, "name": "MemberAccess", - "src": "9806:59:3" + "src": "10382:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1378, + "type": "bytes32", + "value": "keccakIdentifier" + }, + "id": 1396, + "name": "Identifier", + "src": "10406:16:4" } ], - "id": 1295, + "id": 1397, "name": "FunctionCall", - "src": "9721:154:3" + "src": "10321:111:4" } ], - "id": 1296, + "id": 1398, "name": "ExpressionStatement", - "src": "9721:154:3" + "src": "10321:111:4" }, { "attributes": { "assignments": [ - 1298 + 1400 ] }, "children": [ @@ -14519,7 +15184,7 @@ "attributes": { "constant": false, "name": "length", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -14532,14 +15197,14 @@ "name": "uint256", "type": "uint256" }, - "id": 1297, + "id": 1399, "name": "ElementaryTypeName", - "src": "9931:7:3" + "src": "10488:7:4" } ], - "id": 1298, + "id": 1400, "name": "VariableDeclaration", - "src": "9931:14:3" + "src": "10488:14:4" }, { "attributes": { @@ -14561,7 +15226,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -14581,13 +15246,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1299, + "id": 1401, "name": "Identifier", - "src": "9948:5:3" + "src": "10505:5:4" }, { "attributes": { @@ -14607,45 +15272,45 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1300, + "id": 1402, "name": "Identifier", - "src": "9954:3:3" + "src": "10511:3:4" } ], - "id": 1301, + "id": 1403, "name": "MemberAccess", - "src": "9954:10:3" + "src": "10511:10:4" } ], - "id": 1302, + "id": 1404, "name": "IndexAccess", - "src": "9948:17:3" + "src": "10505:17:4" } ], - "id": 1303, + "id": 1405, "name": "MemberAccess", - "src": "9948:35:3" + "src": "10505:35:4" } ], - "id": 1304, + "id": 1406, "name": "MemberAccess", - "src": "9948:42:3" + "src": "10505:42:4" } ], - "id": 1305, + "id": 1407, "name": "VariableDeclarationStatement", - "src": "9931:59:3" + "src": "10488:59:4" }, { "children": [ { "attributes": { "assignments": [ - 1307 + 1409 ] }, "children": [ @@ -14653,7 +15318,7 @@ "attributes": { "constant": false, "name": "i", - "scope": 1374, + "scope": 1482, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -14666,14 +15331,14 @@ "name": "uint256", "type": "uint256" }, - "id": 1306, + "id": 1408, "name": "ElementaryTypeName", - "src": "10006:7:3" + "src": "10563:7:4" } ], - "id": 1307, + "id": 1409, "name": "VariableDeclaration", - "src": "10006:9:3" + "src": "10563:9:4" }, { "attributes": { @@ -14681,18 +15346,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1259, + "referencedDeclaration": 1357, "type": "uint256", "value": "index" }, - "id": 1308, + "id": 1410, "name": "Identifier", - "src": "10018:5:3" + "src": "10575:5:4" } ], - "id": 1309, + "id": 1411, "name": "VariableDeclarationStatement", - "src": "10006:17:3" + "src": "10563:17:4" }, { "attributes": { @@ -14715,13 +15380,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1307, + "referencedDeclaration": 1409, "type": "uint256", "value": "i" }, - "id": 1310, + "id": 1412, "name": "Identifier", - "src": "10025:1:3" + "src": "10582:1:4" }, { "attributes": { @@ -14744,13 +15409,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1298, + "referencedDeclaration": 1400, "type": "uint256", "value": "length" }, - "id": 1311, + "id": 1413, "name": "Identifier", - "src": "10029:6:3" + "src": "10586:6:4" }, { "attributes": { @@ -14765,19 +15430,19 @@ "type": "int_const 1", "value": "1" }, - "id": 1312, + "id": 1414, "name": "Literal", - "src": "10038:1:3" + "src": "10595:1:4" } ], - "id": 1313, + "id": 1415, "name": "BinaryOperation", - "src": "10029:10:3" + "src": "10586:10:4" } ], - "id": 1314, + "id": 1416, "name": "BinaryOperation", - "src": "10025:14:3" + "src": "10582:14:4" }, { "children": [ @@ -14799,23 +15464,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1307, + "referencedDeclaration": 1409, "type": "uint256", "value": "i" }, - "id": 1315, + "id": 1417, "name": "Identifier", - "src": "10041:1:3" + "src": "10598:1:4" } ], - "id": 1316, + "id": 1418, "name": "UnaryOperation", - "src": "10041:3:3" + "src": "10598:3:4" } ], - "id": 1317, + "id": 1419, "name": "ExpressionStatement", - "src": "10041:3:3" + "src": "10598:3:4" }, { "children": [ @@ -14850,7 +15515,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -14870,13 +15535,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1318, + "id": 1420, "name": "Identifier", - "src": "10060:5:3" + "src": "10617:5:4" }, { "attributes": { @@ -14896,28 +15561,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1319, + "id": 1421, "name": "Identifier", - "src": "10066:3:3" + "src": "10623:3:4" } ], - "id": 1320, + "id": 1422, "name": "MemberAccess", - "src": "10066:10:3" + "src": "10623:10:4" } ], - "id": 1321, + "id": 1423, "name": "IndexAccess", - "src": "10060:17:3" + "src": "10617:17:4" } ], - "id": 1322, + "id": 1424, "name": "MemberAccess", - "src": "10060:35:3" + "src": "10617:35:4" }, { "attributes": { @@ -14925,18 +15590,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1307, + "referencedDeclaration": 1409, "type": "uint256", "value": "i" }, - "id": 1323, + "id": 1425, "name": "Identifier", - "src": "10096:1:3" + "src": "10653:1:4" } ], - "id": 1324, + "id": 1426, "name": "IndexAccess", - "src": "10060:38:3" + "src": "10617:38:4" }, { "attributes": { @@ -14956,7 +15621,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -14976,13 +15641,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1325, + "id": 1427, "name": "Identifier", - "src": "10101:5:3" + "src": "10658:5:4" }, { "attributes": { @@ -15002,28 +15667,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1326, + "id": 1428, "name": "Identifier", - "src": "10107:3:3" + "src": "10664:3:4" } ], - "id": 1327, + "id": 1429, "name": "MemberAccess", - "src": "10107:10:3" + "src": "10664:10:4" } ], - "id": 1328, + "id": 1430, "name": "IndexAccess", - "src": "10101:17:3" + "src": "10658:17:4" } ], - "id": 1329, + "id": 1431, "name": "MemberAccess", - "src": "10101:35:3" + "src": "10658:35:4" }, { "attributes": { @@ -15046,13 +15711,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1307, + "referencedDeclaration": 1409, "type": "uint256", "value": "i" }, - "id": 1330, + "id": 1432, "name": "Identifier", - "src": "10137:1:3" + "src": "10694:1:4" }, { "attributes": { @@ -15067,39 +15732,39 @@ "type": "int_const 1", "value": "1" }, - "id": 1331, + "id": 1433, "name": "Literal", - "src": "10139:1:3" + "src": "10696:1:4" } ], - "id": 1332, + "id": 1434, "name": "BinaryOperation", - "src": "10137:3:3" + "src": "10694:3:4" } ], - "id": 1333, + "id": 1435, "name": "IndexAccess", - "src": "10101:40:3" + "src": "10658:40:4" } ], - "id": 1334, + "id": 1436, "name": "Assignment", - "src": "10060:81:3" + "src": "10617:81:4" } ], - "id": 1335, + "id": 1437, "name": "ExpressionStatement", - "src": "10060:81:3" + "src": "10617:81:4" } ], - "id": 1336, + "id": 1438, "name": "Block", - "src": "10046:106:3" + "src": "10603:106:4" } ], - "id": 1337, + "id": 1439, "name": "ForStatement", - "src": "10001:151:3" + "src": "10558:151:4" }, { "children": [ @@ -15133,7 +15798,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -15153,13 +15818,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1338, + "id": 1440, "name": "Identifier", - "src": "10169:5:3" + "src": "10726:5:4" }, { "attributes": { @@ -15179,28 +15844,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1339, + "id": 1441, "name": "Identifier", - "src": "10175:3:3" + "src": "10732:3:4" } ], - "id": 1340, + "id": 1442, "name": "MemberAccess", - "src": "10175:10:3" + "src": "10732:10:4" } ], - "id": 1341, + "id": 1443, "name": "IndexAccess", - "src": "10169:17:3" + "src": "10726:17:4" } ], - "id": 1342, + "id": 1444, "name": "MemberAccess", - "src": "10169:35:3" + "src": "10726:35:4" }, { "attributes": { @@ -15223,13 +15888,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1298, + "referencedDeclaration": 1400, "type": "uint256", "value": "length" }, - "id": 1343, + "id": 1445, "name": "Identifier", - "src": "10205:6:3" + "src": "10762:6:4" }, { "attributes": { @@ -15244,29 +15909,29 @@ "type": "int_const 1", "value": "1" }, - "id": 1344, + "id": 1446, "name": "Literal", - "src": "10214:1:3" + "src": "10771:1:4" } ], - "id": 1345, + "id": 1447, "name": "BinaryOperation", - "src": "10205:10:3" + "src": "10762:10:4" } ], - "id": 1346, + "id": 1448, "name": "IndexAccess", - "src": "10169:47:3" + "src": "10726:47:4" } ], - "id": 1347, + "id": 1449, "name": "UnaryOperation", - "src": "10162:54:3" + "src": "10719:54:4" } ], - "id": 1348, + "id": 1450, "name": "ExpressionStatement", - "src": "10162:54:3" + "src": "10719:54:4" }, { "children": [ @@ -15302,7 +15967,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -15322,13 +15987,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1349, + "id": 1451, "name": "Identifier", - "src": "10226:5:3" + "src": "10783:5:4" }, { "attributes": { @@ -15348,43 +16013,43 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1350, + "id": 1452, "name": "Identifier", - "src": "10232:3:3" + "src": "10789:3:4" } ], - "id": 1351, + "id": 1453, "name": "MemberAccess", - "src": "10232:10:3" + "src": "10789:10:4" } ], - "id": 1352, + "id": 1454, "name": "IndexAccess", - "src": "10226:17:3" + "src": "10783:17:4" } ], - "id": 1353, + "id": 1455, "name": "MemberAccess", - "src": "10226:35:3" + "src": "10783:35:4" } ], - "id": 1354, + "id": 1456, "name": "MemberAccess", - "src": "10226:42:3" + "src": "10783:42:4" } ], - "id": 1355, + "id": 1457, "name": "UnaryOperation", - "src": "10226:44:3" + "src": "10783:44:4" } ], - "id": 1356, + "id": 1458, "name": "ExpressionStatement", - "src": "10226:44:3" + "src": "10783:44:4" }, { "attributes": { @@ -15426,7 +16091,7 @@ "isPure": false, "lValueRequested": false, "member_name": "physicalAddresses", - "referencedDeclaration": 365, + "referencedDeclaration": 422, "type": "struct ProofOfPhysicalAddress.PhysicalAddress storage ref[] storage ref" }, "children": [ @@ -15446,13 +16111,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1357, + "id": 1459, "name": "Identifier", - "src": "10285:5:3" + "src": "10842:5:4" }, { "attributes": { @@ -15472,33 +16137,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1358, + "id": 1460, "name": "Identifier", - "src": "10291:3:3" + "src": "10848:3:4" } ], - "id": 1359, + "id": 1461, "name": "MemberAccess", - "src": "10291:10:3" + "src": "10848:10:4" } ], - "id": 1360, + "id": 1462, "name": "IndexAccess", - "src": "10285:17:3" + "src": "10842:17:4" } ], - "id": 1361, + "id": 1463, "name": "MemberAccess", - "src": "10285:35:3" + "src": "10842:35:4" } ], - "id": 1362, + "id": 1464, "name": "MemberAccess", - "src": "10285:42:3" + "src": "10842:42:4" }, { "attributes": { @@ -15513,14 +16178,14 @@ "type": "int_const 0", "value": "0" }, - "id": 1363, + "id": 1465, "name": "Literal", - "src": "10331:1:3" + "src": "10888:1:4" } ], - "id": 1364, + "id": 1466, "name": "BinaryOperation", - "src": "10285:47:3" + "src": "10842:47:4" }, { "children": [ @@ -15554,13 +16219,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 370, + "referencedDeclaration": 427, "type": "mapping(address => struct ProofOfPhysicalAddress.User storage ref)", "value": "users" }, - "id": 1365, + "id": 1467, "name": "Identifier", - "src": "10355:5:3" + "src": "10912:5:4" }, { "attributes": { @@ -15580,53 +16245,148 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1366, + "id": 1468, "name": "Identifier", - "src": "10361:3:3" + "src": "10918:3:4" } ], - "id": 1367, + "id": 1469, "name": "MemberAccess", - "src": "10361:10:3" + "src": "10918:10:4" } ], - "id": 1368, + "id": 1470, "name": "IndexAccess", - "src": "10355:17:3" + "src": "10912:17:4" } ], - "id": 1369, + "id": 1471, "name": "UnaryOperation", - "src": "10348:24:3" + "src": "10905:24:4" } ], - "id": 1370, + "id": 1472, "name": "ExpressionStatement", - "src": "10348:24:3" + "src": "10905:24:4" } ], - "id": 1371, + "id": 1473, "name": "Block", - "src": "10334:49:3" + "src": "10891:49:4" } ], - "id": 1372, + "id": 1474, "name": "IfStatement", - "src": "10281:102:3" + "src": "10838:102:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 453, + "type": "function (address,bytes32)", + "value": "LogAddressUnregistered" + }, + "id": 1475, + "name": "Identifier", + "src": "10950:22:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1595, + "type": "msg", + "value": "msg" + }, + "id": 1476, + "name": "Identifier", + "src": "10973:3:4" + } + ], + "id": 1477, + "name": "MemberAccess", + "src": "10973:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1378, + "type": "bytes32", + "value": "keccakIdentifier" + }, + "id": 1478, + "name": "Identifier", + "src": "10985:16:4" + } + ], + "id": 1479, + "name": "FunctionCall", + "src": "10950:52:4" + } + ], + "id": 1480, + "name": "ExpressionStatement", + "src": "10950:52:4" } ], - "id": 1373, + "id": 1481, "name": "Block", - "src": "9545:844:3" + "src": "10049:960:4" } ], - "id": 1374, + "id": 1482, "name": "FunctionDefinition", - "src": "9399:990:3" + "src": "9903:1106:4" }, { "attributes": { @@ -15635,7 +16395,7 @@ "isConstructor": false, "name": "confirmAddress", "payable": false, - "scope": 1469, + "scope": 1583, "stateMutability": "nonpayable", "superFunction": null, "visibility": "public" @@ -15647,7 +16407,7 @@ "attributes": { "constant": false, "name": "confirmationCodePlain", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "string memory", @@ -15660,20 +16420,20 @@ "name": "string", "type": "string storage pointer" }, - "id": 1375, + "id": 1483, "name": "ElementaryTypeName", - "src": "10419:6:3" + "src": "11039:6:4" } ], - "id": 1376, + "id": 1484, "name": "VariableDeclaration", - "src": "10419:28:3" + "src": "11039:28:4" }, { "attributes": { "constant": false, "name": "sigV", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "uint8", @@ -15686,20 +16446,20 @@ "name": "uint8", "type": "uint8" }, - "id": 1377, + "id": 1485, "name": "ElementaryTypeName", - "src": "10449:5:3" + "src": "11069:5:4" } ], - "id": 1378, + "id": 1486, "name": "VariableDeclaration", - "src": "10449:10:3" + "src": "11069:10:4" }, { "attributes": { "constant": false, "name": "sigR", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -15712,20 +16472,20 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1379, + "id": 1487, "name": "ElementaryTypeName", - "src": "10461:7:3" + "src": "11081:7:4" } ], - "id": 1380, + "id": 1488, "name": "VariableDeclaration", - "src": "10461:12:3" + "src": "11081:12:4" }, { "attributes": { "constant": false, "name": "sigS", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -15738,19 +16498,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1381, + "id": 1489, "name": "ElementaryTypeName", - "src": "10475:7:3" + "src": "11095:7:4" } ], - "id": 1382, + "id": 1490, "name": "VariableDeclaration", - "src": "10475:12:3" + "src": "11095:12:4" } ], - "id": 1383, + "id": 1491, "name": "ParameterList", - "src": "10418:70:3" + "src": "11038:70:4" }, { "attributes": { @@ -15759,9 +16519,9 @@ ] }, "children": [], - "id": 1388, + "id": 1496, "name": "ParameterList", - "src": "10532:0:3" + "src": "11152:0:4" }, { "children": [ @@ -15771,13 +16531,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 399, + "referencedDeclaration": 482, "type": "modifier (address)", "value": "checkUserExists" }, - "id": 1384, + "id": 1492, "name": "Identifier", - "src": "10500:15:3" + "src": "11120:15:4" }, { "attributes": { @@ -15797,23 +16557,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1385, + "id": 1493, "name": "Identifier", - "src": "10516:3:3" + "src": "11136:3:4" } ], - "id": 1386, + "id": 1494, "name": "MemberAccess", - "src": "10516:10:3" + "src": "11136:10:4" } ], - "id": 1387, + "id": 1495, "name": "ModifierInvocation", - "src": "10500:27:3" + "src": "11120:27:4" }, { "children": [ @@ -15845,13 +16605,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1389, + "id": 1497, "name": "Identifier", - "src": "10542:7:3" + "src": "11162:7:4" }, { "attributes": { @@ -15910,9 +16670,9 @@ "type": "type(bytes storage pointer)", "value": "bytes" }, - "id": 1390, + "id": 1498, "name": "ElementaryTypeNameExpression", - "src": "10550:5:3" + "src": "11170:5:4" }, { "attributes": { @@ -15920,23 +16680,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1376, + "referencedDeclaration": 1484, "type": "string memory", "value": "confirmationCodePlain" }, - "id": 1391, + "id": 1499, "name": "Identifier", - "src": "10556:21:3" + "src": "11176:21:4" } ], - "id": 1392, + "id": 1500, "name": "FunctionCall", - "src": "10550:28:3" + "src": "11170:28:4" } ], - "id": 1393, + "id": 1501, "name": "MemberAccess", - "src": "10550:35:3" + "src": "11170:35:4" }, { "attributes": { @@ -15951,29 +16711,29 @@ "type": "int_const 0", "value": "0" }, - "id": 1394, + "id": 1502, "name": "Literal", - "src": "10588:1:3" + "src": "11208:1:4" } ], - "id": 1395, + "id": 1503, "name": "BinaryOperation", - "src": "10550:39:3" + "src": "11170:39:4" } ], - "id": 1396, + "id": 1504, "name": "FunctionCall", - "src": "10542:48:3" + "src": "11162:48:4" } ], - "id": 1397, + "id": 1505, "name": "ExpressionStatement", - "src": "10542:48:3" + "src": "11162:48:4" }, { "attributes": { "assignments": [ - 1399 + 1507 ] }, "children": [ @@ -15981,7 +16741,7 @@ "attributes": { "constant": false, "name": "data", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -15994,14 +16754,14 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1398, + "id": 1506, "name": "ElementaryTypeName", - "src": "10601:7:3" + "src": "11221:7:4" } ], - "id": 1399, + "id": 1507, "name": "VariableDeclaration", - "src": "10601:12:3" + "src": "11221:12:4" }, { "attributes": { @@ -16033,13 +16793,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1475, + "referencedDeclaration": 1589, "type": "function () pure returns (bytes32)", "value": "keccak256" }, - "id": 1400, + "id": 1508, "name": "Identifier", - "src": "10616:9:3" + "src": "11236:9:4" }, { "attributes": { @@ -16059,18 +16819,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1401, + "id": 1509, "name": "Identifier", - "src": "10639:3:3" + "src": "11259:3:4" } ], - "id": 1402, + "id": 1510, "name": "MemberAccess", - "src": "10639:10:3" + "src": "11259:10:4" }, { "attributes": { @@ -16078,23 +16838,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1376, + "referencedDeclaration": 1484, "type": "string memory", "value": "confirmationCodePlain" }, - "id": 1403, + "id": 1511, "name": "Identifier", - "src": "10663:21:3" + "src": "11283:21:4" } ], - "id": 1404, + "id": 1512, "name": "FunctionCall", - "src": "10616:78:3" + "src": "11236:78:4" } ], - "id": 1405, + "id": 1513, "name": "VariableDeclarationStatement", - "src": "10601:93:3" + "src": "11221:93:4" }, { "children": [ @@ -16124,13 +16884,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1406, + "id": 1514, "name": "Identifier", - "src": "10704:7:3" + "src": "11324:7:4" }, { "attributes": { @@ -16170,13 +16930,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 434, + "referencedDeclaration": 517, "type": "function (bytes32,uint8,bytes32,bytes32) view returns (bool)", "value": "signerIsValid" }, - "id": 1407, + "id": 1515, "name": "Identifier", - "src": "10712:13:3" + "src": "11332:13:4" }, { "attributes": { @@ -16184,13 +16944,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1399, + "referencedDeclaration": 1507, "type": "bytes32", "value": "data" }, - "id": 1408, + "id": 1516, "name": "Identifier", - "src": "10726:4:3" + "src": "11346:4:4" }, { "attributes": { @@ -16198,13 +16958,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1378, + "referencedDeclaration": 1486, "type": "uint8", "value": "sigV" }, - "id": 1409, + "id": 1517, "name": "Identifier", - "src": "10732:4:3" + "src": "11352:4:4" }, { "attributes": { @@ -16212,13 +16972,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1380, + "referencedDeclaration": 1488, "type": "bytes32", "value": "sigR" }, - "id": 1410, + "id": 1518, "name": "Identifier", - "src": "10738:4:3" + "src": "11358:4:4" }, { "attributes": { @@ -16226,28 +16986,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1382, + "referencedDeclaration": 1490, "type": "bytes32", "value": "sigS" }, - "id": 1411, + "id": 1519, "name": "Identifier", - "src": "10744:4:3" + "src": "11364:4:4" } ], - "id": 1412, + "id": 1520, "name": "FunctionCall", - "src": "10712:37:3" + "src": "11332:37:4" } ], - "id": 1413, + "id": 1521, "name": "FunctionCall", - "src": "10704:46:3" + "src": "11324:46:4" } ], - "id": 1414, + "id": 1522, "name": "ExpressionStatement", - "src": "10704:46:3" + "src": "11324:46:4" }, { "attributes": { @@ -16261,7 +17021,7 @@ "attributes": { "constant": false, "name": "found", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -16274,19 +17034,19 @@ "name": "bool", "type": "bool" }, - "id": 1415, + "id": 1523, "name": "ElementaryTypeName", - "src": "10761:4:3" + "src": "11381:4:4" } ], - "id": 1416, + "id": 1524, "name": "VariableDeclaration", - "src": "10761:10:3" + "src": "11381:10:4" } ], - "id": 1417, + "id": 1525, "name": "VariableDeclarationStatement", - "src": "10761:10:3" + "src": "11381:10:4" }, { "attributes": { @@ -16300,7 +17060,7 @@ "attributes": { "constant": false, "name": "ai", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "uint256", @@ -16313,19 +17073,19 @@ "name": "uint", "type": "uint256" }, - "id": 1418, + "id": 1526, "name": "ElementaryTypeName", - "src": "10781:4:3" + "src": "11401:4:4" } ], - "id": 1419, + "id": 1527, "name": "VariableDeclaration", - "src": "10781:7:3" + "src": "11401:7:4" } ], - "id": 1420, + "id": 1528, "name": "VariableDeclarationStatement", - "src": "10781:7:3" + "src": "11401:7:4" }, { "attributes": { @@ -16339,7 +17099,7 @@ "attributes": { "constant": false, "name": "confirmed", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "bool", @@ -16352,19 +17112,19 @@ "name": "bool", "type": "bool" }, - "id": 1421, + "id": 1529, "name": "ElementaryTypeName", - "src": "10798:4:3" + "src": "11418:4:4" } ], - "id": 1422, + "id": 1530, "name": "VariableDeclaration", - "src": "10798:14:3" + "src": "11418:14:4" } ], - "id": 1423, + "id": 1531, "name": "VariableDeclarationStatement", - "src": "10798:14:3" + "src": "11418:14:4" }, { "attributes": { @@ -16378,7 +17138,7 @@ "attributes": { "constant": false, "name": "keccakIdentifier", - "scope": 1468, + "scope": 1582, "stateVariable": false, "storageLocation": "default", "type": "bytes32", @@ -16391,19 +17151,19 @@ "name": "bytes32", "type": "bytes32" }, - "id": 1424, + "id": 1532, "name": "ElementaryTypeName", - "src": "10822:7:3" + "src": "11442:7:4" } ], - "id": 1425, + "id": 1533, "name": "VariableDeclaration", - "src": "10822:24:3" + "src": "11442:24:4" } ], - "id": 1426, + "id": 1534, "name": "VariableDeclarationStatement", - "src": "10822:24:3" + "src": "11442:24:4" }, { "children": [ @@ -16435,13 +17195,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1416, + "referencedDeclaration": 1524, "type": "bool", "value": "found" }, - "id": 1427, + "id": 1535, "name": "Identifier", - "src": "10857:5:3" + "src": "11477:5:4" }, { "attributes": { @@ -16449,13 +17209,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1419, + "referencedDeclaration": 1527, "type": "uint256", "value": "ai" }, - "id": 1428, + "id": 1536, "name": "Identifier", - "src": "10864:2:3" + "src": "11484:2:4" }, { "attributes": { @@ -16463,13 +17223,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1422, + "referencedDeclaration": 1530, "type": "bool", "value": "confirmed" }, - "id": 1429, + "id": 1537, "name": "Identifier", - "src": "10868:9:3" + "src": "11488:9:4" }, { "attributes": { @@ -16477,18 +17237,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1425, + "referencedDeclaration": 1533, "type": "bytes32", "value": "keccakIdentifier" }, - "id": 1430, + "id": 1538, "name": "Identifier", - "src": "10879:16:3" + "src": "11499:16:4" } ], - "id": 1431, + "id": 1539, "name": "TupleExpression", - "src": "10856:40:3" + "src": "11476:40:4" }, { "attributes": { @@ -16520,13 +17280,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 691, + "referencedDeclaration": 782, "type": "function (address,bytes32) view returns (bool,uint256,bool,bytes32)", "value": "userAddressByConfirmationCode" }, - "id": 1432, + "id": 1540, "name": "Identifier", - "src": "10899:29:3" + "src": "11519:29:4" }, { "attributes": { @@ -16546,18 +17306,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1433, + "id": 1541, "name": "Identifier", - "src": "10942:3:3" + "src": "11562:3:4" } ], - "id": 1434, + "id": 1542, "name": "MemberAccess", - "src": "10942:10:3" + "src": "11562:10:4" }, { "attributes": { @@ -16585,13 +17345,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1475, + "referencedDeclaration": 1589, "type": "function () pure returns (bytes32)", "value": "keccak256" }, - "id": 1435, + "id": 1543, "name": "Identifier", - "src": "10966:9:3" + "src": "11586:9:4" }, { "attributes": { @@ -16599,33 +17359,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1376, + "referencedDeclaration": 1484, "type": "string memory", "value": "confirmationCodePlain" }, - "id": 1436, + "id": 1544, "name": "Identifier", - "src": "10976:21:3" + "src": "11596:21:4" } ], - "id": 1437, + "id": 1545, "name": "FunctionCall", - "src": "10966:32:3" + "src": "11586:32:4" } ], - "id": 1438, + "id": 1546, "name": "FunctionCall", - "src": "10899:109:3" + "src": "11519:109:4" } ], - "id": 1439, + "id": 1547, "name": "Assignment", - "src": "10856:152:3" + "src": "11476:152:4" } ], - "id": 1440, + "id": 1548, "name": "ExpressionStatement", - "src": "10856:152:3" + "src": "11476:152:4" }, { "children": [ @@ -16655,13 +17415,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1441, + "id": 1549, "name": "Identifier", - "src": "11018:7:3" + "src": "11638:7:4" }, { "attributes": { @@ -16669,23 +17429,23 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1416, + "referencedDeclaration": 1524, "type": "bool", "value": "found" }, - "id": 1442, + "id": 1550, "name": "Identifier", - "src": "11026:5:3" + "src": "11646:5:4" } ], - "id": 1443, + "id": 1551, "name": "FunctionCall", - "src": "11018:14:3" + "src": "11638:14:4" } ], - "id": 1444, + "id": 1552, "name": "ExpressionStatement", - "src": "11018:14:3" + "src": "11638:14:4" }, { "children": [ @@ -16715,13 +17475,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1484, + "referencedDeclaration": 1598, "type": "function (bool) pure", "value": "require" }, - "id": 1445, + "id": 1553, "name": "Identifier", - "src": "11042:7:3" + "src": "11662:7:4" }, { "attributes": { @@ -16741,28 +17501,28 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1422, + "referencedDeclaration": 1530, "type": "bool", "value": "confirmed" }, - "id": 1446, + "id": 1554, "name": "Identifier", - "src": "11051:9:3" + "src": "11671:9:4" } ], - "id": 1447, + "id": 1555, "name": "UnaryOperation", - "src": "11050:10:3" + "src": "11670:10:4" } ], - "id": 1448, + "id": 1556, "name": "FunctionCall", - "src": "11042:19:3" + "src": "11662:19:4" } ], - "id": 1449, + "id": 1557, "name": "ExpressionStatement", - "src": "11042:19:3" + "src": "11662:19:4" }, { "children": [ @@ -16812,18 +17572,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 320, + "referencedDeclaration": 377, "type": "contract EthereumClaimsRegistryInterface", "value": "registry" }, - "id": 1450, + "id": 1558, "name": "Identifier", - "src": "11072:8:3" + "src": "11692:8:4" } ], - "id": 1452, + "id": 1560, "name": "MemberAccess", - "src": "11072:17:3" + "src": "11692:17:4" }, { "attributes": { @@ -16843,18 +17603,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1481, + "referencedDeclaration": 1595, "type": "msg", "value": "msg" }, - "id": 1453, + "id": 1561, "name": "Identifier", - "src": "11090:3:3" + "src": "11710:3:4" } ], - "id": 1454, + "id": 1562, "name": "MemberAccess", - "src": "11090:10:3" + "src": "11710:10:4" }, { "attributes": { @@ -16862,13 +17622,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1425, + "referencedDeclaration": 1533, "type": "bytes32", "value": "keccakIdentifier" }, - "id": 1455, + "id": 1563, "name": "Identifier", - "src": "11102:16:3" + "src": "11722:16:4" }, { "attributes": { @@ -16898,7 +17658,7 @@ "isPure": false, "lValueRequested": false, "member_name": "encode", - "referencedDeclaration": 249, + "referencedDeclaration": 306, "type": "function (uint256) pure returns (bytes32)" }, "children": [ @@ -16908,18 +17668,18 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 310, + "referencedDeclaration": 367, "type": "type(library PhysicalAddressClaim)", "value": "PhysicalAddressClaim" }, - "id": 1456, + "id": 1564, "name": "Identifier", - "src": "11120:20:3" + "src": "11740:20:4" } ], - "id": 1457, + "id": 1565, "name": "MemberAccess", - "src": "11120:27:3" + "src": "11740:27:4" }, { "attributes": { @@ -16939,33 +17699,33 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 1473, + "referencedDeclaration": 1587, "type": "block", "value": "block" }, - "id": 1458, + "id": 1566, "name": "Identifier", - "src": "11148:5:3" + "src": "11768:5:4" } ], - "id": 1459, + "id": 1567, "name": "MemberAccess", - "src": "11148:12:3" + "src": "11768:12:4" } ], - "id": 1460, + "id": 1568, "name": "FunctionCall", - "src": "11120:41:3" + "src": "11740:41:4" } ], - "id": 1461, + "id": 1569, "name": "FunctionCall", - "src": "11072:90:3" + "src": "11692:90:4" } ], - "id": 1462, + "id": 1570, "name": "ExpressionStatement", - "src": "11072:90:3" + "src": "11692:90:4" }, { "children": [ @@ -16986,13 +17746,13 @@ "overloadedDeclarations": [ null ], - "referencedDeclaration": 376, + "referencedDeclaration": 433, "type": "uint64", "value": "totalConfirmed" }, - "id": 1463, + "id": 1571, "name": "Identifier", - "src": "11172:14:3" + "src": "11792:14:4" }, { "attributes": { @@ -17007,39 +17767,134 @@ "type": "int_const 1", "value": "1" }, - "id": 1464, + "id": 1572, "name": "Literal", - "src": "11190:1:3" + "src": "11810:1:4" } ], - "id": 1465, + "id": 1573, "name": "Assignment", - "src": "11172:19:3" + "src": "11792:19:4" + } + ], + "id": 1574, + "name": "ExpressionStatement", + "src": "11792:19:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 459, + "type": "function (address,bytes32)", + "value": "LogAddressConfirmed" + }, + "id": 1575, + "name": "Identifier", + "src": "11822:19:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1595, + "type": "msg", + "value": "msg" + }, + "id": 1576, + "name": "Identifier", + "src": "11842:3:4" + } + ], + "id": 1577, + "name": "MemberAccess", + "src": "11842:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1533, + "type": "bytes32", + "value": "keccakIdentifier" + }, + "id": 1578, + "name": "Identifier", + "src": "11854:16:4" + } + ], + "id": 1579, + "name": "FunctionCall", + "src": "11822:49:4" } ], - "id": 1466, + "id": 1580, "name": "ExpressionStatement", - "src": "11172:19:3" + "src": "11822:49:4" } ], - "id": 1467, + "id": 1581, "name": "Block", - "src": "10532:666:3" + "src": "11152:726:4" } ], - "id": 1468, + "id": 1582, "name": "FunctionDefinition", - "src": "10395:803:3" + "src": "11015:863:4" } ], - "id": 1469, + "id": 1583, "name": "ContractDefinition", - "src": "149:11051:3" + "src": "149:11731:4" } ], - "id": 1470, + "id": 1584, "name": "SourceUnit", - "src": "0:11201:3" + "src": "0:11881:4" }, "compiler": { "name": "solc", @@ -17047,5 +17902,5 @@ }, "networks": {}, "schemaVersion": "1.0.1", - "updatedAt": "2018-05-15T17:08:56.402Z" + "updatedAt": "2018-05-16T14:35:46.842Z" } \ No newline at end of file diff --git a/blockchain/contracts/ProofOfPhysicalAddress.sol b/blockchain/contracts/ProofOfPhysicalAddress.sol index 543f3557..06de9c6b 100644 --- a/blockchain/contracts/ProofOfPhysicalAddress.sol +++ b/blockchain/contracts/ProofOfPhysicalAddress.sol @@ -45,6 +45,14 @@ contract ProofOfPhysicalAddress { uint64 public totalAddresses; uint64 public totalConfirmed; + // Events: + + event LogSignerChanged(address newSigner); + event LogRegistryChanged(address newRegistry); + event LogAddressRegistered(address indexed wallet, bytes32 keccakIdentifier); + event LogAddressUnregistered(address indexed wallet, bytes32 keccakIdentifier); + event LogAddressConfirmed(address indexed wallet, bytes32 keccakIdentifier); + // Modifiers: modifier onlyOwner() { require(msg.sender == owner); @@ -70,10 +78,12 @@ contract ProofOfPhysicalAddress { // and on contract-side to verify them function setSigner(address newSigner) public onlyOwner { signer = newSigner; + LogSignerChanged(newSigner); } function setRegistry(address newRegistry) public onlyOwner { registry = EthereumClaimsRegistryInterface(newRegistry); + LogRegistryChanged(newRegistry); } // withdraw specified amount of eth in wei @@ -150,6 +160,13 @@ contract ProofOfPhysicalAddress { public constant checkUserExists(wallet) returns(bool, uint256, bool) { bytes32 keccakIdentifier = keccak256(country, state, city, location, zip); + return userAddressByKeccakIdentifier(wallet, keccakIdentifier); + } + + // returns (found/not found, index if found/0 if not found, confirmed/not confirmed) + function userAddressByKeccakIdentifier(address wallet, bytes32 keccakIdentifier) + public constant checkUserExists(wallet) returns(bool, uint256, bool) + { for (uint256 ai = 0; ai < users[wallet].physicalAddresses.length; ai++) { if (users[wallet].physicalAddresses[ai].keccakIdentifier == keccakIdentifier) { return (true, ai, userAddressConfirmed(wallet, ai)); @@ -287,6 +304,8 @@ contract ProofOfPhysicalAddress { users[msg.sender].physicalAddresses.push(pa); totalAddresses += 1; + + LogAddressRegistered(msg.sender, pa.keccakIdentifier); } function unregisterAddress(string country, string state, string city, string location, string zip) @@ -297,10 +316,11 @@ contract ProofOfPhysicalAddress { (found, index, ) = userAddressByAddress(msg.sender, country, state, city, location, zip); require(found); + bytes32 keccakIdentifier = users[msg.sender].physicalAddresses[index].keccakIdentifier; registry.removeClaim( address(this), msg.sender, - users[msg.sender].physicalAddresses[index].keccakIdentifier + keccakIdentifier ); // Remove physical address from list @@ -316,6 +336,8 @@ contract ProofOfPhysicalAddress { if (users[msg.sender].physicalAddresses.length == 0) { delete users[msg.sender]; } + + LogAddressUnregistered(msg.sender, keccakIdentifier); } function confirmAddress(string confirmationCodePlain, uint8 sigV, bytes32 sigR, bytes32 sigS) @@ -342,5 +364,7 @@ contract ProofOfPhysicalAddress { registry.setClaim(msg.sender, keccakIdentifier, PhysicalAddressClaim.encode(block.number)); totalConfirmed += 1; + + LogAddressConfirmed(msg.sender, keccakIdentifier); } }