{
    "contractName": "Client",
    "abi": [
        {
            "constant": false,
            "inputs": [],
            "name": "renounceOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "owner",
            "outputs": [
                {
                    "name": "",
                    "type": "address"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [],
            "name": "isOwner",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "transferOwnership",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "manager",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "submanager",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "country",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "managerId",
                    "type": "bytes32"
                }
            ],
            "name": "ManagerAdded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "manager",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "submanager",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "role",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "country",
                    "type": "bytes32"
                }
            ],
            "name": "ManagerRemoved",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": false,
                    "name": "client",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "name": "name",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "accountid",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "country",
                    "type": "bytes32"
                },
                {
                    "indexed": false,
                    "name": "status",
                    "type": "uint256"
                }
            ],
            "name": "UserAdded",
            "type": "event"
        },
        {
            "anonymous": false,
            "inputs": [
                {
                    "indexed": true,
                    "name": "previousOwner",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "name": "newOwner",
                    "type": "address"
                }
            ],
            "name": "OwnershipTransferred",
            "type": "event"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_signer",
                    "type": "address"
                }
            ],
            "name": "initialize",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_signer",
                    "type": "address"
                }
            ],
            "name": "setSigner",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_manager",
                    "type": "address"
                },
                {
                    "name": "_submanager",
                    "type": "address"
                },
                {
                    "name": "_country",
                    "type": "bytes32"
                },
                {
                    "name": "_role",
                    "type": "bytes32"
                },
                {
                    "name": "_id",
                    "type": "bytes32"
                },
                {
                    "name": "_hashedMessage",
                    "type": "bytes32"
                },
                {
                    "name": "_v",
                    "type": "uint8"
                },
                {
                    "name": "_r",
                    "type": "bytes32"
                },
                {
                    "name": "_s",
                    "type": "bytes32"
                }
            ],
            "name": "addRole",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_user",
                    "type": "address"
                }
            ],
            "name": "getRole",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_manager",
                    "type": "address"
                },
                {
                    "name": "_submanager",
                    "type": "address"
                },
                {
                    "name": "_country",
                    "type": "bytes32"
                },
                {
                    "name": "_role",
                    "type": "bytes32"
                },
                {
                    "name": "_hashedMessage",
                    "type": "bytes32"
                },
                {
                    "name": "_v",
                    "type": "uint8"
                },
                {
                    "name": "_r",
                    "type": "bytes32"
                },
                {
                    "name": "_s",
                    "type": "bytes32"
                }
            ],
            "name": "removeRole",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "client",
                    "type": "address"
                },
                {
                    "name": "score",
                    "type": "uint256"
                }
            ],
            "name": "setAmlScore",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_score",
                    "type": "uint256"
                }
            ],
            "name": "setAmlPassScore",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "client",
                    "type": "address"
                }
            ],
            "name": "getAMLStatus",
            "outputs": [
                {
                    "name": "",
                    "type": "bool"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "client",
                    "type": "address"
                },
                {
                    "name": "score",
                    "type": "uint256"
                }
            ],
            "name": "setCreditScore",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "client",
                    "type": "address"
                },
                {
                    "name": "name",
                    "type": "bytes32"
                },
                {
                    "name": "accountid",
                    "type": "bytes32"
                },
                {
                    "name": "country",
                    "type": "bytes32"
                },
                {
                    "name": "contact",
                    "type": "bytes32"
                },
                {
                    "name": "status",
                    "type": "uint256"
                }
            ],
            "name": "KycUpdate",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "client",
                    "type": "address"
                }
            ],
            "name": "getClientKYC",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "uint256"
                },
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "uint256"
                },
                {
                    "name": "",
                    "type": "uint256"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "client",
                    "type": "address"
                },
                {
                    "name": "identity",
                    "type": "string"
                },
                {
                    "name": "videokyc",
                    "type": "string"
                },
                {
                    "name": "docs",
                    "type": "string"
                }
            ],
            "name": "fullKycUpdate",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "client",
                    "type": "address"
                }
            ],
            "name": "getFullClientKYC",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32"
                },
                {
                    "name": "",
                    "type": "string"
                },
                {
                    "name": "",
                    "type": "string"
                },
                {
                    "name": "",
                    "type": "string"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "party",
                    "type": "address"
                }
            ],
            "name": "getTransferAgent",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_country",
                    "type": "bytes32"
                },
                {
                    "name": "_role",
                    "type": "bytes32"
                }
            ],
            "name": "getManagers",
            "outputs": [
                {
                    "name": "",
                    "type": "address[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "_submanager",
                    "type": "address"
                },
                {
                    "name": "_currency",
                    "type": "bytes32"
                },
                {
                    "name": "_accountId",
                    "type": "bytes32"
                }
            ],
            "name": "setCustodyAccount",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "_submanager",
                    "type": "address"
                }
            ],
            "name": "getCustodyAccount",
            "outputs": [
                {
                    "components": [
                        {
                            "name": "currency",
                            "type": "bytes32"
                        },
                        {
                            "name": "account",
                            "type": "bytes32"
                        }
                    ],
                    "name": "",
                    "type": "tuple[]"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        },
        {
            "constant": false,
            "inputs": [
                {
                    "name": "userAddress",
                    "type": "address"
                },
                {
                    "name": "accountId",
                    "type": "bytes32"
                }
            ],
            "name": "setCustody",
            "outputs": [],
            "payable": false,
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "constant": true,
            "inputs": [
                {
                    "name": "userAddress",
                    "type": "address"
                }
            ],
            "name": "getCustody",
            "outputs": [
                {
                    "name": "",
                    "type": "bytes32"
                }
            ],
            "payable": false,
            "stateMutability": "view",
            "type": "function"
        }
    ],
    "metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[{\"name\":\"party\",\"type\":\"address\"}],\"name\":\"getTransferAgent\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"userAddress\",\"type\":\"address\"}],\"name\":\"getCustody\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"client\",\"type\":\"address\"},{\"name\":\"score\",\"type\":\"uint256\"}],\"name\":\"setAmlScore\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_submanager\",\"type\":\"address\"},{\"name\":\"_currency\",\"type\":\"bytes32\"},{\"name\":\"_accountId\",\"type\":\"bytes32\"}],\"name\":\"setCustodyAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"client\",\"type\":\"address\"}],\"name\":\"getAMLStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_country\",\"type\":\"bytes32\"},{\"name\":\"_role\",\"type\":\"bytes32\"}],\"name\":\"getManagers\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRole\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_manager\",\"type\":\"address\"},{\"name\":\"_submanager\",\"type\":\"address\"},{\"name\":\"_country\",\"type\":\"bytes32\"},{\"name\":\"_role\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"bytes32\"},{\"name\":\"_hashedMessage\",\"type\":\"bytes32\"},{\"name\":\"_v\",\"type\":\"uint8\"},{\"name\":\"_r\",\"type\":\"bytes32\"},{\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"addRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"userAddress\",\"type\":\"address\"},{\"name\":\"accountId\",\"type\":\"bytes32\"}],\"name\":\"setCustody\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"setSigner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_manager\",\"type\":\"address\"},{\"name\":\"_submanager\",\"type\":\"address\"},{\"name\":\"_country\",\"type\":\"bytes32\"},{\"name\":\"_role\",\"type\":\"bytes32\"},{\"name\":\"_hashedMessage\",\"type\":\"bytes32\"},{\"name\":\"_v\",\"type\":\"uint8\"},{\"name\":\"_r\",\"type\":\"bytes32\"},{\"name\":\"_s\",\"type\":\"bytes32\"}],\"name\":\"removeRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_submanager\",\"type\":\"address\"}],\"name\":\"getCustodyAccount\",\"outputs\":[{\"components\":[{\"name\":\"currency\",\"type\":\"bytes32\"},{\"name\":\"account\",\"type\":\"bytes32\"}],\"name\":\"\",\"type\":\"tuple[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"client\",\"type\":\"address\"},{\"name\":\"score\",\"type\":\"uint256\"}],\"name\":\"setCreditScore\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"client\",\"type\":\"address\"},{\"name\":\"identity\",\"type\":\"string\"},{\"name\":\"videokyc\",\"type\":\"string\"},{\"name\":\"docs\",\"type\":\"string\"}],\"name\":\"fullKycUpdate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"client\",\"type\":\"address\"}],\"name\":\"getClientKYC\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_signer\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"client\",\"type\":\"address\"},{\"name\":\"name\",\"type\":\"bytes32\"},{\"name\":\"accountid\",\"type\":\"bytes32\"},{\"name\":\"country\",\"type\":\"bytes32\"},{\"name\":\"contact\",\"type\":\"bytes32\"},{\"name\":\"status\",\"type\":\"uint256\"}],\"name\":\"KycUpdate\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_score\",\"type\":\"uint256\"}],\"name\":\"setAmlPassScore\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"client\",\"type\":\"address\"}],\"name\":\"getFullClientKYC\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"manager\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"submanager\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"country\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"managerId\",\"type\":\"bytes32\"}],\"name\":\"ManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"manager\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"submanager\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"country\",\"type\":\"bytes32\"}],\"name\":\"ManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"client\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"name\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"accountid\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"country\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"status\",\"type\":\"uint256\"}],\"name\":\"UserAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"getTransferAgent(address)\":{\"params\":{\"party\":\"reference to the party or counterparty in a trade\\r\"}},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"getTransferAgent(address)\":{\"notice\":\"Gets DP id\\r\"}}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Client.sol\":\"Client\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x3491510fa4862af1a43f6c860d9cf7392240196540cd3c0eea79d374d419c5a1\",\"urls\":[\"bzzr://5cddbf3b74b775a8670757a6b8e108dac17dac20253f35f4c729e9cb6bea4ed3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzzr://b4c855b32d75f2a4969bfbd530b6934b69f12f28584b3746967e1ca64e024bd9\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"project:/contracts/Client.sol\":{\"keccak256\":\"0x702e6c1d83fe3f30ddf613b5f03eaadf2c210c622b3f57d16cacbb8b8510b56c\",\"urls\":[\"bzzr://42efbc5074ce3563222dcb6931a0246b897f5b18014ff0220addc6cc33ea7175\"]},\"project:/contracts/interfaces/VerifiedClient.sol\":{\"keccak256\":\"0x4562b0ed92d6752e2e79e14ec71511dbc019925d1bc549777e8ab9f2abefa4d7\",\"urls\":[\"bzzr://7b6bb4c351bab3f4c983ed339fc371c6f6621b7d52fd8a77cfb7a64b47391d0d\"]}},\"version\":1}",
    "bytecode": "0x6080604052612944806100136000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80638d0cbe91116100c3578063a0f7d4201161007c578063a0f7d420146102bc578063c4d66de8146102e2578063ca6150a4146102f5578063f2fde38b14610308578063f645c56a1461031b578063ffe009aa1461032e5761014d565b80638d0cbe91146102595780638da5cb5b1461026c5780638f32d59b1461028157806394f30db91461028957806397ed81cf1461018e5780639a1da46b146102a95761014d565b80633c6ff32b116101155780633c6ff32b146101d657806344276733146101f657806348566e1d146102185780634a1f16e01461022b5780636c19e7831461023e578063715018a6146102515761014d565b8063055f55401461015257806319d7152c1461017b5780632838c9d51461018e5780632df48b90146101a35780633a291033146101b6575b600080fd5b610165610160366004611ef9565b610351565b6040516101729190612729565b60405180910390f35b610165610189366004611ef9565b610373565b6101a161019c366004612093565b61038e565b005b6101a16101b13660046120cd565b610407565b6101c96101c4366004611ef9565b610562565b604051610172919061271b565b6101e96101e4366004612258565b6105b9565b60405161017291906126f9565b610209610204366004611ef9565b6106f5565b60405161017293929190612737565b6101a1610226366004611f1f565b610893565b6101a1610239366004612093565b610c5d565b6101a161024c366004611ef9565b610cb9565b6101a1610d02565b6101a1610267366004611fe3565b610d73565b6102746111cf565b6040516101729190612639565b6101c96111df565b61029c610297366004611ef9565b611205565b604051610172919061270a565b6101a16102b73660046121a1565b61128e565b6102cf6102ca366004611ef9565b611382565b6040516101729796959493929190612745565b6101a16102f0366004611ef9565b611510565b6101a161030336600461211a565b6115bb565b6101a1610316366004611ef9565b6116e8565b6101a1610329366004612277565b61171b565b61034161033c366004611ef9565b61174d565b60405161017294939291906127ad565b6001600160a01b0381166000908152606c60205260409020600301545b919050565b6001600160a01b031660009081526070602052604090205490565b6066546001600160a01b03163314806103c057506001600160a01b038281166000908152606b60205260409020541633145b6103e857604051600160e51b62461bcd0281526004016103df9061288f565b60405180910390fd5b6001600160a01b03909116600090815260686020526040902060040155565b336001600160a01b0384161461043257604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b0383166000908152606c602052604081206001015415610501576001600160a01b0384166000908152606f6020526040812054905b818110156104fe576001600160a01b0386166000908152606f6020526040902080548691908390811061049d57fe5b90600052602060002090600202016000015414156104f6576001600160a01b0386166000908152606f602052604090208054859190839081106104dc57fe5b906000526020600020906002020160010181905550600192505b60010161046e565b50505b8061055c5761050e611dd6565b5060408051808201825284815260208082018581526001600160a01b0388166000908152606f8352938420805460018181018355918652929094209251600290920290920190815590519101555b50505050565b6001600160a01b038116600090815260686020526040812060040154156105af576067546001600160a01b03831660009081526068602052604090206004015410156105af5760006105b2565b60015b905061036e565b606080606d805490506040519080825280602002602001820160405280156105eb578160200160208202803883390190505b50606d54909150600090815b818110156106e85786606c6000606d848154811061061157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206001015414801561067d575085606c6000606d848154811061065357fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060020154145b156106e057606d818154811061068f57fe5b9060005260206000200160009054906101000a90046001600160a01b03168484815181106106b957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b6001016105f7565b5091925050505b92915050565b6001600160a01b0381166000908152606e602052604081205481908190801561084357846001600160a01b0316606d600183038154811061073257fe5b6000918252602090912001546001600160a01b0316141561084357606c6000606d600184038154811061076157fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060020154606c6000606d60018503815481106107b757fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060030154606c6000606d600186038154811061080d57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020600101549195509350915061088c9050565b61084b6111cf565b6001600160a01b0316856001600160a01b0316141561087f57600160d91b6420b236b4b7026000809350935093505061088c565b6000806000935093509350505b9193909250565b6000846040516020016108a691906127f5565b6040516020818303038152906040528051906020012090506000816040516020016108d19190612619565b6040516020818303038152906040528051906020012090506108f16111cf565b6001600160a01b03166001828787876040516000815260200160405260405161091d9493929190612814565b6020604051602081039080840390855afa15801561093f573d6000803e3d6000fd5b505050602060405103516001600160a01b0316148061096857506066546001600160a01b031633145b61098757604051600160e51b62461bcd0281526004016103df9061288f565b87600160b91b6821bab9ba37b234b0b70214806109ab575087600160f01b61414d02145b806109bd575087600160f41b61044502145b806109d3575087600160d21b6512d650d0535302145b806109e9575087600160d11b6524b9b9bab2b902145b610a0857604051600160e51b62461bcd0281526004016103df9061284f565b610a106111cf565b6001600160a01b03168a6001600160a01b03161415610a4457604051600160e51b62461bcd0281526004016103df9061283f565b606d54600090815b81811015610a93578c6001600160a01b0316606d8281548110610a6b57fe5b6000918252602090912001546001600160a01b03161415610a8b57600192505b600101610a4c565b5081610c4e57606d8c90806001815401808255809150509060018203906000526020600020016000909192909190916101000a8154816001600160a01b0302191690836001600160a01b0316021790555050606d80549050606e60008e6001600160a01b03166001600160a01b03168152602001908152602001600020819055508c606c60008e6001600160a01b03166001600160a01b0316815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a606c60008e6001600160a01b03166001600160a01b031681526020019081526020016000206001018190555089606c60008e6001600160a01b03166001600160a01b031681526020019081526020016000206002018190555088606c60008e6001600160a01b03166001600160a01b031681526020019081526020016000206003018190555089600160d21b6512d650d05353021415610c0657610c068c8c6119d4565b8b6001600160a01b03167fefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc8e8c8e8d604051610c45949392919061266f565b60405180910390a25b50505050505050505050505050565b336001600160a01b0383161480610c7e57506066546001600160a01b031633145b610c9d57604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b03909116600090815260706020526040902055565b610cc16111df565b610ce057604051600160e51b62461bcd0281526004016103df9061286f565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b610d0a6111df565b610d2957604051600160e51b62461bcd0281526004016103df9061286f565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b600084604051602001610d8691906127f5565b604051602081830303815290604052805190602001209050600081604051602001610db19190612619565b604051602081830303815290604052805190602001209050610dd16111cf565b6001600160a01b031660018287878760405160008152602001604052604051610dfd9493929190612814565b6020604051602081039080840390855afa158015610e1f573d6000803e3d6000fd5b505050602060405103516001600160a01b03161480610e4857506066546001600160a01b031633145b610e6757604051600160e51b62461bcd0281526004016103df9061288f565b86600160b91b6821bab9ba37b234b0b7021480610e8b575086600160f01b61414d02145b80610e9d575086600160f41b61044502145b80610eb3575086600160d21b6512d650d0535302145b80610ec9575086600160d11b6524b9b9bab2b902145b610ee857604051600160e51b62461bcd0281526004016103df9061284f565b6001600160a01b0389166000908152606e6020526040902054801561115f57896001600160a01b0316606d6001830381548110610f2157fe5b6000918252602090912001546001600160a01b0316148015610f7d575087606c6000606d6001850381548110610f5357fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060020154145b8015610fc3575088606c6000606d6001850381548110610f9957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060010154145b801561101557508a6001600160a01b0316606c6000606d6001850381548110610fe857fe5b60009182526020808320909101546001600160a01b03908116845290830193909352604090910190205416145b1561115f576000606c6000606d600185038154811061103057fe5b6000918252602080832091909101546001600160a01b039081168452908301939093526040909101812080546001600160a01b03191693909216929092179055606d8054606c918391600019860190811061108757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812060010191909155606d8054606c91839160001986019081106110c957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812060020191909155606d8054606c918391600019860190811061110b57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060030155606d8054600019830190811061114557fe5b600091825260209091200180546001600160a01b03191690555b87600160d21b6512d650d0535302141561117d5761117d8a8a611aa9565b896001600160a01b03167f2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac8c8a8c6040516111ba93929190612647565b60405180910390a25050505050505050505050565b6033546001600160a01b03165b90565b6033546000906001600160a01b03166111f6611b87565b6001600160a01b031614905090565b6001600160a01b0381166000908152606f60209081526040808320805482518185028101850190935280835260609492939192909184015b828210156112835783829060005260206000209060020201604051806040016040529081600082015481526020016001820154815250508152602001906001019061123d565b505050509050919050565b6066546001600160a01b03163314806112c057506001600160a01b038781166000908152606b60205260409020541633145b806112e85750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b61130757604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b038716600090815260696020526040902061132a908787611ded565b506001600160a01b0387166000908152606960205260409020611351906001018585611ded565b506001600160a01b0387166000908152606960205260409020611378906002018383611ded565b5050505050505050565b60008060008060008060006113956111cf565b6001600160a01b0316336001600160a01b031614806113bc5750336001600160a01b038916145b806113e057506001600160a01b038881166000908152606b60205260409020541633145b806114085750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b8061142c5750336000908152606c6020526040902060020154600160f01b61414d02145b806114505750336000908152606c6020526040902060020154600160f41b61044502145b806114785750336000908152606c6020526040902060020154600160d11b6524b9b9bab2b902145b806114a35750336000908152606c6020526040902060020154600160b91b6821bab9ba37b234b0b702145b6114c257604051600160e51b62461bcd0281526004016103df9061285f565b505050506001600160a01b0393909316600090815260686020526040902080546001820154600383015460028401546006850154600586015460049096015494999398509196509450929190565b600054610100900460ff16806115295750611529611b8b565b80611537575060005460ff16155b61155657604051600160e51b62461bcd0281526004016103df9061287f565b600054610100900460ff16158015611581576000805460ff1961ff0019909116610100171660011790555b61158a33611b91565b606680546001600160a01b0319166001600160a01b03841617905580156115b7576000805461ff00191690555b5050565b6066546001600160a01b03163314806115ed57506001600160a01b038681166000908152606b60205260409020541633145b806116155750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b61163457604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b038616600081815260686020908152604080832089815560018082018a905560028201879055600382018990556006909101879055878452606a835290832080549182018155835291200180546001600160a01b03191690911790556116a18684611c66565b7f0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb9586868686856040516116d89594939291906126ad565b60405180910390a1505050505050565b6116f06111df565b61170f57604051600160e51b62461bcd0281526004016103df9061286f565b61171881611d51565b50565b6066546001600160a01b0316331461174857604051600160e51b62461bcd0281526004016103df9061288f565b606755565b6000606080606061175c6111cf565b6001600160a01b0316336001600160a01b031614806117835750336001600160a01b038616145b806117a757506001600160a01b038581166000908152606b60205260409020541633145b806117cf5750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b6117ee57604051600160e51b62461bcd0281526004016103df9061285f565b6001600160a01b03851660009081526068602090815260408083206006015460698352928190208054825160026001808416156101000260001901909316819004601f81018790048702830187019095528482529294918501939285019290918591908301828280156118a25780601f10611877576101008083540402835291602001916118a2565b820191906000526020600020905b81548152906001019060200180831161188557829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959850879450925084019050828280156119305780601f1061190557610100808354040283529160200191611930565b820191906000526020600020905b81548152906001019060200180831161191357829003601f168201915b5050845460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959750869450925084019050828280156119be5780601f10611993576101008083540402835291602001916119be565b820191906000526020600020905b8154815290600101906020018083116119a157829003601f168201915b5050505050905093509350935093509193509193565b6000818152606a6020526040812054905b8181101561055c576000838152606a602052604081208054606b91839185908110611a0c57fe5b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054161415611aa15783606b6000606a60008781526020019081526020016000208481548110611a6057fe5b6000918252602080832091909101546001600160a01b039081168452908301939093526040909101902080546001600160a01b031916929091169190911790555b6001016119e5565b6000818152606a6020526040812054905b8181101561055c57836001600160a01b0316606b6000606a60008781526020019081526020016000208481548110611aee57fe5b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054161415611b7f576000838152606a602052604081208054606b91839185908110611b3e57fe5b6000918252602080832091909101546001600160a01b039081168452908301939093526040909101902080546001600160a01b031916929091169190911790555b600101611aba565b3390565b303b1590565b600054610100900460ff1680611baa5750611baa611b8b565b80611bb8575060005460ff16155b611bd757604051600160e51b62461bcd0281526004016103df9061287f565b600054610100900460ff16158015611c02576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156115b7576000805461ff00191690555050565b606d5460005b8181101561055c5782606c6000606d8481548110611c8657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060010154148015611cfe5750606c6000606d8381548110611cc757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060020154600160d21b6512d650d0535302145b15611d4957606d8181548110611d1057fe5b60009182526020808320909101546001600160a01b038781168452606b909252604090922080546001600160a01b031916919092161790555b600101611c6c565b6001600160a01b038116611d7a57604051600160e51b62461bcd0281526004016103df9061282f565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e2e5782800160ff19823516178555611e5b565b82800160010185558215611e5b579182015b82811115611e5b578235825591602001919060010190611e40565b50611e67929150611e6b565b5090565b6111dc91905b80821115611e675760008155600101611e71565b6000611e9182356128b2565b9392505050565b6000611e9182356111dc565b60008083601f840112611eb657600080fd5b50813567ffffffffffffffff811115611ece57600080fd5b602083019150836001820283011115611ee657600080fd5b9250929050565b6000611e9182356128ce565b600060208284031215611f0b57600080fd5b6000611f178484611e85565b949350505050565b60008060008060008060008060006101208a8c031215611f3e57600080fd5b6000611f4a8c8c611e85565b9950506020611f5b8c828d01611e85565b9850506040611f6c8c828d01611e98565b9750506060611f7d8c828d01611e98565b9650506080611f8e8c828d01611e98565b95505060a0611f9f8c828d01611e98565b94505060c0611fb08c828d01611eed565b93505060e0611fc18c828d01611e98565b925050610100611fd38c828d01611e98565b9150509295985092959850929598565b600080600080600080600080610100898b03121561200057600080fd5b600061200c8b8b611e85565b985050602061201d8b828c01611e85565b975050604061202e8b828c01611e98565b965050606061203f8b828c01611e98565b95505060806120508b828c01611e98565b94505060a06120618b828c01611eed565b93505060c06120728b828c01611e98565b92505060e06120838b828c01611e98565b9150509295985092959890939650565b600080604083850312156120a657600080fd5b60006120b28585611e85565b92505060206120c385828601611e98565b9150509250929050565b6000806000606084860312156120e257600080fd5b60006120ee8686611e85565b93505060206120ff86828701611e98565b925050604061211086828701611e98565b9150509250925092565b60008060008060008060c0878903121561213357600080fd5b600061213f8989611e85565b965050602061215089828a01611e98565b955050604061216189828a01611e98565b945050606061217289828a01611e98565b935050608061218389828a01611e98565b92505060a061219489828a01611e98565b9150509295509295509295565b60008060008060008060006080888a0312156121bc57600080fd5b60006121c88a8a611e85565b975050602088013567ffffffffffffffff8111156121e557600080fd5b6121f18a828b01611ea4565b9650965050604088013567ffffffffffffffff81111561221057600080fd5b61221c8a828b01611ea4565b9450945050606088013567ffffffffffffffff81111561223b57600080fd5b6122478a828b01611ea4565b925092505092959891949750929550565b6000806040838503121561226b57600080fd5b60006120b28585611e98565b60006020828403121561228957600080fd5b6000611f178484611e98565b60006122a183836122bd565b505060200190565b60006122b583836125ec565b505060400190565b6122c6816128b2565b82525050565b60006122d7826128a5565b6122e181856128a9565b93506122ec8361289f565b60005b8281101561231757612302868351612295565b955061230d8261289f565b91506001016122ef565b5093949350505050565b600061232c826128a5565b61233681856128a9565b93506123418361289f565b60005b82811015612317576123578683516122a9565b95506123628261289f565b9150600101612344565b6122c6816128bd565b6122c6816111dc565b6122c661238a826111dc565b6111dc565b600061239a826128a5565b6123a481856128a9565b93506123b48185602086016128d4565b6123bd81612900565b9093019392505050565b60006123d4601c8361036e565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c0192915050565b600061240d6026836128a9565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b60006124586017836128a9565b7f496e636f727265637420726f6c65206164646974696f6e000000000000000000815260200192915050565b60006124916014836128a9565b7f496e76616c6964206d616e616765722074797065000000000000000000000000815260200192915050565b60006124ca6020836128a9565b7f556e617574686f72697a65642061636365737320746f20636865636b204b5943815260200192915050565b60006125036020836128a9565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b600061253c602e836128a9565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b600061259b6006836128a9565b600160d01b654c32746f4c3102815260200192915050565b60006125c06013836128a9565b7f556e617574686f72697a65642061636365737300000000000000000000000000815260200192915050565b805160408301906125fd8482612375565b50602082015161055c6020850182612375565b6122c6816128ce565b6000612624826123c7565b9150612630828461237e565b50602001919050565b602081016106ef82846122bd565b6060810161265582866122bd565b6126626020830185612375565b611f176040830184612375565b6080810161267d82876122bd565b61268a6020830186612375565b6126976040830185612375565b6126a46060830184612375565b95945050505050565b60a081016126bb82886122bd565b6126c86020830187612375565b6126d56040830186612375565b6126e26060830185612375565b6126ef6080830184612375565b9695505050505050565b60208082528101611e9181846122cc565b60208082528101611e918184612321565b602081016106ef828461236c565b602081016106ef8284612375565b606081016126558286612375565b60e08101612753828a612375565b6127606020830189612375565b61276d6040830188612375565b61277a6060830187612375565b6127876080830186612375565b61279460a0830185612375565b6127a160c0830184612375565b98975050505050505050565b608081016127bb8287612375565b81810360208301526127cd818661238f565b905081810360408301526127e1818561238f565b905081810360608301526126ef818461238f565b604081016128038284612375565b8181036020830152611e918161258e565b608081016128228287612375565b61268a6020830186612610565b602080825281016106ef81612400565b602080825281016106ef8161244b565b602080825281016106ef81612484565b602080825281016106ef816124bd565b602080825281016106ef816124f6565b602080825281016106ef8161252f565b602080825281016106ef816125b3565b60200190565b5190565b90815260200190565b60006106ef826128c2565b151590565b6001600160a01b031690565b60ff1690565b60005b838110156128ef5781810151838201526020016128d7565b8381111561055c5750506000910152565b601f01601f19169056fea265627a7a7230582002496ca53ab2a4b302aec8d06e4c0255adb36cfe6fa7bd4bb9534a5dfb86520f6c6578706572696d656e74616cf50037",
    "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061014d5760003560e01c80638d0cbe91116100c3578063a0f7d4201161007c578063a0f7d420146102bc578063c4d66de8146102e2578063ca6150a4146102f5578063f2fde38b14610308578063f645c56a1461031b578063ffe009aa1461032e5761014d565b80638d0cbe91146102595780638da5cb5b1461026c5780638f32d59b1461028157806394f30db91461028957806397ed81cf1461018e5780639a1da46b146102a95761014d565b80633c6ff32b116101155780633c6ff32b146101d657806344276733146101f657806348566e1d146102185780634a1f16e01461022b5780636c19e7831461023e578063715018a6146102515761014d565b8063055f55401461015257806319d7152c1461017b5780632838c9d51461018e5780632df48b90146101a35780633a291033146101b6575b600080fd5b610165610160366004611ef9565b610351565b6040516101729190612729565b60405180910390f35b610165610189366004611ef9565b610373565b6101a161019c366004612093565b61038e565b005b6101a16101b13660046120cd565b610407565b6101c96101c4366004611ef9565b610562565b604051610172919061271b565b6101e96101e4366004612258565b6105b9565b60405161017291906126f9565b610209610204366004611ef9565b6106f5565b60405161017293929190612737565b6101a1610226366004611f1f565b610893565b6101a1610239366004612093565b610c5d565b6101a161024c366004611ef9565b610cb9565b6101a1610d02565b6101a1610267366004611fe3565b610d73565b6102746111cf565b6040516101729190612639565b6101c96111df565b61029c610297366004611ef9565b611205565b604051610172919061270a565b6101a16102b73660046121a1565b61128e565b6102cf6102ca366004611ef9565b611382565b6040516101729796959493929190612745565b6101a16102f0366004611ef9565b611510565b6101a161030336600461211a565b6115bb565b6101a1610316366004611ef9565b6116e8565b6101a1610329366004612277565b61171b565b61034161033c366004611ef9565b61174d565b60405161017294939291906127ad565b6001600160a01b0381166000908152606c60205260409020600301545b919050565b6001600160a01b031660009081526070602052604090205490565b6066546001600160a01b03163314806103c057506001600160a01b038281166000908152606b60205260409020541633145b6103e857604051600160e51b62461bcd0281526004016103df9061288f565b60405180910390fd5b6001600160a01b03909116600090815260686020526040902060040155565b336001600160a01b0384161461043257604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b0383166000908152606c602052604081206001015415610501576001600160a01b0384166000908152606f6020526040812054905b818110156104fe576001600160a01b0386166000908152606f6020526040902080548691908390811061049d57fe5b90600052602060002090600202016000015414156104f6576001600160a01b0386166000908152606f602052604090208054859190839081106104dc57fe5b906000526020600020906002020160010181905550600192505b60010161046e565b50505b8061055c5761050e611dd6565b5060408051808201825284815260208082018581526001600160a01b0388166000908152606f8352938420805460018181018355918652929094209251600290920290920190815590519101555b50505050565b6001600160a01b038116600090815260686020526040812060040154156105af576067546001600160a01b03831660009081526068602052604090206004015410156105af5760006105b2565b60015b905061036e565b606080606d805490506040519080825280602002602001820160405280156105eb578160200160208202803883390190505b50606d54909150600090815b818110156106e85786606c6000606d848154811061061157fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206001015414801561067d575085606c6000606d848154811061065357fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060020154145b156106e057606d818154811061068f57fe5b9060005260206000200160009054906101000a90046001600160a01b03168484815181106106b957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508260010192505b6001016105f7565b5091925050505b92915050565b6001600160a01b0381166000908152606e602052604081205481908190801561084357846001600160a01b0316606d600183038154811061073257fe5b6000918252602090912001546001600160a01b0316141561084357606c6000606d600184038154811061076157fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060020154606c6000606d60018503815481106107b757fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060030154606c6000606d600186038154811061080d57fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020600101549195509350915061088c9050565b61084b6111cf565b6001600160a01b0316856001600160a01b0316141561087f57600160d91b6420b236b4b7026000809350935093505061088c565b6000806000935093509350505b9193909250565b6000846040516020016108a691906127f5565b6040516020818303038152906040528051906020012090506000816040516020016108d19190612619565b6040516020818303038152906040528051906020012090506108f16111cf565b6001600160a01b03166001828787876040516000815260200160405260405161091d9493929190612814565b6020604051602081039080840390855afa15801561093f573d6000803e3d6000fd5b505050602060405103516001600160a01b0316148061096857506066546001600160a01b031633145b61098757604051600160e51b62461bcd0281526004016103df9061288f565b87600160b91b6821bab9ba37b234b0b70214806109ab575087600160f01b61414d02145b806109bd575087600160f41b61044502145b806109d3575087600160d21b6512d650d0535302145b806109e9575087600160d11b6524b9b9bab2b902145b610a0857604051600160e51b62461bcd0281526004016103df9061284f565b610a106111cf565b6001600160a01b03168a6001600160a01b03161415610a4457604051600160e51b62461bcd0281526004016103df9061283f565b606d54600090815b81811015610a93578c6001600160a01b0316606d8281548110610a6b57fe5b6000918252602090912001546001600160a01b03161415610a8b57600192505b600101610a4c565b5081610c4e57606d8c90806001815401808255809150509060018203906000526020600020016000909192909190916101000a8154816001600160a01b0302191690836001600160a01b0316021790555050606d80549050606e60008e6001600160a01b03166001600160a01b03168152602001908152602001600020819055508c606c60008e6001600160a01b03166001600160a01b0316815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a606c60008e6001600160a01b03166001600160a01b031681526020019081526020016000206001018190555089606c60008e6001600160a01b03166001600160a01b031681526020019081526020016000206002018190555088606c60008e6001600160a01b03166001600160a01b031681526020019081526020016000206003018190555089600160d21b6512d650d05353021415610c0657610c068c8c6119d4565b8b6001600160a01b03167fefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc8e8c8e8d604051610c45949392919061266f565b60405180910390a25b50505050505050505050505050565b336001600160a01b0383161480610c7e57506066546001600160a01b031633145b610c9d57604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b03909116600090815260706020526040902055565b610cc16111df565b610ce057604051600160e51b62461bcd0281526004016103df9061286f565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b610d0a6111df565b610d2957604051600160e51b62461bcd0281526004016103df9061286f565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b600084604051602001610d8691906127f5565b604051602081830303815290604052805190602001209050600081604051602001610db19190612619565b604051602081830303815290604052805190602001209050610dd16111cf565b6001600160a01b031660018287878760405160008152602001604052604051610dfd9493929190612814565b6020604051602081039080840390855afa158015610e1f573d6000803e3d6000fd5b505050602060405103516001600160a01b03161480610e4857506066546001600160a01b031633145b610e6757604051600160e51b62461bcd0281526004016103df9061288f565b86600160b91b6821bab9ba37b234b0b7021480610e8b575086600160f01b61414d02145b80610e9d575086600160f41b61044502145b80610eb3575086600160d21b6512d650d0535302145b80610ec9575086600160d11b6524b9b9bab2b902145b610ee857604051600160e51b62461bcd0281526004016103df9061284f565b6001600160a01b0389166000908152606e6020526040902054801561115f57896001600160a01b0316606d6001830381548110610f2157fe5b6000918252602090912001546001600160a01b0316148015610f7d575087606c6000606d6001850381548110610f5357fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060020154145b8015610fc3575088606c6000606d6001850381548110610f9957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060010154145b801561101557508a6001600160a01b0316606c6000606d6001850381548110610fe857fe5b60009182526020808320909101546001600160a01b03908116845290830193909352604090910190205416145b1561115f576000606c6000606d600185038154811061103057fe5b6000918252602080832091909101546001600160a01b039081168452908301939093526040909101812080546001600160a01b03191693909216929092179055606d8054606c918391600019860190811061108757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812060010191909155606d8054606c91839160001986019081106110c957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001812060020191909155606d8054606c918391600019860190811061110b57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060030155606d8054600019830190811061114557fe5b600091825260209091200180546001600160a01b03191690555b87600160d21b6512d650d0535302141561117d5761117d8a8a611aa9565b896001600160a01b03167f2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac8c8a8c6040516111ba93929190612647565b60405180910390a25050505050505050505050565b6033546001600160a01b03165b90565b6033546000906001600160a01b03166111f6611b87565b6001600160a01b031614905090565b6001600160a01b0381166000908152606f60209081526040808320805482518185028101850190935280835260609492939192909184015b828210156112835783829060005260206000209060020201604051806040016040529081600082015481526020016001820154815250508152602001906001019061123d565b505050509050919050565b6066546001600160a01b03163314806112c057506001600160a01b038781166000908152606b60205260409020541633145b806112e85750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b61130757604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b038716600090815260696020526040902061132a908787611ded565b506001600160a01b0387166000908152606960205260409020611351906001018585611ded565b506001600160a01b0387166000908152606960205260409020611378906002018383611ded565b5050505050505050565b60008060008060008060006113956111cf565b6001600160a01b0316336001600160a01b031614806113bc5750336001600160a01b038916145b806113e057506001600160a01b038881166000908152606b60205260409020541633145b806114085750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b8061142c5750336000908152606c6020526040902060020154600160f01b61414d02145b806114505750336000908152606c6020526040902060020154600160f41b61044502145b806114785750336000908152606c6020526040902060020154600160d11b6524b9b9bab2b902145b806114a35750336000908152606c6020526040902060020154600160b91b6821bab9ba37b234b0b702145b6114c257604051600160e51b62461bcd0281526004016103df9061285f565b505050506001600160a01b0393909316600090815260686020526040902080546001820154600383015460028401546006850154600586015460049096015494999398509196509450929190565b600054610100900460ff16806115295750611529611b8b565b80611537575060005460ff16155b61155657604051600160e51b62461bcd0281526004016103df9061287f565b600054610100900460ff16158015611581576000805460ff1961ff0019909116610100171660011790555b61158a33611b91565b606680546001600160a01b0319166001600160a01b03841617905580156115b7576000805461ff00191690555b5050565b6066546001600160a01b03163314806115ed57506001600160a01b038681166000908152606b60205260409020541633145b806116155750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b61163457604051600160e51b62461bcd0281526004016103df9061288f565b6001600160a01b038616600081815260686020908152604080832089815560018082018a905560028201879055600382018990556006909101879055878452606a835290832080549182018155835291200180546001600160a01b03191690911790556116a18684611c66565b7f0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb9586868686856040516116d89594939291906126ad565b60405180910390a1505050505050565b6116f06111df565b61170f57604051600160e51b62461bcd0281526004016103df9061286f565b61171881611d51565b50565b6066546001600160a01b0316331461174857604051600160e51b62461bcd0281526004016103df9061288f565b606755565b6000606080606061175c6111cf565b6001600160a01b0316336001600160a01b031614806117835750336001600160a01b038616145b806117a757506001600160a01b038581166000908152606b60205260409020541633145b806117cf5750336000908152606c6020526040902060020154600160d21b6512d650d0535302145b6117ee57604051600160e51b62461bcd0281526004016103df9061285f565b6001600160a01b03851660009081526068602090815260408083206006015460698352928190208054825160026001808416156101000260001901909316819004601f81018790048702830187019095528482529294918501939285019290918591908301828280156118a25780601f10611877576101008083540402835291602001916118a2565b820191906000526020600020905b81548152906001019060200180831161188557829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959850879450925084019050828280156119305780601f1061190557610100808354040283529160200191611930565b820191906000526020600020905b81548152906001019060200180831161191357829003601f168201915b5050845460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152959750869450925084019050828280156119be5780601f10611993576101008083540402835291602001916119be565b820191906000526020600020905b8154815290600101906020018083116119a157829003601f168201915b5050505050905093509350935093509193509193565b6000818152606a6020526040812054905b8181101561055c576000838152606a602052604081208054606b91839185908110611a0c57fe5b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054161415611aa15783606b6000606a60008781526020019081526020016000208481548110611a6057fe5b6000918252602080832091909101546001600160a01b039081168452908301939093526040909101902080546001600160a01b031916929091169190911790555b6001016119e5565b6000818152606a6020526040812054905b8181101561055c57836001600160a01b0316606b6000606a60008781526020019081526020016000208481548110611aee57fe5b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902054161415611b7f576000838152606a602052604081208054606b91839185908110611b3e57fe5b6000918252602080832091909101546001600160a01b039081168452908301939093526040909101902080546001600160a01b031916929091169190911790555b600101611aba565b3390565b303b1590565b600054610100900460ff1680611baa5750611baa611b8b565b80611bb8575060005460ff16155b611bd757604051600160e51b62461bcd0281526004016103df9061287f565b600054610100900460ff16158015611c02576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156115b7576000805461ff00191690555050565b606d5460005b8181101561055c5782606c6000606d8481548110611c8657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060010154148015611cfe5750606c6000606d8381548110611cc757fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060020154600160d21b6512d650d0535302145b15611d4957606d8181548110611d1057fe5b60009182526020808320909101546001600160a01b038781168452606b909252604090922080546001600160a01b031916919092161790555b600101611c6c565b6001600160a01b038116611d7a57604051600160e51b62461bcd0281526004016103df9061282f565b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e2e5782800160ff19823516178555611e5b565b82800160010185558215611e5b579182015b82811115611e5b578235825591602001919060010190611e40565b50611e67929150611e6b565b5090565b6111dc91905b80821115611e675760008155600101611e71565b6000611e9182356128b2565b9392505050565b6000611e9182356111dc565b60008083601f840112611eb657600080fd5b50813567ffffffffffffffff811115611ece57600080fd5b602083019150836001820283011115611ee657600080fd5b9250929050565b6000611e9182356128ce565b600060208284031215611f0b57600080fd5b6000611f178484611e85565b949350505050565b60008060008060008060008060006101208a8c031215611f3e57600080fd5b6000611f4a8c8c611e85565b9950506020611f5b8c828d01611e85565b9850506040611f6c8c828d01611e98565b9750506060611f7d8c828d01611e98565b9650506080611f8e8c828d01611e98565b95505060a0611f9f8c828d01611e98565b94505060c0611fb08c828d01611eed565b93505060e0611fc18c828d01611e98565b925050610100611fd38c828d01611e98565b9150509295985092959850929598565b600080600080600080600080610100898b03121561200057600080fd5b600061200c8b8b611e85565b985050602061201d8b828c01611e85565b975050604061202e8b828c01611e98565b965050606061203f8b828c01611e98565b95505060806120508b828c01611e98565b94505060a06120618b828c01611eed565b93505060c06120728b828c01611e98565b92505060e06120838b828c01611e98565b9150509295985092959890939650565b600080604083850312156120a657600080fd5b60006120b28585611e85565b92505060206120c385828601611e98565b9150509250929050565b6000806000606084860312156120e257600080fd5b60006120ee8686611e85565b93505060206120ff86828701611e98565b925050604061211086828701611e98565b9150509250925092565b60008060008060008060c0878903121561213357600080fd5b600061213f8989611e85565b965050602061215089828a01611e98565b955050604061216189828a01611e98565b945050606061217289828a01611e98565b935050608061218389828a01611e98565b92505060a061219489828a01611e98565b9150509295509295509295565b60008060008060008060006080888a0312156121bc57600080fd5b60006121c88a8a611e85565b975050602088013567ffffffffffffffff8111156121e557600080fd5b6121f18a828b01611ea4565b9650965050604088013567ffffffffffffffff81111561221057600080fd5b61221c8a828b01611ea4565b9450945050606088013567ffffffffffffffff81111561223b57600080fd5b6122478a828b01611ea4565b925092505092959891949750929550565b6000806040838503121561226b57600080fd5b60006120b28585611e98565b60006020828403121561228957600080fd5b6000611f178484611e98565b60006122a183836122bd565b505060200190565b60006122b583836125ec565b505060400190565b6122c6816128b2565b82525050565b60006122d7826128a5565b6122e181856128a9565b93506122ec8361289f565b60005b8281101561231757612302868351612295565b955061230d8261289f565b91506001016122ef565b5093949350505050565b600061232c826128a5565b61233681856128a9565b93506123418361289f565b60005b82811015612317576123578683516122a9565b95506123628261289f565b9150600101612344565b6122c6816128bd565b6122c6816111dc565b6122c661238a826111dc565b6111dc565b600061239a826128a5565b6123a481856128a9565b93506123b48185602086016128d4565b6123bd81612900565b9093019392505050565b60006123d4601c8361036e565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c0192915050565b600061240d6026836128a9565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b60006124586017836128a9565b7f496e636f727265637420726f6c65206164646974696f6e000000000000000000815260200192915050565b60006124916014836128a9565b7f496e76616c6964206d616e616765722074797065000000000000000000000000815260200192915050565b60006124ca6020836128a9565b7f556e617574686f72697a65642061636365737320746f20636865636b204b5943815260200192915050565b60006125036020836128a9565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b600061253c602e836128a9565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b600061259b6006836128a9565b600160d01b654c32746f4c3102815260200192915050565b60006125c06013836128a9565b7f556e617574686f72697a65642061636365737300000000000000000000000000815260200192915050565b805160408301906125fd8482612375565b50602082015161055c6020850182612375565b6122c6816128ce565b6000612624826123c7565b9150612630828461237e565b50602001919050565b602081016106ef82846122bd565b6060810161265582866122bd565b6126626020830185612375565b611f176040830184612375565b6080810161267d82876122bd565b61268a6020830186612375565b6126976040830185612375565b6126a46060830184612375565b95945050505050565b60a081016126bb82886122bd565b6126c86020830187612375565b6126d56040830186612375565b6126e26060830185612375565b6126ef6080830184612375565b9695505050505050565b60208082528101611e9181846122cc565b60208082528101611e918184612321565b602081016106ef828461236c565b602081016106ef8284612375565b606081016126558286612375565b60e08101612753828a612375565b6127606020830189612375565b61276d6040830188612375565b61277a6060830187612375565b6127876080830186612375565b61279460a0830185612375565b6127a160c0830184612375565b98975050505050505050565b608081016127bb8287612375565b81810360208301526127cd818661238f565b905081810360408301526127e1818561238f565b905081810360608301526126ef818461238f565b604081016128038284612375565b8181036020830152611e918161258e565b608081016128228287612375565b61268a6020830186612610565b602080825281016106ef81612400565b602080825281016106ef8161244b565b602080825281016106ef81612484565b602080825281016106ef816124bd565b602080825281016106ef816124f6565b602080825281016106ef8161252f565b602080825281016106ef816125b3565b60200190565b5190565b90815260200190565b60006106ef826128c2565b151590565b6001600160a01b031690565b60ff1690565b60005b838110156128ef5781810151838201526020016128d7565b8381111561055c5750506000910152565b601f01601f19169056fea265627a7a7230582002496ca53ab2a4b302aec8d06e4c0255adb36cfe6fa7bd4bb9534a5dfb86520f6c6578706572696d656e74616cf50037",
    "sourceMap": "364:12356:17:-;;;;;;;;;",
    "deployedSourceMap": "364:12356:17:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;364:12356:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10789:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;12591:124;;;;;;;;;:::i;5749:205::-;;;;;;;;;:::i;:::-;;11397:820;;;;;;;;;:::i;6121:228::-;;;;;;;;;:::i;:::-;;;;;;;;10909:480;;;;;;;;;:::i;:::-;;;;;;;;3759:486;;;;;;;;;:::i;:::-;;;;;;;;;;2348:1403;;;;;;;;;:::i;12369:214::-;;;;;;;;;:::i;2246:90::-;;;;;;;;;:::i;1746:137:3:-;;;:::i;4253:1485:17:-;;;;;;;;;:::i;959:77:3:-;;;:::i;:::-;;;;;;;;1310:92;;;:::i;12225:136:17:-;;;;;;;;;:::i;:::-;;;;;;;;8381:751;;;;;;;;;:::i;7616:757::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;2107:131;;;;;;;;;:::i;6573:1035::-;;;;;;;;;:::i;2032:107:3:-;;;;;;;;;:::i;5962:148:17:-;;;;;;;;;:::i;9140:490::-;;;;;;;;;:::i;:::-;;;;;;;;;;;10789:112;-1:-1:-1;;;;;10878:12:17;;10852:7;10878:12;;;:5;:12;;;;;:15;;;10789:112;;;;:::o;12591:124::-;-1:-1:-1;;;;;12680:27:17;12654:7;12680:27;;;:14;:27;;;;;;;12591:124::o;5749:205::-;5829:6;;-1:-1:-1;;;;;5829:6:17;5837:10;5829:18;;:50;;-1:-1:-1;;;;;;5851:16:17;;;;;;;:8;:16;;;;;;;5869:10;5851:28;5829:50;5821:82;;;;-1:-1:-1;;;;;5821:82:17;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5914:15:17;;;;;;;:7;:15;;;;;:24;;:32;5749:205::o;11397:820::-;11512:10;-1:-1:-1;;;;;11512:23:17;;;11504:55;;;;-1:-1:-1;;;;;11504:55:17;;;;;;;;;-1:-1:-1;;;;;11602:18:17;;11570:10;11602:18;;;:5;:18;;;;;:26;;;:30;11599:353;;-1:-1:-1;;;;;11662:21:17;;11648:11;11662:21;;;:8;:21;;;;;:28;;11705:236;11724:6;11722:1;:8;11705:236;;;-1:-1:-1;;;;;11758:21:17;;;;;;:8;:21;;;;;:24;;11793:9;;11758:21;11780:1;;11758:24;;;;;;;;;;;;;;;;:33;;;:44;11755:171;;;-1:-1:-1;;;;;11826:21:17;;;;;;:8;:21;;;;;:24;;11861:10;;11826:21;11848:1;;11826:24;;;;;;;;;;;;;;;;:32;;:45;;;;11902:4;11894:12;;11755:171;11732:3;;11705:236;;;;11599:353;;11966:5;11962:236;;11987:33;;:::i;:::-;-1:-1:-1;12023:119:17;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12157:21:17;;-1:-1:-1;12157:21:17;;;:8;:21;;;;;27:10:-1;;39:1;23:18;;;45:23;;12157:29:17;;;;;;;;;;;;;;;;;;;;;;;;11962:236;11397:820;;;;:::o;6121:228::-;-1:-1:-1;;;;;6200:15:17;;6181:4;6200:15;;;:7;:15;;;;;:24;;;:27;6197:144;;6277:9;;-1:-1:-1;;;;;6249:15:17;;;;;;:7;:15;;;;;:24;;;:37;;:52;;6296:5;6249:52;;;6289:4;6249:52;6242:59;;;;10909:480;10985:16;11013:19;11049:11;:18;;;;11035:33;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;11035:33:17;-1:-1:-1;11115:11:17;:18;11013:55;;-1:-1:-1;11079:9:17;;;11144:218;11163:6;11161:1;:8;11144:218;;;11224:8;11193:5;:21;11199:11;11211:1;11199:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11199:14:17;11193:21;;;;;;;;;;;;11199:14;11193:29;;:39;:76;;;;;11264:5;11236;:21;11242:11;11254:1;11242:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11242:14:17;11236:21;;;;;;;;;;;;:26;;;:33;11193:76;11190:161;;;11297:11;11309:1;11297:14;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11297:14:17;11289:2;11292:1;11289:5;;;;;;;;;;;;;:22;-1:-1:-1;;;;;11289:22:17;;;-1:-1:-1;;;;;11289:22:17;;;;;11332:1;11334;11332:3;11330:5;;11190:161;11171:3;;11144:218;;;-1:-1:-1;11379:2:17;;-1:-1:-1;;;10909:480:17;;;;;:::o;3759:486::-;-1:-1:-1;;;;;3869:19:17;;3813:7;3869:19;;;:12;:19;;;;;;3813:7;;;;3902:10;;3899:228;;3956:5;-1:-1:-1;;;;;3931:30:17;:11;3952:1;3943:8;:10;3931:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3931:23:17;:30;3928:188;;;3989:5;:30;3995:11;4016:1;4007:8;:10;3995:23;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3995:23:17;-1:-1:-1;;;;;3989:30:17;-1:-1:-1;;;;;3989:30:17;;;;;;;;;;;;:35;;;4026:5;:30;4032:11;4053:1;4044:8;:10;4032:23;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4032:23:17;-1:-1:-1;;;;;4026:30:17;-1:-1:-1;;;;;4026:30:17;;;;;;;;;;;;:33;;;4061:5;:30;4067:11;4088:1;4079:8;:10;4067:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4067:23:17;4061:30;;;;;;;;;;;;4067:23;4061:38;;3981:119;;-1:-1:-1;3981:119:17;-1:-1:-1;4061:38:17;-1:-1:-1;3981:119:17;;-1:-1:-1;3981:119:17;3928:188;4147:7;:5;:7::i;:::-;-1:-1:-1;;;;;4140:14:17;:5;-1:-1:-1;;;;;4140:14:17;;4137:100;;;-1:-1:-1;;;;;4169:22:17;;;;;;;;;;;4137:100;4220:17;;;;;;;;;;3759:486;;;;;;:::o;2348:1403::-;2558:19;2601:14;2590:36;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2590:36:17;;;2580:47;;;;;;2558:69;;2638:19;2723:11;2670:65;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2670:65:17;;;2660:76;;;;;;2638:98;;2792:7;:5;:7::i;:::-;-1:-1:-1;;;;;2755:44:17;:34;2765:11;2778:2;2782;2786;2755:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2755:34:17;;;;;;;;-1:-1:-1;;;;;2755:44:17;;:66;;;-1:-1:-1;2815:6:17;;-1:-1:-1;;;;;2815:6:17;2803:10;:18;2755:66;2747:98;;;;-1:-1:-1;;;;;2747:98:17;;;;;;;;;2864:5;-1:-1:-1;;;;;2864:18:17;:33;;;;2886:5;-1:-1:-1;;;;;2886:11:17;2864:33;:48;;;;2901:5;-1:-1:-1;;;;;2901:11:17;2864:48;:67;;;;2916:5;-1:-1:-1;;;;;2916:15:17;2864:67;:86;;;;2935:5;-1:-1:-1;;;;;2935:15:17;2864:86;2856:119;;;;-1:-1:-1;;;;;2856:119:17;;;;;;;;;3007:7;:5;:7::i;:::-;-1:-1:-1;;;;;2994:20:17;:11;-1:-1:-1;;;;;2994:20:17;;;2986:56;;;;-1:-1:-1;;;;;2986:56:17;;;;;;;;;3096:11;:18;3053:10;;;3125:119;3144:6;3142:1;:8;3125:119;;;3190:11;-1:-1:-1;;;;;3174:27:17;:11;3186:1;3174:14;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3174:14:17;:27;3171:61;;;3228:4;3220:12;;3171:61;3152:3;;3125:119;;;;3258:5;3254:490;;3279:11;3296;3279:29;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;3279:29:17;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3279:29:17;;;;;-1:-1:-1;;;;;3279:29:17;;;;;;;3351:11;:18;;;;3323:12;:25;3336:11;-1:-1:-1;;;;;3323:25:17;-1:-1:-1;;;;;3323:25:17;;;;;;;;;;;;:46;;;;3413:8;3384:5;:18;3390:11;-1:-1:-1;;;;;3384:18:17;-1:-1:-1;;;;;3384:18:17;;;;;;;;;;;;:26;;;:37;;;;;-1:-1:-1;;;;;3384:37:17;;;;;-1:-1:-1;;;;;3384:37:17;;;;;;3465:8;3436:5;:18;3442:11;-1:-1:-1;;;;;3436:18:17;-1:-1:-1;;;;;3436:18:17;;;;;;;;;;;;:26;;:37;;;;3514:5;3488;:18;3494:11;-1:-1:-1;;;;;3488:18:17;-1:-1:-1;;;;;3488:18:17;;;;;;;;;;;;:23;;:31;;;;3558:3;3534:5;:18;3540:11;-1:-1:-1;;;;;3534:18:17;-1:-1:-1;;;;;3534:18:17;;;;;;;;;;;;:21;;:27;;;;3579:5;-1:-1:-1;;;;;3579:15:17;3576:79;;;3613:42;3633:11;3646:8;3613:19;:42::i;:::-;3698:11;-1:-1:-1;;;;;3675:57:17;;3688:8;3711:5;3718:8;3728:3;3675:57;;;;;;;;;;;;;;;;;;3254:490;2348:1403;;;;;;;;;;;;;:::o;12369:214::-;12456:10;-1:-1:-1;;;;;12456:23:17;;;;:45;;-1:-1:-1;12495:6:17;;-1:-1:-1;;;;;12495:6:17;12483:10;:18;12456:45;12448:77;;;;-1:-1:-1;;;;;12448:77:17;;;;;;;;;-1:-1:-1;;;;;12536:27:17;;;;;;;:14;:27;;;;;:39;12369:214::o;2246:90::-;1163:9:3;:7;:9::i;:::-;1155:54;;;;-1:-1:-1;;;;;1155:54:3;;;;;;;;;2312:6:17;:16;;-1:-1:-1;;;;;;2312:16:17;-1:-1:-1;;;;;2312:16:17;;;;;;;;;;2246:90::o;1746:137:3:-;1163:9;:7;:9::i;:::-;1155:54;;;;-1:-1:-1;;;;;1155:54:3;;;;;;;;;1828:6;;1807:40;;1844:1;;-1:-1:-1;;;;;1828:6:3;;1807:40;;1844:1;;1807:40;1857:6;:19;;-1:-1:-1;;;;;;1857:19:3;;;1746:137::o;4253:1485:17:-;4453:19;4496:14;4485:36;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4485:36:17;;;4475:47;;;;;;4453:69;;4533:19;4618:11;4565:65;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;4565:65:17;;;4555:76;;;;;;4533:98;;4687:7;:5;:7::i;:::-;-1:-1:-1;;;;;4650:44:17;:34;4660:11;4673:2;4677;4681;4650:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4650:34:17;;;;;;;;-1:-1:-1;;;;;4650:44:17;;:66;;;-1:-1:-1;4710:6:17;;-1:-1:-1;;;;;4710:6:17;4698:10;:18;4650:66;4642:98;;;;-1:-1:-1;;;;;4642:98:17;;;;;;;;;4759:5;-1:-1:-1;;;;;4759:18:17;:33;;;;4781:5;-1:-1:-1;;;;;4781:11:17;4759:33;:48;;;;4796:5;-1:-1:-1;;;;;4796:11:17;4759:48;:67;;;;4811:5;-1:-1:-1;;;;;4811:15:17;4759:67;:86;;;;4830:5;-1:-1:-1;;;;;4830:15:17;4759:86;4751:119;;;;-1:-1:-1;;;;;4751:119:17;;;;;;;;;-1:-1:-1;;;;;4900:25:17;;4881:16;4900:25;;;:12;:25;;;;;;4939:10;;4936:635;;4994:11;-1:-1:-1;;;;;4969:36:17;:11;4990:1;4981:8;:10;4969:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4969:23:17;:36;:99;;;;;5063:5;5026;:30;5032:11;5053:1;5044:8;:10;5032:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5032:23:17;5026:30;;;;;;;;;;;;:35;;;:42;4969:99;:169;;;;;5130:8;5090:5;:30;5096:11;5117:1;5108:8;:10;5096:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5096:23:17;5090:30;;;;;;;;;;;;5096:23;5090:38;;:48;4969:169;:238;;;;;5199:8;-1:-1:-1;;;;;5159:48:17;:5;:30;5165:11;5186:1;5177:8;:10;5165:23;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5165:23:17;;;5159:30;;;;;;;;;;;;;;;:38;;:48;4969:238;4965:595;;;5296:3;5247:5;:30;5253:11;5274:1;5265:8;:10;5253:23;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5253:23:17;;;5247:30;;;;;;;;;;;;;;;:53;;-1:-1:-1;;;;;;5247:53:17;;;;;;;;;;;5329:11;:23;;5323:5;;5253:23;;-1:-1:-1;;5341:10:17;;;5329:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5329:23:17;5323:30;;;;;;;;;;;;5329:23;5323:38;:43;;;;5395:11;:23;;5389:5;;5329:23;;-1:-1:-1;;5407:10:17;;;5395:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5395:23:17;5389:30;;;;;;;;;;;;:35;;:40;;;;5458:11;:23;;5452:5;;5395:23;;-1:-1:-1;;5470:10:17;;;5458:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5458:23:17;5452:30;;;;;;;;;;;;:33;;:38;5520:11;:23;;-1:-1:-1;;5532:10:17;;;5520:23;;;;;;;;;;;;;;;5513:31;;-1:-1:-1;;;;;;5513:31:17;;;4965:595;5584:5;-1:-1:-1;;;;;5584:15:17;5581:79;;;5614:46;5638:11;5651:8;5614:23;:46::i;:::-;5701:11;-1:-1:-1;;;;;5676:54:17;;5691:8;5714:5;5721:8;5676:54;;;;;;;;;;;;;;;;;4253:1485;;;;;;;;;;;:::o;959:77:3:-;1023:6;;-1:-1:-1;;;;;1023:6:3;959:77;;:::o;1310:92::-;1389:6;;1350:4;;-1:-1:-1;;;;;1389:6:3;1373:12;:10;:12::i;:::-;-1:-1:-1;;;;;1373:22:3;;1366:29;;1310:92;:::o;12225:136:17:-;-1:-1:-1;;;;;12332:21:17;;;;;;:8;:21;;;;;;;;12325:28;;;;;;;;;;;;;;;;;12295:18;;12325:28;;12332:21;;12325:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12225:136;;;:::o;8381:751::-;8840:6;;-1:-1:-1;;;;;8840:6:17;8828:10;:18;;:50;;-1:-1:-1;;;;;;8850:16:17;;;;;;;:8;:16;;;;;;;8868:10;8850:28;8828:50;:86;;;-1:-1:-1;8888:10:17;8882:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;8882:32:17;8828:86;8769:225;;;;-1:-1:-1;;;;;8769:225:17;;;;;;;;;-1:-1:-1;;;;;9005:15:17;;;;;;:7;:15;;;;;:35;;9032:8;;9005:35;:::i;:::-;-1:-1:-1;;;;;;9051:15:17;;;;;;:7;:15;;;;;:35;;:24;;9078:8;;9051:35;:::i;:::-;-1:-1:-1;;;;;;9097:15:17;;;;;;:7;:15;;;;;:27;;:20;;9120:4;;9097:27;:::i;:::-;;8381:751;;;;;;;:::o;7616:757::-;7676:7;7685;7694;7703;7712;7721;7730;7769;:5;:7::i;:::-;-1:-1:-1;;;;;7757:19:17;:10;-1:-1:-1;;;;;7757:19:17;;:41;;;-1:-1:-1;7780:10:17;-1:-1:-1;;;;;7780:18:17;;;7757:41;:73;;;-1:-1:-1;;;;;;7802:16:17;;;;;;;:8;:16;;;;;;;7820:10;7802:28;7757:73;:109;;;-1:-1:-1;7840:10:17;7834:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;7834:32:17;7757:109;:159;;;-1:-1:-1;7894:10:17;7888:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;7888:28:17;7757:159;:191;;;-1:-1:-1;7926:10:17;7920:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;7920:28:17;7757:191;:227;;;-1:-1:-1;7958:10:17;7952:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;7952:32:17;7757:227;:266;;;-1:-1:-1;7994:10:17;7988:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;7988:35:17;7757:266;7749:311;;;;-1:-1:-1;;;;;7749:311:17;;;;;;;;;-1:-1:-1;;;;;;;;;8079:15:17;;;;;;;;:7;:15;;;;;:20;;8119:25;;;;8164:23;;;;8207:25;;;;8252:23;;;;8294:27;;;;8340:24;;;;;8079:20;;8119:25;;-1:-1:-1;8164:23:17;;-1:-1:-1;8207:25:17;-1:-1:-1;8252:23:17;8294:27;8340:24;7616:757::o;2107:131::-;1024:12:7;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:7;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:7;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:7;;;;;1225:18;1213:4;1225:18;;;1170:80;2173:30:17;2192:10;2173:18;:30::i;:::-;2214:6;:16;;-1:-1:-1;;;;;;2214:16:17;-1:-1:-1;;;;;2214:16:17;;;;;1264:55:7;;;;1307:5;1292:20;;-1:-1:-1;;1292:20:7;;;1264:55;2107:131:17;;:::o;6573:1035::-;7042:6;;-1:-1:-1;;;;;7042:6:17;7030:10;:18;;:50;;-1:-1:-1;;;;;;7052:16:17;;;;;;;:8;:16;;;;;;;7070:10;7052:28;7030:50;:86;;;-1:-1:-1;7090:10:17;7084:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;7084:32:17;7030:86;6974:245;;;;-1:-1:-1;;;;;6974:245:17;;;;;;;;;-1:-1:-1;;;;;7230:15:17;;;;;;:7;:15;;;;;;;;:27;;;7268:25;;;;:37;;;7316:25;;;:34;;;7361:23;;;:33;;;7405:23;;;;:33;;;7449:23;;;:14;:23;;;;;27:10:-1;;23:18;;;45:23;;7449:36:17;;;;;;;-1:-1:-1;;;;;;7449:36:17;;;;;;7496:37;7238:6;7387:7;7496:20;:37::i;:::-;7549:51;7559:6;7567:4;7573:9;7584:7;7593:6;7549:51;;;;;;;;;;;;;;;;;;;6573:1035;;;;;;:::o;2032:107:3:-;1163:9;:7;:9::i;:::-;1155:54;;;;-1:-1:-1;;;;;1155:54:3;;;;;;;;;2104:28;2123:8;2104:18;:28::i;:::-;2032:107;:::o;5962:148:17:-;6031:6;;-1:-1:-1;;;;;6031:6:17;6039:10;6031:18;6023:50;;;;-1:-1:-1;;;;;6023:50:17;;;;;;;;;6084:9;:18;5962:148::o;9140:490::-;9204:7;9213:13;9228;9243;9288:7;:5;:7::i;:::-;-1:-1:-1;;;;;9276:19:17;:10;-1:-1:-1;;;;;9276:19:17;;:41;;;-1:-1:-1;9299:10:17;-1:-1:-1;;;;;9299:18:17;;;9276:41;:73;;;-1:-1:-1;;;;;;9321:16:17;;;;;;;:8;:16;;;;;;;9339:10;9321:28;9276:73;:109;;;-1:-1:-1;9359:10:17;9353:17;;;;:5;:17;;;;;:22;;;-1:-1:-1;;;;;9353:32:17;9276:109;9268:154;;;;-1:-1:-1;;;;;9268:154:17;;;;;;;;;-1:-1:-1;;;;;9459:15:17;;;;;;:7;:15;;;;;;;;:23;;;9501:7;:15;;;;;;9433:189;;;;9587:20;9544:24;9433:189;;;;;;-1:-1:-1;;9433:189:17;;;;;;;;;;;;;;;;;;;;;;;;;9501:15;;9544:24;;;;9587:20;;;;9433:189;;9501:15;;9433:189;;;9501:15;9433:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9433:189:17;;;;;;;;;;;;;-1:-1:-1;;9433:189:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9433:189:17;;-1:-1:-1;9433:189:17;-1:-1:-1;9433:189:17;;;-1:-1:-1;9433:189:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9433:189:17;;;;;;;;;;;;;-1:-1:-1;;9433:189:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9433:189:17;;-1:-1:-1;9433:189:17;-1:-1:-1;9433:189:17;;;-1:-1:-1;9433:189:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9140:490;;;;;:::o;10330:332::-;10417:11;10431:24;;;:14;:24;;;;;:31;;10473:182;10492:6;10490:1;:8;10473:182;;;10569:3;10531:24;;;:14;:24;;;;;:27;;10522:8;;10569:3;;10556:1;;10531:27;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10531:27:17;;;10522:37;;;;;;;;;;;;;;;;;:51;10519:124;;;10632:11;10592:8;:37;10601:14;:24;10616:8;10601:24;;;;;;;;;;;10626:1;10601:27;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10601:27:17;;;10592:37;;;;;;;;;;;;;;;:51;;-1:-1:-1;;;;;;10592:51:17;;;;;;;;;;;10519:124;10500:3;;10473:182;;9986:336;10077:11;10091:24;;;:14;:24;;;;;:31;;10133:182;10152:6;10150:1;:8;10133:182;;;10221:11;-1:-1:-1;;;;;10182:50:17;:8;:37;10191:14;:24;10206:8;10191:24;;;;;;;;;;;10216:1;10191:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10191:27:17;;;10182:37;;;;;;;;;;;;;;;;;:50;10179:124;;;10299:3;10260:24;;;:14;:24;;;;;:27;;10251:8;;10299:3;;10285:1;;10260:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10260:27:17;;;10251:37;;;;;;;;;;;;;;;:52;;-1:-1:-1;;;;;;10251:52:17;;;;;;;;;;;10179:124;10160:3;;10133:182;;867:96:0;946:10;867:96;:::o;1409:498:7:-;1820:4;1864:17;1895:7;1409:498;:::o;741:142:3:-;1024:12:7;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:7;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:7;;;;;;;;;1129:19;1152:12;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:7;;;;;1225:18;1213:4;1225:18;;;1170:80;806:6:3;:15;;-1:-1:-1;;;;;;806:15:3;-1:-1:-1;;;;;806:15:3;;;;;;;;;;;836:40;;869:6;;;-1:-1:-1;;836:40:3;;-1:-1:-1;;836:40:3;1268:14:7;1264:55;;;1307:5;1292:20;;-1:-1:-1;;1292:20:7;;;741:142:3;;:::o;9639:339:17:-;9735:11;:18;9721:11;9764:207;9783:6;9781:1;:8;9764:207;;;9844:7;9813:5;:21;9819:11;9831:1;9819:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9819:14:17;9813:21;;;;;;;;;;;;9819:14;9813:29;;:38;:78;;;;;9855:5;:21;9861:11;9873:1;9861:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9861:14:17;9855:21;;;;;;;;;;;;:26;;;-1:-1:-1;;;;;9855:36:17;9813:78;9810:150;;;9930:11;9942:1;9930:14;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9911:16:17;;;;;:8;:16;;;;;;;:33;;-1:-1:-1;;;;;;9911:33:17;9930:14;;;;9911:33;;;9810:150;9791:3;;9764:207;;2240:225:3;-1:-1:-1;;;;;2313:22:3;;2305:73;;;;-1:-1:-1;;;;;2305:73:3;;;;;;;;;2414:6;;2393:38;;-1:-1:-1;;;;;2393:38:3;;;;2414:6;;2393:38;;2414:6;;2393:38;2441:6;:17;;-1:-1:-1;;;;;;2441:17:3;-1:-1:-1;;;;;2441:17:3;;;;;;;;;;2240:225::o;364:12356:17:-;;;;;;;;;;-1:-1:-1;364:12356:17;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;364:12356:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;364:12356:17;;;-1:-1:-1;364:12356:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;5:118:-1;;72:46;110:6;97:20;72:46;;;63:55;57:66;-1:-1;;;57:66;130:118;;197:46;235:6;222:20;197:46;;270:336;;;385:3;378:4;370:6;366:17;362:27;352:2;;403:1;400;393:12;352:2;-1:-1;423:20;;463:18;452:30;;449:2;;;495:1;492;485:12;449:2;529:4;521:6;517:17;505:29;;579:3;572;564:6;560:16;550:8;546:31;543:40;540:2;;;596:1;593;586:12;540:2;345:261;;;;;;739:114;;804:44;840:6;827:20;804:44;;860:241;;964:2;952:9;943:7;939:23;935:32;932:2;;;980:1;977;970:12;932:2;1015:1;1032:53;1077:7;1057:9;1032:53;;;1022:63;926:175;-1:-1;;;;926:175;1108:1243;;;;;;;;;;1346:3;1334:9;1325:7;1321:23;1317:33;1314:2;;;1363:1;1360;1353:12;1314:2;1398:1;1415:53;1460:7;1440:9;1415:53;;;1405:63;;1377:97;1505:2;1523:53;1568:7;1559:6;1548:9;1544:22;1523:53;;;1513:63;;1484:98;1613:2;1631:53;1676:7;1667:6;1656:9;1652:22;1631:53;;;1621:63;;1592:98;1721:2;1739:53;1784:7;1775:6;1764:9;1760:22;1739:53;;;1729:63;;1700:98;1829:3;1848:53;1893:7;1884:6;1873:9;1869:22;1848:53;;;1838:63;;1808:99;1938:3;1957:53;2002:7;1993:6;1982:9;1978:22;1957:53;;;1947:63;;1917:99;2047:3;2066:51;2109:7;2100:6;2089:9;2085:22;2066:51;;;2056:61;;2026:97;2154:3;2173:53;2218:7;2209:6;2198:9;2194:22;2173:53;;;2163:63;;2133:99;2263:3;2282:53;2327:7;2318:6;2307:9;2303:22;2282:53;;;2272:63;;2242:99;1308:1043;;;;;;;;;;;;2358:1117;;;;;;;;;2579:3;2567:9;2558:7;2554:23;2550:33;2547:2;;;2596:1;2593;2586:12;2547:2;2631:1;2648:53;2693:7;2673:9;2648:53;;;2638:63;;2610:97;2738:2;2756:53;2801:7;2792:6;2781:9;2777:22;2756:53;;;2746:63;;2717:98;2846:2;2864:53;2909:7;2900:6;2889:9;2885:22;2864:53;;;2854:63;;2825:98;2954:2;2972:53;3017:7;3008:6;2997:9;2993:22;2972:53;;;2962:63;;2933:98;3062:3;3081:53;3126:7;3117:6;3106:9;3102:22;3081:53;;;3071:63;;3041:99;3171:3;3190:51;3233:7;3224:6;3213:9;3209:22;3190:51;;;3180:61;;3150:97;3278:3;3297:53;3342:7;3333:6;3322:9;3318:22;3297:53;;;3287:63;;3257:99;3387:3;3406:53;3451:7;3442:6;3431:9;3427:22;3406:53;;;3396:63;;3366:99;2541:934;;;;;;;;;;;;3482:366;;;3603:2;3591:9;3582:7;3578:23;3574:32;3571:2;;;3619:1;3616;3609:12;3571:2;3654:1;3671:53;3716:7;3696:9;3671:53;;;3661:63;;3633:97;3761:2;3779:53;3824:7;3815:6;3804:9;3800:22;3779:53;;;3769:63;;3740:98;3565:283;;;;;;3855:491;;;;3993:2;3981:9;3972:7;3968:23;3964:32;3961:2;;;4009:1;4006;3999:12;3961:2;4044:1;4061:53;4106:7;4086:9;4061:53;;;4051:63;;4023:97;4151:2;4169:53;4214:7;4205:6;4194:9;4190:22;4169:53;;;4159:63;;4130:98;4259:2;4277:53;4322:7;4313:6;4302:9;4298:22;4277:53;;;4267:63;;4238:98;3955:391;;;;;;4353:869;;;;;;;4542:3;4530:9;4521:7;4517:23;4513:33;4510:2;;;4559:1;4556;4549:12;4510:2;4594:1;4611:53;4656:7;4636:9;4611:53;;;4601:63;;4573:97;4701:2;4719:53;4764:7;4755:6;4744:9;4740:22;4719:53;;;4709:63;;4680:98;4809:2;4827:53;4872:7;4863:6;4852:9;4848:22;4827:53;;;4817:63;;4788:98;4917:2;4935:53;4980:7;4971:6;4960:9;4956:22;4935:53;;;4925:63;;4896:98;5025:3;5044:53;5089:7;5080:6;5069:9;5065:22;5044:53;;;5034:63;;5004:99;5134:3;5153:53;5198:7;5189:6;5178:9;5174:22;5153:53;;;5143:63;;5113:99;4504:718;;;;;;;;;5229:995;;;;;;;;5444:3;5432:9;5423:7;5419:23;5415:33;5412:2;;;5461:1;5458;5451:12;5412:2;5496:1;5513:53;5558:7;5538:9;5513:53;;;5503:63;;5475:97;5631:2;5620:9;5616:18;5603:32;5655:18;5647:6;5644:30;5641:2;;;5687:1;5684;5677:12;5641:2;5715:65;5772:7;5763:6;5752:9;5748:22;5715:65;;;5705:75;;;;5582:204;5845:2;5834:9;5830:18;5817:32;5869:18;5861:6;5858:30;5855:2;;;5901:1;5898;5891:12;5855:2;5929:65;5986:7;5977:6;5966:9;5962:22;5929:65;;;5919:75;;;;5796:204;6059:2;6048:9;6044:18;6031:32;6083:18;6075:6;6072:30;6069:2;;;6115:1;6112;6105:12;6069:2;6143:65;6200:7;6191:6;6180:9;6176:22;6143:65;;;6133:75;;;;6010:204;5406:818;;;;;;;;;;;6604:366;;;6725:2;6713:9;6704:7;6700:23;6696:32;6693:2;;;6741:1;6738;6731:12;6693:2;6776:1;6793:53;6838:7;6818:9;6793:53;;6977:241;;7081:2;7069:9;7060:7;7056:23;7052:32;7049:2;;;7097:1;7094;7087:12;7049:2;7132:1;7149:53;7194:7;7174:9;7149:53;;7226:173;;7313:46;7355:3;7347:6;7313:46;;;-1:-1;;7388:4;7379:14;;7306:93;7408:269;;7541:96;7633:3;7625:6;7541:96;;;-1:-1;;7666:4;7657:14;;7534:143;7685:110;7758:31;7783:5;7758:31;;;7753:3;7746:44;7740:55;;;7960:621;;8105:54;8153:5;8105:54;;;8172:86;8251:6;8246:3;8172:86;;;8165:93;;8278:56;8328:5;8278:56;;;8355:1;8340:219;8365:6;8362:1;8359:13;8340:219;;;8412:63;8471:3;8462:6;8456:13;8412:63;;;8405:70;;8492:60;8545:6;8492:60;;;8482:70;-1:-1;8387:1;8380:9;8340:219;;;-1:-1;8572:3;;8084:497;-1:-1;;;;8084:497;8668:805;;8859:77;8930:5;8859:77;;;8949:109;9051:6;9046:3;8949:109;;;8942:116;;9078:79;9151:5;9078:79;;;9178:1;9163:288;9188:6;9185:1;9182:13;9163:288;;;9235:109;9340:3;9331:6;9325:13;9235:109;;;9228:116;;9361:83;9437:6;9361:83;;;9351:93;-1:-1;9210:1;9203:9;9163:288;;9481:111;9558:28;9580:5;9558:28;;9599:110;9672:31;9697:5;9672:31;;9843:159;9944:52;9964:31;9989:5;9964:31;;;9944:52;;10009:347;;10121:39;10154:5;10121:39;;;10172:71;10236:6;10231:3;10172:71;;;10165:78;;10248:52;10293:6;10288:3;10281:4;10274:5;10270:16;10248:52;;;10321:29;10343:6;10321:29;;;10312:39;;;;10101:255;-1:-1;;;10101:255;10364:400;;10542:85;10624:2;10619:3;10542:85;;;10660:66;10640:87;;10755:2;10746:12;;10528:236;-1:-1;;10528:236;10773:465;;10933:67;10997:2;10992:3;10933:67;;;11033:66;11013:87;;-1:-1;;;;;11129:2;11120:12;;11113:88;11229:2;11220:12;;10919:319;-1:-1;;10919:319;11247:364;;11407:67;11471:2;11466:3;11407:67;;;11507:66;11487:87;;11602:2;11593:12;;11393:218;-1:-1;;11393:218;11620:364;;11780:67;11844:2;11839:3;11780:67;;;11880:66;11860:87;;11975:2;11966:12;;11766:218;-1:-1;;11766:218;11993:364;;12153:67;12217:2;12212:3;12153:67;;;12253:66;12233:87;;12348:2;12339:12;;12139:218;-1:-1;;12139:218;12366:364;;12526:67;12590:2;12585:3;12526:67;;;12626:66;12606:87;;12721:2;12712:12;;12512:218;-1:-1;;12512:218;12739:465;;12899:67;12963:2;12958:3;12899:67;;;12999:66;12979:87;;13100:66;13095:2;13086:12;;13079:88;13195:2;13186:12;;12885:319;-1:-1;;12885:319;13213:363;;13373:66;13437:1;13432:3;13373:66;;;-1:-1;;;;;13452:87;;13567:2;13558:12;;13359:217;-1:-1;;13359:217;13585:364;;13745:67;13809:2;13804:3;13745:67;;;13845:66;13825:87;;13940:2;13931:12;;13731:218;-1:-1;;13731:218;14030:467;14232:22;;14163:4;14154:14;;;14260:61;14158:3;14232:22;14260:61;;;14183:144;14402:4;14395:5;14391:16;14385:23;14414:62;14470:4;14465:3;14461:14;14448:11;14414:62;;14631:114;14710:29;14733:5;14710:29;;14752:511;;14979:148;15123:3;14979:148;;;14972:155;;15138:75;15209:3;15200:6;15138:75;;;-1:-1;15235:2;15226:12;;14960:303;-1:-1;14960:303;15270:213;15388:2;15373:18;;15402:71;15377:9;15446:6;15402:71;;15490:435;15664:2;15649:18;;15678:71;15653:9;15722:6;15678:71;;;15760:72;15828:2;15817:9;15813:18;15804:6;15760:72;;;15843;15911:2;15900:9;15896:18;15887:6;15843:72;;15932:547;16134:3;16119:19;;16149:71;16123:9;16193:6;16149:71;;;16231:72;16299:2;16288:9;16284:18;16275:6;16231:72;;;16314;16382:2;16371:9;16367:18;16358:6;16314:72;;;16397;16465:2;16454:9;16450:18;16441:6;16397:72;;;16105:374;;;;;;;;16486:659;16716:3;16701:19;;16731:71;16705:9;16775:6;16731:71;;;16813:72;16881:2;16870:9;16866:18;16857:6;16813:72;;;16896;16964:2;16953:9;16949:18;16940:6;16896:72;;;16979;17047:2;17036:9;17032:18;17023:6;16979:72;;;17062:73;17130:3;17119:9;17115:19;17106:6;17062:73;;;16687:458;;;;;;;;;17152:361;17320:2;17334:47;;;17305:18;;17395:108;17305:18;17489:6;17395:108;;17520:453;17734:2;17748:47;;;17719:18;;17809:154;17719:18;17949:6;17809:154;;17980:201;18092:2;18077:18;;18106:65;18081:9;18144:6;18106:65;;18188:213;18306:2;18291:18;;18320:71;18295:9;18364:6;18320:71;;18408:435;18582:2;18567:18;;18596:71;18571:9;18640:6;18596:71;;18850:883;19136:3;19121:19;;19151:71;19125:9;19195:6;19151:71;;;19233:72;19301:2;19290:9;19286:18;19277:6;19233:72;;;19316;19384:2;19373:9;19369:18;19360:6;19316:72;;;19399;19467:2;19456:9;19452:18;19443:6;19399:72;;;19482:73;19550:3;19539:9;19535:19;19526:6;19482:73;;;19566;19634:3;19623:9;19619:19;19610:6;19566:73;;;19650;19718:3;19707:9;19703:19;19694:6;19650:73;;;19107:626;;;;;;;;;;;19740:811;20002:3;19987:19;;20017:71;19991:9;20061:6;20017:71;;;20136:9;20130:4;20126:20;20121:2;20110:9;20106:18;20099:48;20161:78;20234:4;20225:6;20161:78;;;20153:86;;20287:9;20281:4;20277:20;20272:2;20261:9;20257:18;20250:48;20312:78;20385:4;20376:6;20312:78;;;20304:86;;20438:9;20432:4;20428:20;20423:2;20412:9;20408:18;20401:48;20463:78;20536:4;20527:6;20463:78;;20558:518;20777:2;20762:18;;20791:71;20766:9;20835:6;20791:71;;;20910:9;20904:4;20900:20;20895:2;20884:9;20880:18;20873:48;20935:131;21061:4;20935:131;;21083:539;21281:3;21266:19;;21296:71;21270:9;21340:6;21296:71;;;21378:68;21442:2;21431:9;21427:18;21418:6;21378:68;;21629:407;21820:2;21834:47;;;21805:18;;21895:131;21805:18;21895:131;;22043:407;22234:2;22248:47;;;22219:18;;22309:131;22219:18;22309:131;;22457:407;22648:2;22662:47;;;22633:18;;22723:131;22633:18;22723:131;;22871:407;23062:2;23076:47;;;23047:18;;23137:131;23047:18;23137:131;;23285:407;23476:2;23490:47;;;23461:18;;23551:131;23461:18;23551:131;;23699:407;23890:2;23904:47;;;23875:18;;23965:131;23875:18;23965:131;;24113:407;24304:2;24318:47;;;24289:18;;24379:131;24289:18;24379:131;;24529:121;24638:4;24626:17;;24607:43;24814:107;24904:12;;24888:33;25450:178;25568:19;;;25617:4;25608:14;;25561:67;26172:105;;26241:31;26266:5;26241:31;;26284:92;26357:13;26350:21;;26333:43;26469:128;-1:-1;;;;;26538:54;;26521:76;26690:88;26768:4;26757:16;;26740:38;27300:268;27365:1;27372:101;27386:6;27383:1;27380:13;27372:101;;;27453:11;;;27447:18;27434:11;;;27427:39;27408:2;27401:10;27372:101;;;27488:6;27485:1;27482:13;27479:2;;;-1:-1;;27553:1;27535:16;;27528:27;27349:219;27657:97;27745:2;27725:14;-1:-1;;27721:28;;27705:49",
    "source": "// Verified managers\r\n// (c) Kallol Borah, Verified Network, 2021\r\n\r\n//\"SPDX-License-Identifier: UNLICENSED\"\r\n\r\npragma solidity 0.5.7;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./interfaces/VerifiedClient.sol\";\r\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\";\r\n\r\ncontract Client is VerifiedClient, Initializable, Ownable {\r\n    \r\n    //bridge\r\n    address private bridge;\r\n\r\n    struct role{\r\n        address manager;\r\n        bytes32 country;\r\n        bytes32 role;\r\n        bytes32 id;\r\n    }\r\n\r\n    struct user{\r\n        bytes32 name;\r\n        bytes32 accountid;\r\n        uint256 kycstatus; //3 for pass, 1 for pending\r\n        bytes32 country;\r\n        uint256 amlscore;\r\n        uint256 creditScore;\r\n        bytes32 contact;        \r\n    }    \r\n\r\n    struct kyc{\r\n        string identity;\r\n        string videokyc;\r\n        string docs;\r\n    }\r\n\r\n    // AMLA score to pass\r\n    uint256 private passScore;\r\n\r\n    //mapping of client address to user attributes\r\n    mapping(address => user) private clients;\r\n\r\n    mapping(address => kyc) private kycDocs;\r\n\r\n    //storing users for each country\r\n    mapping(bytes32 => address[]) private usersbyCountry;\r\n\r\n    //mapping of client to manager\r\n    mapping(address => address) private managers;\r\n\r\n    //mapping of a manager to its sub managers\r\n    mapping(address=> role) private roles;\r\n\r\n    //storing submanagers\r\n    address[] private submanagers;\r\n\r\n    //submanager index\r\n    mapping(address => uint256) private managerIndex;\r\n\r\n    //custody account for managers\r\n    mapping(address => custodian[]) private accounts;\r\n\r\n    //custody account for users\r\n    mapping(address => bytes32) private custodyAccount;\r\n\r\n    event ManagerAdded(address manager, address indexed submanager, bytes32 role, bytes32 country, bytes32 managerId);\r\n    event ManagerRemoved(address manager, address indexed submanager, bytes32 role, bytes32 country);\r\n    event UserAdded(address client, bytes32 name, bytes32 accountid, bytes32 country, uint status);\r\n\r\n    function initialize(address _signer) public initializer{\r\n        Ownable.initialize(msg.sender);\r\n        bridge = _signer;\r\n    }\r\n\r\n    function setSigner(address _signer) external onlyOwner {\r\n        bridge = _signer;\r\n    }\r\n    \r\n    function addRole(address _manager, address _submanager, bytes32 _country, bytes32 _role, bytes32 _id, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) \r\n                            external {\r\n        bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n        bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n        require(ecrecover(messageHash, _v, _r, _s)== owner() || msg.sender==bridge, \"Unauthorized access\");\r\n        require(_role==\"Custodian\" || _role==\"AM\" || _role==\"DP\" || _role==\"KYCAML\" || _role==\"Issuer\", \"Invalid manager type\");\r\n        require(_submanager!=owner(), \"Incorrect role addition\");\r\n        bool found = false;\r\n        uint length = submanagers.length;\r\n        for(uint256 i=0; i<length; i++){\r\n            if(submanagers[i]==_submanager)\r\n                found = true;\r\n        }\r\n        if(!found){\r\n            submanagers.push(_submanager);\r\n            managerIndex[_submanager] = submanagers.length;\r\n            roles[_submanager].manager = _manager;\r\n            roles[_submanager].country = _country;\r\n            roles[_submanager].role = _role;\r\n            roles[_submanager].id = _id;\r\n            if(_role==\"KYCAML\")\r\n                assignManagerToUser(_submanager, _country);\r\n            emit ManagerAdded(_manager, _submanager, _role, _country, _id);\r\n        }\r\n    }\r\n\r\n    function getRole(address _user) external view returns(bytes32, bytes32, bytes32){\r\n        uint256 position = managerIndex[_user];\r\n        if(position>0){\r\n            if(submanagers[position-1]==_user){\r\n                return (roles[submanagers[position-1]].role, roles[submanagers[position-1]].id, roles[submanagers[position-1]].country);\r\n            }\r\n        }\r\n        if(_user==owner())\r\n            return (\"Admin\",\"\",\"\");\r\n        else\r\n            return (\"\",\"\",\"\");\r\n    }\r\n\r\n    function removeRole(address _manager, address _submanager, bytes32 _country, bytes32 _role, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) \r\n                            external {\r\n        bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n        bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n        require(ecrecover(messageHash, _v, _r, _s)== owner() || msg.sender==bridge, \"Unauthorized access\");\r\n        require(_role==\"Custodian\" || _role==\"AM\" || _role==\"DP\" || _role==\"KYCAML\" || _role==\"Issuer\", \"Invalid manager type\");\r\n        uint256 position = managerIndex[_submanager];\r\n        if(position>0){\r\n            if( submanagers[position-1]==_submanager &&\r\n                roles[submanagers[position-1]].role==_role && \r\n                roles[submanagers[position-1]].country==_country &&\r\n                roles[submanagers[position-1]].manager==_manager){                \r\n                    roles[submanagers[position-1]].manager = address(0x0);\r\n                    roles[submanagers[position-1]].country = \"\";\r\n                    roles[submanagers[position-1]].role = \"\";\r\n                    roles[submanagers[position-1]].id = \"\";\r\n                    delete(submanagers[position-1]);\r\n            }\r\n        }\r\n        if(_role==\"KYCAML\")\r\n            unassignManagerFromUser(_submanager, _country);\r\n        emit ManagerRemoved(_manager, _submanager, _role, _country);\r\n    }   \r\n\r\n    function setAmlScore(address client, uint256 score) external {\r\n        require(bridge==msg.sender || managers[client]==msg.sender, \"Unauthorized access\");\r\n        clients[client].amlscore = score;\r\n    }\r\n\r\n    function setAmlPassScore(uint256 _score) external {\r\n        require(bridge==msg.sender, \"Unauthorized access\");\r\n        passScore = _score;\r\n    }   \r\n\r\n    function getAMLStatus(address client) external view returns(bool){\r\n        if(clients[client].amlscore!=0)\r\n            return clients[client].amlscore >= passScore ? true : false;\r\n        else\r\n            return true;\r\n    }\r\n\r\n    function setCreditScore(address client, uint256 score) external {\r\n        require(bridge==msg.sender || managers[client]==msg.sender, \"Unauthorized access\");\r\n        clients[client].amlscore = score;\r\n    }\r\n\r\n    function KycUpdate(address client, bytes32 name, bytes32 accountid, bytes32 country, bytes32 contact, uint status) external { //, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s) external {\r\n        //bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n        //bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n        require(/*ecrecover(messageHash, _v, _r, _s)== bridge*/ msg.sender==bridge || managers[client]==msg.sender || roles[msg.sender].role==\"KYCAML\" /*|| msg.sender==bridge ||roles[msg.sender].country==clients[client].country*/, \"Unauthorized access\");\r\n        clients[client].name = name;\r\n        clients[client].accountid = accountid;\r\n        clients[client].kycstatus = status;\r\n        clients[client].country = country;\r\n        clients[client].contact = contact;\r\n        usersbyCountry[country].push(client);\r\n        matchManagerToClient(client, country);\r\n        emit UserAdded(client, name, accountid, country, status);\r\n    }\r\n\r\n    function getClientKYC(address client) external view returns(bytes32, bytes32, bytes32, uint256, bytes32, uint256, uint256){\r\n        require(msg.sender==owner() || msg.sender==client || managers[client]==msg.sender || roles[msg.sender].role==\"KYCAML\" \r\n                || roles[msg.sender].role==\"AM\" || roles[msg.sender].role==\"DP\" || roles[msg.sender].role==\"Issuer\" || roles[msg.sender].role==\"Custodian\", \"Unauthorized access to check KYC\");\r\n        return (clients[client].name, \r\n                clients[client].accountid, \r\n                clients[client].country, \r\n                clients[client].kycstatus, \r\n                clients[client].contact,\r\n                clients[client].creditScore,\r\n                clients[client].amlscore);\r\n    }\r\n\r\n    function fullKycUpdate(address client, string calldata identity, string calldata videokyc, string calldata docs/*, bytes32 _hashedMessage, uint8 _v, bytes32 _r, bytes32 _s*/) external {\r\n        //bytes32 payloadHash = keccak256(abi.encode(_hashedMessage, \"L2toL1\"));\r\n        //bytes32 messageHash = keccak256(abi.encodePacked(\"\\x19Ethereum Signed Message:\\n32\", payloadHash));\r\n        require(/*ecrecover(messageHash, _v, _r, _s)== bridge ||*/ msg.sender==bridge || managers[client]==msg.sender || roles[msg.sender].role==\"KYCAML\"/*||roles[msg.sender].country==clients[client].country*/, \"Unauthorized access\");\r\n        kycDocs[client].identity = identity;\r\n        kycDocs[client].videokyc = videokyc;\r\n        kycDocs[client].docs = docs;\r\n    }\r\n\r\n    function getFullClientKYC(address client) external view returns(bytes32, string memory, string memory, string memory){\r\n        require(msg.sender==owner() || msg.sender==client || managers[client]==msg.sender || roles[msg.sender].role==\"KYCAML\", \"Unauthorized access to check KYC\");\r\n        return (\r\n                clients[client].contact,\r\n                kycDocs[client].identity,\r\n                kycDocs[client].videokyc,\r\n                kycDocs[client].docs\r\n            );\r\n    } \r\n\r\n    function matchManagerToClient(address client, bytes32 country) private {\r\n        uint length = submanagers.length;\r\n        for(uint256 i=0; i<length; i++){\r\n            if(roles[submanagers[i]].country==country && roles[submanagers[i]].role==\"KYCAML\"){\r\n                managers[client] = submanagers[i];\r\n            }\r\n        }\r\n    }\r\n\r\n    function unassignManagerFromUser(address _submanager, bytes32 _country) private {\r\n        uint length = usersbyCountry[_country].length;\r\n        for(uint256 i=0; i<length; i++){\r\n            if(managers[usersbyCountry[_country][i]]==_submanager)\r\n                managers[usersbyCountry[_country][i]] = address(0x0);\r\n        }\r\n    }\r\n\r\n    function assignManagerToUser(address _submanager, bytes32 _country) private {\r\n        uint length = usersbyCountry[_country].length;\r\n        for(uint256 i=0; i<length; i++){\r\n            if(managers[usersbyCountry[_country][i]]==address(0x0))\r\n                managers[usersbyCountry[_country][i]] = _submanager;\r\n        }\r\n    }\r\n\r\n    /**\r\n        Gets DP id\r\n        @param  party         reference to the party or counterparty in a trade\r\n     */\r\n    function getTransferAgent(address party) external view returns(bytes32){\r\n        return roles[party].id;\r\n    }\r\n\r\n    function getManagers(bytes32 _country, bytes32 _role) external view returns(address[] memory){\r\n        address[] memory sm = new address[](submanagers.length);\r\n        uint256 j=0;\r\n        uint length = submanagers.length;\r\n        for(uint256 i=0; i<length; i++){\r\n            if(roles[submanagers[i]].country==_country && roles[submanagers[i]].role==_role){\r\n                sm[j] = submanagers[i];\r\n                j=j+1;\r\n            }\r\n        }\r\n        return sm;\r\n    }\r\n\r\n    function setCustodyAccount(address _submanager, bytes32 _currency, bytes32 _accountId) external {\r\n        require(msg.sender==_submanager, \"Unauthorized access\");\r\n        bool found = false;\r\n        if(roles[_submanager].country!=\"\"){\r\n            uint length = accounts[_submanager].length;\r\n            for(uint256 i=0; i<length; i++){\r\n                if(accounts[_submanager][i].currency==_currency){\r\n                    accounts[_submanager][i].account = _accountId;\r\n                    found = true;\r\n                }\r\n            }\r\n        }\r\n        if(!found){\r\n            VerifiedClient.custodian memory c = VerifiedClient.custodian({\r\n                currency : _currency,\r\n                account : _accountId\r\n            });\r\n            accounts[_submanager].push(c);\r\n        }            \r\n    }\r\n\r\n    function getCustodyAccount(address _submanager) external view returns(custodian[] memory){\r\n        return accounts[_submanager];\r\n    }\r\n\r\n    function setCustody(address userAddress, bytes32 accountId) external{\r\n        require(msg.sender==userAddress || msg.sender==bridge, \"Unauthorized access\");\r\n        custodyAccount[userAddress] = accountId;\r\n    }\r\n\r\n    function getCustody(address userAddress) external view returns(bytes32){\r\n        return custodyAccount[userAddress];\r\n    }\r\n\r\n}",
    "sourcePath": "D:\\Code\\verified-securities\\contracts\\Client.sol",
    "ast": {
        "absolutePath": "project:/contracts/Client.sol",
        "exportedSymbols": {
            "Client": [
                3280
            ]
        },
        "id": 3281,
        "nodeType": "SourceUnit",
        "nodes": [
            {
                "id": 1858,
                "literals": [
                    "solidity",
                    "0.5",
                    ".7"
                ],
                "nodeType": "PragmaDirective",
                "src": "112:22:17"
            },
            {
                "id": 1859,
                "literals": [
                    "experimental",
                    "ABIEncoderV2"
                ],
                "nodeType": "PragmaDirective",
                "src": "136:33:17"
            },
            {
                "absolutePath": "project:/contracts/interfaces/VerifiedClient.sol",
                "file": "./interfaces/VerifiedClient.sol",
                "id": 1860,
                "nodeType": "ImportDirective",
                "scope": 3281,
                "sourceUnit": 6874,
                "src": "173:41:17",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol",
                "file": "@openzeppelin/upgrades/contracts/Initializable.sol",
                "id": 1861,
                "nodeType": "ImportDirective",
                "scope": 3281,
                "sourceUnit": 1043,
                "src": "216:60:17",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                "file": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                "id": 1862,
                "nodeType": "ImportDirective",
                "scope": 3281,
                "sourceUnit": 410,
                "src": "278:82:17",
                "symbolAliases": [],
                "unitAlias": ""
            },
            {
                "baseContracts": [
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 1863,
                            "name": "VerifiedClient",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 6873,
                            "src": "383:14:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_VerifiedClient_$6873",
                                "typeString": "contract VerifiedClient"
                            }
                        },
                        "id": 1864,
                        "nodeType": "InheritanceSpecifier",
                        "src": "383:14:17"
                    },
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 1865,
                            "name": "Initializable",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 1042,
                            "src": "399:13:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Initializable_$1042",
                                "typeString": "contract Initializable"
                            }
                        },
                        "id": 1866,
                        "nodeType": "InheritanceSpecifier",
                        "src": "399:13:17"
                    },
                    {
                        "arguments": null,
                        "baseName": {
                            "contractScope": null,
                            "id": 1867,
                            "name": "Ownable",
                            "nodeType": "UserDefinedTypeName",
                            "referencedDeclaration": 409,
                            "src": "414:7:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_contract$_Ownable_$409",
                                "typeString": "contract Ownable"
                            }
                        },
                        "id": 1868,
                        "nodeType": "InheritanceSpecifier",
                        "src": "414:7:17"
                    }
                ],
                "contractDependencies": [
                    29,
                    409,
                    1042,
                    6873
                ],
                "contractKind": "contract",
                "documentation": null,
                "fullyImplemented": true,
                "id": 3280,
                "linearizedBaseContracts": [
                    3280,
                    409,
                    29,
                    1042,
                    6873
                ],
                "name": "Client",
                "nodeType": "ContractDefinition",
                "nodes": [
                    {
                        "constant": false,
                        "id": 1870,
                        "name": "bridge",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "449:22:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                        },
                        "typeName": {
                            "id": 1869,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "449:7:17",
                            "stateMutability": "nonpayable",
                            "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "canonicalName": "Client.role",
                        "id": 1879,
                        "members": [
                            {
                                "constant": false,
                                "id": 1872,
                                "name": "manager",
                                "nodeType": "VariableDeclaration",
                                "scope": 1879,
                                "src": "502:15:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                },
                                "typeName": {
                                    "id": 1871,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "502:7:17",
                                    "stateMutability": "nonpayable",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1874,
                                "name": "country",
                                "nodeType": "VariableDeclaration",
                                "scope": 1879,
                                "src": "528:15:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                },
                                "typeName": {
                                    "id": 1873,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "528:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1876,
                                "name": "role",
                                "nodeType": "VariableDeclaration",
                                "scope": 1879,
                                "src": "554:12:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                },
                                "typeName": {
                                    "id": 1875,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "554:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1878,
                                "name": "id",
                                "nodeType": "VariableDeclaration",
                                "scope": 1879,
                                "src": "577:10:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                },
                                "typeName": {
                                    "id": 1877,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "577:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "role",
                        "nodeType": "StructDefinition",
                        "scope": 3280,
                        "src": "480:115:17",
                        "visibility": "public"
                    },
                    {
                        "canonicalName": "Client.user",
                        "id": 1894,
                        "members": [
                            {
                                "constant": false,
                                "id": 1881,
                                "name": "name",
                                "nodeType": "VariableDeclaration",
                                "scope": 1894,
                                "src": "625:12:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                },
                                "typeName": {
                                    "id": 1880,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "625:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1883,
                                "name": "accountid",
                                "nodeType": "VariableDeclaration",
                                "scope": 1894,
                                "src": "648:17:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                },
                                "typeName": {
                                    "id": 1882,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "648:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1885,
                                "name": "kycstatus",
                                "nodeType": "VariableDeclaration",
                                "scope": 1894,
                                "src": "676:17:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 1884,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "676:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1887,
                                "name": "country",
                                "nodeType": "VariableDeclaration",
                                "scope": 1894,
                                "src": "732:15:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                },
                                "typeName": {
                                    "id": 1886,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "732:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1889,
                                "name": "amlscore",
                                "nodeType": "VariableDeclaration",
                                "scope": 1894,
                                "src": "758:16:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 1888,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "758:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1891,
                                "name": "creditScore",
                                "nodeType": "VariableDeclaration",
                                "scope": 1894,
                                "src": "785:19:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                },
                                "typeName": {
                                    "id": 1890,
                                    "name": "uint256",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "785:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1893,
                                "name": "contact",
                                "nodeType": "VariableDeclaration",
                                "scope": 1894,
                                "src": "815:15:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                },
                                "typeName": {
                                    "id": 1892,
                                    "name": "bytes32",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "815:7:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "user",
                        "nodeType": "StructDefinition",
                        "scope": 3280,
                        "src": "603:243:17",
                        "visibility": "public"
                    },
                    {
                        "canonicalName": "Client.kyc",
                        "id": 1901,
                        "members": [
                            {
                                "constant": false,
                                "id": 1896,
                                "name": "identity",
                                "nodeType": "VariableDeclaration",
                                "scope": 1901,
                                "src": "879:15:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage_ptr",
                                    "typeString": "string"
                                },
                                "typeName": {
                                    "id": 1895,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "879:6:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage_ptr",
                                        "typeString": "string"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1898,
                                "name": "videokyc",
                                "nodeType": "VariableDeclaration",
                                "scope": 1901,
                                "src": "905:15:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage_ptr",
                                    "typeString": "string"
                                },
                                "typeName": {
                                    "id": 1897,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "905:6:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage_ptr",
                                        "typeString": "string"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            },
                            {
                                "constant": false,
                                "id": 1900,
                                "name": "docs",
                                "nodeType": "VariableDeclaration",
                                "scope": 1901,
                                "src": "931:11:17",
                                "stateVariable": false,
                                "storageLocation": "default",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage_ptr",
                                    "typeString": "string"
                                },
                                "typeName": {
                                    "id": 1899,
                                    "name": "string",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "931:6:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_storage_ptr",
                                        "typeString": "string"
                                    }
                                },
                                "value": null,
                                "visibility": "internal"
                            }
                        ],
                        "name": "kyc",
                        "nodeType": "StructDefinition",
                        "scope": 3280,
                        "src": "858:92:17",
                        "visibility": "public"
                    },
                    {
                        "constant": false,
                        "id": 1903,
                        "name": "passScore",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "985:25:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                        },
                        "typeName": {
                            "id": 1902,
                            "name": "uint256",
                            "nodeType": "ElementaryTypeName",
                            "src": "985:7:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1907,
                        "name": "clients",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1071:40:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                            "typeString": "mapping(address => struct Client.user)"
                        },
                        "typeName": {
                            "id": 1906,
                            "keyType": {
                                "id": 1904,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1079:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1071:24:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                "typeString": "mapping(address => struct Client.user)"
                            },
                            "valueType": {
                                "contractScope": null,
                                "id": 1905,
                                "name": "user",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 1894,
                                "src": "1090:4:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_user_$1894_storage_ptr",
                                    "typeString": "struct Client.user"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1911,
                        "name": "kycDocs",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1120:39:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                            "typeString": "mapping(address => struct Client.kyc)"
                        },
                        "typeName": {
                            "id": 1910,
                            "keyType": {
                                "id": 1908,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1128:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1120:23:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                                "typeString": "mapping(address => struct Client.kyc)"
                            },
                            "valueType": {
                                "contractScope": null,
                                "id": 1909,
                                "name": "kyc",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 1901,
                                "src": "1139:3:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_kyc_$1901_storage_ptr",
                                    "typeString": "struct Client.kyc"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1916,
                        "name": "usersbyCountry",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1206:52:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                            "typeString": "mapping(bytes32 => address[])"
                        },
                        "typeName": {
                            "id": 1915,
                            "keyType": {
                                "id": 1912,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "1214:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1206:29:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                "typeString": "mapping(bytes32 => address[])"
                            },
                            "valueType": {
                                "baseType": {
                                    "id": 1913,
                                    "name": "address",
                                    "nodeType": "ElementaryTypeName",
                                    "src": "1225:7:17",
                                    "stateMutability": "nonpayable",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    }
                                },
                                "id": 1914,
                                "length": null,
                                "nodeType": "ArrayTypeName",
                                "src": "1225:9:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                    "typeString": "address[]"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1920,
                        "name": "managers",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1303:44:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                            "typeString": "mapping(address => address)"
                        },
                        "typeName": {
                            "id": 1919,
                            "keyType": {
                                "id": 1917,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1311:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1303:27:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                "typeString": "mapping(address => address)"
                            },
                            "valueType": {
                                "id": 1918,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1322:7:17",
                                "stateMutability": "nonpayable",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1924,
                        "name": "roles",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1404:37:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                            "typeString": "mapping(address => struct Client.role)"
                        },
                        "typeName": {
                            "id": 1923,
                            "keyType": {
                                "id": 1921,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1412:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1404:23:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                "typeString": "mapping(address => struct Client.role)"
                            },
                            "valueType": {
                                "contractScope": null,
                                "id": 1922,
                                "name": "role",
                                "nodeType": "UserDefinedTypeName",
                                "referencedDeclaration": 1879,
                                "src": "1422:4:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_struct$_role_$1879_storage_ptr",
                                    "typeString": "struct Client.role"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1927,
                        "name": "submanagers",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1477:29:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                            "typeString": "address[]"
                        },
                        "typeName": {
                            "baseType": {
                                "id": 1925,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1477:7:17",
                                "stateMutability": "nonpayable",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "id": 1926,
                            "length": null,
                            "nodeType": "ArrayTypeName",
                            "src": "1477:9:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                "typeString": "address[]"
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1931,
                        "name": "managerIndex",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1539:48:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                        },
                        "typeName": {
                            "id": 1930,
                            "keyType": {
                                "id": 1928,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1547:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1539:27:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                "typeString": "mapping(address => uint256)"
                            },
                            "valueType": {
                                "id": 1929,
                                "name": "uint256",
                                "nodeType": "ElementaryTypeName",
                                "src": "1558:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1936,
                        "name": "accounts",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1632:48:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_$",
                            "typeString": "mapping(address => struct VerifiedClient.custodian[])"
                        },
                        "typeName": {
                            "id": 1935,
                            "keyType": {
                                "id": 1932,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1640:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1632:31:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_$",
                                "typeString": "mapping(address => struct VerifiedClient.custodian[])"
                            },
                            "valueType": {
                                "baseType": {
                                    "contractScope": null,
                                    "id": 1933,
                                    "name": "custodian",
                                    "nodeType": "UserDefinedTypeName",
                                    "referencedDeclaration": 6699,
                                    "src": "1651:9:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_struct$_custodian_$6699_storage_ptr",
                                        "typeString": "struct VerifiedClient.custodian"
                                    }
                                },
                                "id": 1934,
                                "length": null,
                                "nodeType": "ArrayTypeName",
                                "src": "1651:11:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_ptr",
                                    "typeString": "struct VerifiedClient.custodian[]"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "constant": false,
                        "id": 1940,
                        "name": "custodyAccount",
                        "nodeType": "VariableDeclaration",
                        "scope": 3280,
                        "src": "1722:50:17",
                        "stateVariable": true,
                        "storageLocation": "default",
                        "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
                            "typeString": "mapping(address => bytes32)"
                        },
                        "typeName": {
                            "id": 1939,
                            "keyType": {
                                "id": 1937,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1730:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_address",
                                    "typeString": "address"
                                }
                            },
                            "nodeType": "Mapping",
                            "src": "1722:27:17",
                            "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
                                "typeString": "mapping(address => bytes32)"
                            },
                            "valueType": {
                                "id": 1938,
                                "name": "bytes32",
                                "nodeType": "ElementaryTypeName",
                                "src": "1741:7:17",
                                "typeDescriptions": {
                                    "typeIdentifier": "t_bytes32",
                                    "typeString": "bytes32"
                                }
                            }
                        },
                        "value": null,
                        "visibility": "private"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 1952,
                        "name": "ManagerAdded",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 1951,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1942,
                                    "indexed": false,
                                    "name": "manager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1952,
                                    "src": "1800:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1941,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1800:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1944,
                                    "indexed": true,
                                    "name": "submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1952,
                                    "src": "1817:26:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1943,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1817:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1946,
                                    "indexed": false,
                                    "name": "role",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1952,
                                    "src": "1845:12:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1945,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1845:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1948,
                                    "indexed": false,
                                    "name": "country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1952,
                                    "src": "1859:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1947,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1859:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1950,
                                    "indexed": false,
                                    "name": "managerId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1952,
                                    "src": "1876:17:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1949,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1876:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1799:95:17"
                        },
                        "src": "1781:114:17"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 1962,
                        "name": "ManagerRemoved",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 1961,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1954,
                                    "indexed": false,
                                    "name": "manager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1962,
                                    "src": "1922:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1953,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1922:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1956,
                                    "indexed": true,
                                    "name": "submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1962,
                                    "src": "1939:26:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1955,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1939:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1958,
                                    "indexed": false,
                                    "name": "role",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1962,
                                    "src": "1967:12:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1957,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1967:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1960,
                                    "indexed": false,
                                    "name": "country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1962,
                                    "src": "1981:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1959,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "1981:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "1921:76:17"
                        },
                        "src": "1901:97:17"
                    },
                    {
                        "anonymous": false,
                        "documentation": null,
                        "id": 1974,
                        "name": "UserAdded",
                        "nodeType": "EventDefinition",
                        "parameters": {
                            "id": 1973,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1964,
                                    "indexed": false,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1974,
                                    "src": "2020:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1963,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2020:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1966,
                                    "indexed": false,
                                    "name": "name",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1974,
                                    "src": "2036:12:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1965,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2036:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1968,
                                    "indexed": false,
                                    "name": "accountid",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1974,
                                    "src": "2050:17:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1967,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2050:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1970,
                                    "indexed": false,
                                    "name": "country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1974,
                                    "src": "2069:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 1969,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2069:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 1972,
                                    "indexed": false,
                                    "name": "status",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1974,
                                    "src": "2086:11:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 1971,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2086:4:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2019:79:17"
                        },
                        "src": "2004:95:17"
                    },
                    {
                        "body": {
                            "id": 1992,
                            "nodeType": "Block",
                            "src": "2162:76:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 1984,
                                                    "name": "msg",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 9424,
                                                    "src": "2192:3:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_magic_message",
                                                        "typeString": "msg"
                                                    }
                                                },
                                                "id": 1985,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "sender",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "2192:10:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address_payable",
                                                    "typeString": "address payable"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address_payable",
                                                    "typeString": "address payable"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "id": 1981,
                                                "name": "Ownable",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 409,
                                                "src": "2173:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_type$_t_contract$_Ownable_$409_$",
                                                    "typeString": "type(contract Ownable)"
                                                }
                                            },
                                            "id": 1983,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "initialize",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 320,
                                            "src": "2173:18:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
                                                "typeString": "function (address)"
                                            }
                                        },
                                        "id": 1986,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2173:30:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 1987,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2173:30:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 1990,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 1988,
                                            "name": "bridge",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1870,
                                            "src": "2214:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 1989,
                                            "name": "_signer",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1976,
                                            "src": "2223:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2214:16:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 1991,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2214:16:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 1993,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": null,
                                "id": 1979,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1978,
                                    "name": "initializer",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 1017,
                                    "src": "2151:11:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$__$",
                                        "typeString": "modifier ()"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "2151:11:17"
                            }
                        ],
                        "name": "initialize",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1977,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1976,
                                    "name": "_signer",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 1993,
                                    "src": "2127:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1975,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2127:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2126:17:17"
                        },
                        "returnParameters": {
                            "id": 1980,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2162:0:17"
                        },
                        "scope": 3280,
                        "src": "2107:131:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 320,
                        "visibility": "public"
                    },
                    {
                        "body": {
                            "id": 2004,
                            "nodeType": "Block",
                            "src": "2301:35:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2002,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 2000,
                                            "name": "bridge",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1870,
                                            "src": "2312:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2001,
                                            "name": "_signer",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1995,
                                            "src": "2321:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "2312:16:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "id": 2003,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2312:16:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2005,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [
                            {
                                "arguments": null,
                                "id": 1998,
                                "modifierName": {
                                    "argumentTypes": null,
                                    "id": 1997,
                                    "name": "onlyOwner",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 338,
                                    "src": "2291:9:17",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_modifier$__$",
                                        "typeString": "modifier ()"
                                    }
                                },
                                "nodeType": "ModifierInvocation",
                                "src": "2291:9:17"
                            }
                        ],
                        "name": "setSigner",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 1996,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 1995,
                                    "name": "_signer",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2005,
                                    "src": "2265:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 1994,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2265:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2264:17:17"
                        },
                        "returnParameters": {
                            "id": 1999,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2301:0:17"
                        },
                        "scope": 3280,
                        "src": "2246:90:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6755,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2188,
                            "nodeType": "Block",
                            "src": "2547:1204:17",
                            "statements": [
                                {
                                    "assignments": [
                                        2027
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2027,
                                            "name": "payloadHash",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2188,
                                            "src": "2558:19:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "typeName": {
                                                "id": 2026,
                                                "name": "bytes32",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "2558:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2035,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 2031,
                                                        "name": "_hashedMessage",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2017,
                                                        "src": "2601:14:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    {
                                                        "argumentTypes": null,
                                                        "hexValue": "4c32746f4c31",
                                                        "id": 2032,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2617:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
                                                            "typeString": "literal_string \"L2toL1\""
                                                        },
                                                        "value": "L2toL1"
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
                                                            "typeString": "literal_string \"L2toL1\""
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 2029,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 9411,
                                                        "src": "2590:3:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 2030,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encode",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "2590:10:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function () pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 2033,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2590:36:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 2028,
                                            "name": "keccak256",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9418,
                                            "src": "2580:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                "typeString": "function (bytes memory) pure returns (bytes32)"
                                            }
                                        },
                                        "id": 2034,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2580:47:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "2558:69:17"
                                },
                                {
                                    "assignments": [
                                        2037
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2037,
                                            "name": "messageHash",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2188,
                                            "src": "2638:19:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "typeName": {
                                                "id": 2036,
                                                "name": "bytes32",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "2638:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2045,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332",
                                                        "id": 2041,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2687:34:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
                                                            "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
                                                        },
                                                        "value": "\u0019Ethereum Signed Message:\n32"
                                                    },
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 2042,
                                                        "name": "payloadHash",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2027,
                                                        "src": "2723:11:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
                                                            "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 2039,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 9411,
                                                        "src": "2670:3:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 2040,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodePacked",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "2670:16:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function () pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 2043,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "2670:65:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 2038,
                                            "name": "keccak256",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9418,
                                            "src": "2660:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                "typeString": "function (bytes memory) pure returns (bytes32)"
                                            }
                                        },
                                        "id": 2044,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2660:76:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "2638:98:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2060,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2055,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2048,
                                                                "name": "messageHash",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2037,
                                                                "src": "2765:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2049,
                                                                "name": "_v",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2019,
                                                                "src": "2778:2:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint8",
                                                                    "typeString": "uint8"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2050,
                                                                "name": "_r",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2021,
                                                                "src": "2782:2:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2051,
                                                                "name": "_s",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2023,
                                                                "src": "2786:2:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint8",
                                                                    "typeString": "uint8"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            ],
                                                            "id": 2047,
                                                            "name": "ecrecover",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9416,
                                                            "src": "2755:9:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
                                                                "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
                                                            }
                                                        },
                                                        "id": 2052,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "2755:34:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "arguments": [],
                                                        "expression": {
                                                            "argumentTypes": [],
                                                            "id": 2053,
                                                            "name": "owner",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 328,
                                                            "src": "2792:5:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                                                "typeString": "function () view returns (address)"
                                                            }
                                                        },
                                                        "id": 2054,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "2792:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "2755:44:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2059,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2056,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "2803:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 2057,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "2803:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2058,
                                                        "name": "bridge",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1870,
                                                        "src": "2815:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "2803:18:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "2755:66:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 2061,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "2823:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 2046,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "2747:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2062,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2747:98:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2063,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2747:98:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2083,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2079,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        "id": 2075,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "id": 2071,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                "id": 2067,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2065,
                                                                    "name": "_role",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2013,
                                                                    "src": "2864:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "437573746f6469616e",
                                                                    "id": 2066,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "2871:11:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_5451fdb1391c16e8771946db3b26e7709a09330c5a2ef89b047712fdb1b5d7ce",
                                                                        "typeString": "literal_string \"Custodian\""
                                                                    },
                                                                    "value": "Custodian"
                                                                },
                                                                "src": "2864:18:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "||",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                "id": 2070,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2068,
                                                                    "name": "_role",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2013,
                                                                    "src": "2886:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "414d",
                                                                    "id": 2069,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "2893:4:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_4cf6e3bc05cd203ed907ea1df70147cc2422ffac683b9c4e8ab1f51909c1e11e",
                                                                        "typeString": "literal_string \"AM\""
                                                                    },
                                                                    "value": "AM"
                                                                },
                                                                "src": "2886:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "src": "2864:33:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "||",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "id": 2074,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2072,
                                                                "name": "_role",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2013,
                                                                "src": "2901:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "==",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "hexValue": "4450",
                                                                "id": 2073,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "kind": "string",
                                                                "lValueRequested": false,
                                                                "nodeType": "Literal",
                                                                "src": "2908:4:17",
                                                                "subdenomination": null,
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_stringliteral_2e7a99dcc48463ba57667732f1d19d96afa51e11db099e5c9c708076a0a08040",
                                                                    "typeString": "literal_string \"DP\""
                                                                },
                                                                "value": "DP"
                                                            },
                                                            "src": "2901:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "src": "2864:48:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "||",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        "id": 2078,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2076,
                                                            "name": "_role",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2013,
                                                            "src": "2916:5:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "hexValue": "4b5943414d4c",
                                                            "id": 2077,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "2923:8:17",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                                "typeString": "literal_string \"KYCAML\""
                                                            },
                                                            "value": "KYCAML"
                                                        },
                                                        "src": "2916:15:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "2864:67:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 2082,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2080,
                                                        "name": "_role",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2013,
                                                        "src": "2935:5:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "497373756572",
                                                        "id": 2081,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "2942:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b1978fd90f84d094b28b5427e9c19061b05f9b683726ba5099d0cb53150a5dbf",
                                                            "typeString": "literal_string \"Issuer\""
                                                        },
                                                        "value": "Issuer"
                                                    },
                                                    "src": "2935:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "2864:86:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "496e76616c6964206d616e616765722074797065",
                                                "id": 2084,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "2952:22:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_568e6570640e78f9333d18a9162f4803ba213915bb9c5faa9e2651860d6b0866",
                                                    "typeString": "literal_string \"Invalid manager type\""
                                                },
                                                "value": "Invalid manager type"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_568e6570640e78f9333d18a9162f4803ba213915bb9c5faa9e2651860d6b0866",
                                                    "typeString": "literal_string \"Invalid manager type\""
                                                }
                                            ],
                                            "id": 2064,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "2856:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2085,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2856:119:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2086,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2856:119:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                "id": 2091,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2088,
                                                    "name": "_submanager",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2009,
                                                    "src": "2994:11:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "!=",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "arguments": [],
                                                    "expression": {
                                                        "argumentTypes": [],
                                                        "id": 2089,
                                                        "name": "owner",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 328,
                                                        "src": "3007:5:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                                            "typeString": "function () view returns (address)"
                                                        }
                                                    },
                                                    "id": 2090,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "3007:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "src": "2994:20:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "496e636f727265637420726f6c65206164646974696f6e",
                                                "id": 2092,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "3016:25:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_2f567c866e35c8877e08ab059dc2e46e010718717d557ae5ca44622ec1ae400e",
                                                    "typeString": "literal_string \"Incorrect role addition\""
                                                },
                                                "value": "Incorrect role addition"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_2f567c866e35c8877e08ab059dc2e46e010718717d557ae5ca44622ec1ae400e",
                                                    "typeString": "literal_string \"Incorrect role addition\""
                                                }
                                            ],
                                            "id": 2087,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "2986:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2093,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "2986:56:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2094,
                                    "nodeType": "ExpressionStatement",
                                    "src": "2986:56:17"
                                },
                                {
                                    "assignments": [
                                        2096
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2096,
                                            "name": "found",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2188,
                                            "src": "3053:10:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "typeName": {
                                                "id": 2095,
                                                "name": "bool",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "3053:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2098,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "66616c7365",
                                        "id": 2097,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "bool",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "3066:5:17",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "value": "false"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "3053:18:17"
                                },
                                {
                                    "assignments": [
                                        2100
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2100,
                                            "name": "length",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2188,
                                            "src": "3082:11:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 2099,
                                                "name": "uint",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "3082:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2103,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 2101,
                                            "name": "submanagers",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1927,
                                            "src": "3096:11:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                "typeString": "address[] storage ref"
                                            }
                                        },
                                        "id": 2102,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "3096:18:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "3082:32:17"
                                },
                                {
                                    "body": {
                                        "id": 2124,
                                        "nodeType": "Block",
                                        "src": "3156:88:17",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2118,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2114,
                                                            "name": "submanagers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1927,
                                                            "src": "3174:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                "typeString": "address[] storage ref"
                                                            }
                                                        },
                                                        "id": 2116,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2115,
                                                            "name": "i",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2105,
                                                            "src": "3186:1:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "3174:14:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2117,
                                                        "name": "_submanager",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2009,
                                                        "src": "3190:11:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "3174:27:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 2123,
                                                "nodeType": "IfStatement",
                                                "src": "3171:61:17",
                                                "trueBody": {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 2121,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftHandSide": {
                                                            "argumentTypes": null,
                                                            "id": 2119,
                                                            "name": "found",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2096,
                                                            "src": "3220:5:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "nodeType": "Assignment",
                                                        "operator": "=",
                                                        "rightHandSide": {
                                                            "argumentTypes": null,
                                                            "hexValue": "74727565",
                                                            "id": 2120,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "bool",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "3228:4:17",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "value": "true"
                                                        },
                                                        "src": "3220:12:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "id": 2122,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "3220:12:17"
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 2110,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 2108,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2105,
                                            "src": "3142:1:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 2109,
                                            "name": "length",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2100,
                                            "src": "3144:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "3142:8:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 2125,
                                    "initializationExpression": {
                                        "assignments": [
                                            2105
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 2105,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 2125,
                                                "src": "3129:9:17",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 2104,
                                                    "name": "uint256",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "3129:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 2107,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 2106,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "3139:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "3129:11:17"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 2112,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "3152:3:17",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 2111,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2105,
                                                "src": "3152:1:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 2113,
                                        "nodeType": "ExpressionStatement",
                                        "src": "3152:3:17"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "3125:119:17"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "id": 2127,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "UnaryOperation",
                                        "operator": "!",
                                        "prefix": true,
                                        "src": "3257:6:17",
                                        "subExpression": {
                                            "argumentTypes": null,
                                            "id": 2126,
                                            "name": "found",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2096,
                                            "src": "3258:5:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 2187,
                                    "nodeType": "IfStatement",
                                    "src": "3254:490:17",
                                    "trueBody": {
                                        "id": 2186,
                                        "nodeType": "Block",
                                        "src": "3264:480:17",
                                        "statements": [
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 2131,
                                                            "name": "_submanager",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2009,
                                                            "src": "3296:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2128,
                                                            "name": "submanagers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1927,
                                                            "src": "3279:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                "typeString": "address[] storage ref"
                                                            }
                                                        },
                                                        "id": 2130,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "push",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "3279:16:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$",
                                                            "typeString": "function (address) returns (uint256)"
                                                        }
                                                    },
                                                    "id": 2132,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "3279:29:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 2133,
                                                "nodeType": "ExpressionStatement",
                                                "src": "3279:29:17"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2139,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2134,
                                                            "name": "managerIndex",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1931,
                                                            "src": "3323:12:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                                "typeString": "mapping(address => uint256)"
                                                            }
                                                        },
                                                        "id": 2136,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2135,
                                                            "name": "_submanager",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2009,
                                                            "src": "3336:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "nodeType": "IndexAccess",
                                                        "src": "3323:25:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2137,
                                                            "name": "submanagers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1927,
                                                            "src": "3351:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                "typeString": "address[] storage ref"
                                                            }
                                                        },
                                                        "id": 2138,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "length",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "3351:18:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "3323:46:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 2140,
                                                "nodeType": "ExpressionStatement",
                                                "src": "3323:46:17"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2146,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2141,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "3384:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2143,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2142,
                                                                "name": "_submanager",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2009,
                                                                "src": "3390:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "3384:18:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2144,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "memberName": "manager",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1872,
                                                        "src": "3384:26:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 2145,
                                                        "name": "_manager",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2007,
                                                        "src": "3413:8:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "3384:37:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "id": 2147,
                                                "nodeType": "ExpressionStatement",
                                                "src": "3384:37:17"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2153,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2148,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "3436:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2150,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2149,
                                                                "name": "_submanager",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2009,
                                                                "src": "3442:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "3436:18:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2151,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "memberName": "country",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1874,
                                                        "src": "3436:26:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 2152,
                                                        "name": "_country",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2011,
                                                        "src": "3465:8:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "src": "3436:37:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "id": 2154,
                                                "nodeType": "ExpressionStatement",
                                                "src": "3436:37:17"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2160,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2155,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "3488:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2157,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2156,
                                                                "name": "_submanager",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2009,
                                                                "src": "3494:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "3488:18:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2158,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "memberName": "role",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1876,
                                                        "src": "3488:23:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 2159,
                                                        "name": "_role",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2013,
                                                        "src": "3514:5:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "src": "3488:31:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "id": 2161,
                                                "nodeType": "ExpressionStatement",
                                                "src": "3488:31:17"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 2167,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftHandSide": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2162,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "3534:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2164,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2163,
                                                                "name": "_submanager",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2009,
                                                                "src": "3540:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "3534:18:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2165,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": true,
                                                        "memberName": "id",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1878,
                                                        "src": "3534:21:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "Assignment",
                                                    "operator": "=",
                                                    "rightHandSide": {
                                                        "argumentTypes": null,
                                                        "id": 2166,
                                                        "name": "_id",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2015,
                                                        "src": "3558:3:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "src": "3534:27:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "id": 2168,
                                                "nodeType": "ExpressionStatement",
                                                "src": "3534:27:17"
                                            },
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 2171,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2169,
                                                        "name": "_role",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2013,
                                                        "src": "3579:5:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "4b5943414d4c",
                                                        "id": 2170,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "3586:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                            "typeString": "literal_string \"KYCAML\""
                                                        },
                                                        "value": "KYCAML"
                                                    },
                                                    "src": "3579:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 2177,
                                                "nodeType": "IfStatement",
                                                "src": "3576:79:17",
                                                "trueBody": {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2173,
                                                                "name": "_submanager",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2009,
                                                                "src": "3633:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2174,
                                                                "name": "_country",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2011,
                                                                "src": "3646:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            ],
                                                            "id": 2172,
                                                            "name": "assignManagerToUser",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3043,
                                                            "src": "3613:19:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                                                                "typeString": "function (address,bytes32)"
                                                            }
                                                        },
                                                        "id": 2175,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "3613:42:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_tuple$__$",
                                                            "typeString": "tuple()"
                                                        }
                                                    },
                                                    "id": 2176,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "3613:42:17"
                                                }
                                            },
                                            {
                                                "eventCall": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 2179,
                                                            "name": "_manager",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2007,
                                                            "src": "3688:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 2180,
                                                            "name": "_submanager",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2009,
                                                            "src": "3698:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 2181,
                                                            "name": "_role",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2013,
                                                            "src": "3711:5:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 2182,
                                                            "name": "_country",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2011,
                                                            "src": "3718:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 2183,
                                                            "name": "_id",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2015,
                                                            "src": "3728:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        ],
                                                        "id": 2178,
                                                        "name": "ManagerAdded",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1952,
                                                        "src": "3675:12:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$",
                                                            "typeString": "function (address,address,bytes32,bytes32,bytes32)"
                                                        }
                                                    },
                                                    "id": 2184,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "3675:57:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_tuple$__$",
                                                        "typeString": "tuple()"
                                                    }
                                                },
                                                "id": 2185,
                                                "nodeType": "EmitStatement",
                                                "src": "3670:62:17"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2189,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "addRole",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2024,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2007,
                                    "name": "_manager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2365:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2006,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2365:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2009,
                                    "name": "_submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2383:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2008,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2383:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2011,
                                    "name": "_country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2404:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2010,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2404:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2013,
                                    "name": "_role",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2422:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2012,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2422:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2015,
                                    "name": "_id",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2437:11:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2014,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2437:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2017,
                                    "name": "_hashedMessage",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2450:22:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2016,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2450:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2019,
                                    "name": "_v",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2474:8:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                    },
                                    "typeName": {
                                        "id": 2018,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2474:5:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint8",
                                            "typeString": "uint8"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2021,
                                    "name": "_r",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2484:10:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2020,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2484:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2023,
                                    "name": "_s",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2189,
                                    "src": "2496:10:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2022,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "2496:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "2364:143:17"
                        },
                        "returnParameters": {
                            "id": 2025,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "2547:0:17"
                        },
                        "scope": 3280,
                        "src": "2348:1403:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6720,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2261,
                            "nodeType": "Block",
                            "src": "3839:406:17",
                            "statements": [
                                {
                                    "assignments": [
                                        2201
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2201,
                                            "name": "position",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2261,
                                            "src": "3850:16:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 2200,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "3850:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2205,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 2202,
                                            "name": "managerIndex",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1931,
                                            "src": "3869:12:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                "typeString": "mapping(address => uint256)"
                                            }
                                        },
                                        "id": 2204,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 2203,
                                            "name": "_user",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2191,
                                            "src": "3882:5:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "3869:19:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "3850:38:17"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 2208,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 2206,
                                            "name": "position",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2201,
                                            "src": "3902:8:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": ">",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 2207,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "3911:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "src": "3902:10:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 2245,
                                    "nodeType": "IfStatement",
                                    "src": "3899:228:17",
                                    "trueBody": {
                                        "id": 2244,
                                        "nodeType": "Block",
                                        "src": "3913:214:17",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2215,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2209,
                                                            "name": "submanagers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1927,
                                                            "src": "3931:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                "typeString": "address[] storage ref"
                                                            }
                                                        },
                                                        "id": 2213,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            "id": 2212,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2210,
                                                                "name": "position",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2201,
                                                                "src": "3943:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "-",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "hexValue": "31",
                                                                "id": 2211,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "kind": "number",
                                                                "lValueRequested": false,
                                                                "nodeType": "Literal",
                                                                "src": "3952:1:17",
                                                                "subdenomination": null,
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_rational_1_by_1",
                                                                    "typeString": "int_const 1"
                                                                },
                                                                "value": "1"
                                                            },
                                                            "src": "3943:10:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "3931:23:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2214,
                                                        "name": "_user",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2191,
                                                        "src": "3956:5:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "3931:30:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 2243,
                                                "nodeType": "IfStatement",
                                                "src": "3928:188:17",
                                                "trueBody": {
                                                    "id": 2242,
                                                    "nodeType": "Block",
                                                    "src": "3962:154:17",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "components": [
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2216,
                                                                                "name": "roles",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1924,
                                                                                "src": "3989:5:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                                }
                                                                            },
                                                                            "id": 2222,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2217,
                                                                                    "name": "submanagers",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1927,
                                                                                    "src": "3995:11:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                        "typeString": "address[] storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 2221,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "id": 2220,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "leftExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 2218,
                                                                                        "name": "position",
                                                                                        "nodeType": "Identifier",
                                                                                        "overloadedDeclarations": [],
                                                                                        "referencedDeclaration": 2201,
                                                                                        "src": "4007:8:17",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    },
                                                                                    "nodeType": "BinaryOperation",
                                                                                    "operator": "-",
                                                                                    "rightExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "hexValue": "31",
                                                                                        "id": 2219,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": true,
                                                                                        "kind": "number",
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "Literal",
                                                                                        "src": "4016:1:17",
                                                                                        "subdenomination": null,
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_rational_1_by_1",
                                                                                            "typeString": "int_const 1"
                                                                                        },
                                                                                        "value": "1"
                                                                                    },
                                                                                    "src": "4007:10:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "3995:23:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "3989:30:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                                "typeString": "struct Client.role storage ref"
                                                                            }
                                                                        },
                                                                        "id": 2223,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "role",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 1876,
                                                                        "src": "3989:35:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2224,
                                                                                "name": "roles",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1924,
                                                                                "src": "4026:5:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                                }
                                                                            },
                                                                            "id": 2230,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2225,
                                                                                    "name": "submanagers",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1927,
                                                                                    "src": "4032:11:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                        "typeString": "address[] storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 2229,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "id": 2228,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "leftExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 2226,
                                                                                        "name": "position",
                                                                                        "nodeType": "Identifier",
                                                                                        "overloadedDeclarations": [],
                                                                                        "referencedDeclaration": 2201,
                                                                                        "src": "4044:8:17",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    },
                                                                                    "nodeType": "BinaryOperation",
                                                                                    "operator": "-",
                                                                                    "rightExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "hexValue": "31",
                                                                                        "id": 2227,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": true,
                                                                                        "kind": "number",
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "Literal",
                                                                                        "src": "4053:1:17",
                                                                                        "subdenomination": null,
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_rational_1_by_1",
                                                                                            "typeString": "int_const 1"
                                                                                        },
                                                                                        "value": "1"
                                                                                    },
                                                                                    "src": "4044:10:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "4032:23:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "4026:30:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                                "typeString": "struct Client.role storage ref"
                                                                            }
                                                                        },
                                                                        "id": 2231,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "id",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 1878,
                                                                        "src": "4026:33:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2232,
                                                                                "name": "roles",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1924,
                                                                                "src": "4061:5:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                                }
                                                                            },
                                                                            "id": 2238,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "baseExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2233,
                                                                                    "name": "submanagers",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 1927,
                                                                                    "src": "4067:11:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                        "typeString": "address[] storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 2237,
                                                                                "indexExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "id": 2236,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "leftExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 2234,
                                                                                        "name": "position",
                                                                                        "nodeType": "Identifier",
                                                                                        "overloadedDeclarations": [],
                                                                                        "referencedDeclaration": 2201,
                                                                                        "src": "4079:8:17",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    },
                                                                                    "nodeType": "BinaryOperation",
                                                                                    "operator": "-",
                                                                                    "rightExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "hexValue": "31",
                                                                                        "id": 2235,
                                                                                        "isConstant": false,
                                                                                        "isLValue": false,
                                                                                        "isPure": true,
                                                                                        "kind": "number",
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "Literal",
                                                                                        "src": "4088:1:17",
                                                                                        "subdenomination": null,
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_rational_1_by_1",
                                                                                            "typeString": "int_const 1"
                                                                                        },
                                                                                        "value": "1"
                                                                                    },
                                                                                    "src": "4079:10:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "nodeType": "IndexAccess",
                                                                                "src": "4067:23:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "4061:30:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                                "typeString": "struct Client.role storage ref"
                                                                            }
                                                                        },
                                                                        "id": 2239,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "country",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 1874,
                                                                        "src": "4061:38:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    }
                                                                ],
                                                                "id": 2240,
                                                                "isConstant": false,
                                                                "isInlineArray": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "TupleExpression",
                                                                "src": "3988:112:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$_t_bytes32_$",
                                                                    "typeString": "tuple(bytes32,bytes32,bytes32)"
                                                                }
                                                            },
                                                            "functionReturnParameters": 2199,
                                                            "id": 2241,
                                                            "nodeType": "Return",
                                                            "src": "3981:119:17"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        },
                                        "id": 2249,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 2246,
                                            "name": "_user",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2191,
                                            "src": "4140:5:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "arguments": [],
                                            "expression": {
                                                "argumentTypes": [],
                                                "id": 2247,
                                                "name": "owner",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 328,
                                                "src": "4147:5:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                                    "typeString": "function () view returns (address)"
                                                }
                                            },
                                            "id": 2248,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "4147:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "src": "4140:14:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "components": [
                                                {
                                                    "argumentTypes": null,
                                                    "hexValue": "",
                                                    "id": 2255,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "4228:2:17",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                        "typeString": "literal_string \"\""
                                                    },
                                                    "value": ""
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "hexValue": "",
                                                    "id": 2256,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "4231:2:17",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                        "typeString": "literal_string \"\""
                                                    },
                                                    "value": ""
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "hexValue": "",
                                                    "id": 2257,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "4234:2:17",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                        "typeString": "literal_string \"\""
                                                    },
                                                    "value": ""
                                                }
                                            ],
                                            "id": 2258,
                                            "isConstant": false,
                                            "isInlineArray": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "TupleExpression",
                                            "src": "4227:10:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_tuple$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$",
                                                "typeString": "tuple(literal_string \"\",literal_string \"\",literal_string \"\")"
                                            }
                                        },
                                        "functionReturnParameters": 2199,
                                        "id": 2259,
                                        "nodeType": "Return",
                                        "src": "4220:17:17"
                                    },
                                    "id": 2260,
                                    "nodeType": "IfStatement",
                                    "src": "4137:100:17",
                                    "trueBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "components": [
                                                {
                                                    "argumentTypes": null,
                                                    "hexValue": "41646d696e",
                                                    "id": 2250,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "4177:7:17",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_a729ef4e25027bc652fc8b5c4d1d902947361fa7c8e7b4905e877823f27331b3",
                                                        "typeString": "literal_string \"Admin\""
                                                    },
                                                    "value": "Admin"
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "hexValue": "",
                                                    "id": 2251,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "4185:2:17",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                        "typeString": "literal_string \"\""
                                                    },
                                                    "value": ""
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "hexValue": "",
                                                    "id": 2252,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "kind": "string",
                                                    "lValueRequested": false,
                                                    "nodeType": "Literal",
                                                    "src": "4188:2:17",
                                                    "subdenomination": null,
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                        "typeString": "literal_string \"\""
                                                    },
                                                    "value": ""
                                                }
                                            ],
                                            "id": 2253,
                                            "isConstant": false,
                                            "isInlineArray": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "TupleExpression",
                                            "src": "4176:15:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_tuple$_t_stringliteral_a729ef4e25027bc652fc8b5c4d1d902947361fa7c8e7b4905e877823f27331b3_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$",
                                                "typeString": "tuple(literal_string \"Admin\",literal_string \"\",literal_string \"\")"
                                            }
                                        },
                                        "functionReturnParameters": 2199,
                                        "id": 2254,
                                        "nodeType": "Return",
                                        "src": "4169:22:17"
                                    }
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2262,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getRole",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2192,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2191,
                                    "name": "_user",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2262,
                                    "src": "3776:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2190,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3776:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3775:15:17"
                        },
                        "returnParameters": {
                            "id": 2199,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2194,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2262,
                                    "src": "3813:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2193,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3813:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2196,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2262,
                                    "src": "3822:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2195,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3822:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2198,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2262,
                                    "src": "3831:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2197,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "3831:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "3812:27:17"
                        },
                        "scope": 3280,
                        "src": "3759:486:17",
                        "stateMutability": "view",
                        "superFunction": 6731,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2465,
                            "nodeType": "Block",
                            "src": "4442:1296:17",
                            "statements": [
                                {
                                    "assignments": [
                                        2282
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2282,
                                            "name": "payloadHash",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2465,
                                            "src": "4453:19:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "typeName": {
                                                "id": 2281,
                                                "name": "bytes32",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "4453:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2290,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 2286,
                                                        "name": "_hashedMessage",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2272,
                                                        "src": "4496:14:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    {
                                                        "argumentTypes": null,
                                                        "hexValue": "4c32746f4c31",
                                                        "id": 2287,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4512:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
                                                            "typeString": "literal_string \"L2toL1\""
                                                        },
                                                        "value": "L2toL1"
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        {
                                                            "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
                                                            "typeString": "literal_string \"L2toL1\""
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 2284,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 9411,
                                                        "src": "4485:3:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 2285,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encode",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "4485:10:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function () pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 2288,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4485:36:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 2283,
                                            "name": "keccak256",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9418,
                                            "src": "4475:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                "typeString": "function (bytes memory) pure returns (bytes32)"
                                            }
                                        },
                                        "id": 2289,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4475:47:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "4453:69:17"
                                },
                                {
                                    "assignments": [
                                        2292
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2292,
                                            "name": "messageHash",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2465,
                                            "src": "4533:19:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            },
                                            "typeName": {
                                                "id": 2291,
                                                "name": "bytes32",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "4533:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2300,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "arguments": [
                                                    {
                                                        "argumentTypes": null,
                                                        "hexValue": "19457468657265756d205369676e6564204d6573736167653a0a3332",
                                                        "id": 2296,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4582:34:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
                                                            "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
                                                        },
                                                        "value": "\u0019Ethereum Signed Message:\n32"
                                                    },
                                                    {
                                                        "argumentTypes": null,
                                                        "id": 2297,
                                                        "name": "payloadHash",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2282,
                                                        "src": "4618:11:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    }
                                                ],
                                                "expression": {
                                                    "argumentTypes": [
                                                        {
                                                            "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
                                                            "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
                                                        },
                                                        {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 2294,
                                                        "name": "abi",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 9411,
                                                        "src": "4565:3:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_abi",
                                                            "typeString": "abi"
                                                        }
                                                    },
                                                    "id": 2295,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "memberName": "encodePacked",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "4565:16:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                                                        "typeString": "function () pure returns (bytes memory)"
                                                    }
                                                },
                                                "id": 2298,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "kind": "functionCall",
                                                "lValueRequested": false,
                                                "names": [],
                                                "nodeType": "FunctionCall",
                                                "src": "4565:65:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                    "typeString": "bytes memory"
                                                }
                                            ],
                                            "id": 2293,
                                            "name": "keccak256",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 9418,
                                            "src": "4555:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                                                "typeString": "function (bytes memory) pure returns (bytes32)"
                                            }
                                        },
                                        "id": 2299,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4555:76:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "4533:98:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2315,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2310,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2303,
                                                                "name": "messageHash",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2292,
                                                                "src": "4660:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2304,
                                                                "name": "_v",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2274,
                                                                "src": "4673:2:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint8",
                                                                    "typeString": "uint8"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2305,
                                                                "name": "_r",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2276,
                                                                "src": "4677:2:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            {
                                                                "argumentTypes": null,
                                                                "id": 2306,
                                                                "name": "_s",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2278,
                                                                "src": "4681:2:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint8",
                                                                    "typeString": "uint8"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            ],
                                                            "id": 2302,
                                                            "name": "ecrecover",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9416,
                                                            "src": "4650:9:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$",
                                                                "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)"
                                                            }
                                                        },
                                                        "id": 2307,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "4650:34:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "arguments": [],
                                                        "expression": {
                                                            "argumentTypes": [],
                                                            "id": 2308,
                                                            "name": "owner",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 328,
                                                            "src": "4687:5:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                                                "typeString": "function () view returns (address)"
                                                            }
                                                        },
                                                        "id": 2309,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "kind": "functionCall",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "4687:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "4650:44:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2314,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2311,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "4698:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 2312,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "4698:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2313,
                                                        "name": "bridge",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1870,
                                                        "src": "4710:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "4698:18:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "4650:66:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 2316,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "4718:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 2301,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "4642:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2317,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4642:98:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2318,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4642:98:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2338,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2334,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        "id": 2330,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "id": 2326,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                "id": 2322,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2320,
                                                                    "name": "_role",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2270,
                                                                    "src": "4759:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "437573746f6469616e",
                                                                    "id": 2321,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "4766:11:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_5451fdb1391c16e8771946db3b26e7709a09330c5a2ef89b047712fdb1b5d7ce",
                                                                        "typeString": "literal_string \"Custodian\""
                                                                    },
                                                                    "value": "Custodian"
                                                                },
                                                                "src": "4759:18:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "||",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                "id": 2325,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2323,
                                                                    "name": "_role",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2270,
                                                                    "src": "4781:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "414d",
                                                                    "id": 2324,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "4788:4:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_4cf6e3bc05cd203ed907ea1df70147cc2422ffac683b9c4e8ab1f51909c1e11e",
                                                                        "typeString": "literal_string \"AM\""
                                                                    },
                                                                    "value": "AM"
                                                                },
                                                                "src": "4781:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "src": "4759:33:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "||",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "id": 2329,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2327,
                                                                "name": "_role",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2270,
                                                                "src": "4796:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "==",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "hexValue": "4450",
                                                                "id": 2328,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "kind": "string",
                                                                "lValueRequested": false,
                                                                "nodeType": "Literal",
                                                                "src": "4803:4:17",
                                                                "subdenomination": null,
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_stringliteral_2e7a99dcc48463ba57667732f1d19d96afa51e11db099e5c9c708076a0a08040",
                                                                    "typeString": "literal_string \"DP\""
                                                                },
                                                                "value": "DP"
                                                            },
                                                            "src": "4796:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "src": "4759:48:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "||",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        "id": 2333,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2331,
                                                            "name": "_role",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2270,
                                                            "src": "4811:5:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "hexValue": "4b5943414d4c",
                                                            "id": 2332,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "4818:8:17",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                                "typeString": "literal_string \"KYCAML\""
                                                            },
                                                            "value": "KYCAML"
                                                        },
                                                        "src": "4811:15:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "4759:67:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 2337,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2335,
                                                        "name": "_role",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2270,
                                                        "src": "4830:5:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "497373756572",
                                                        "id": 2336,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "4837:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_b1978fd90f84d094b28b5427e9c19061b05f9b683726ba5099d0cb53150a5dbf",
                                                            "typeString": "literal_string \"Issuer\""
                                                        },
                                                        "value": "Issuer"
                                                    },
                                                    "src": "4830:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "4759:86:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "496e76616c6964206d616e616765722074797065",
                                                "id": 2339,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "4847:22:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_568e6570640e78f9333d18a9162f4803ba213915bb9c5faa9e2651860d6b0866",
                                                    "typeString": "literal_string \"Invalid manager type\""
                                                },
                                                "value": "Invalid manager type"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_568e6570640e78f9333d18a9162f4803ba213915bb9c5faa9e2651860d6b0866",
                                                    "typeString": "literal_string \"Invalid manager type\""
                                                }
                                            ],
                                            "id": 2319,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "4751:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2340,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "4751:119:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2341,
                                    "nodeType": "ExpressionStatement",
                                    "src": "4751:119:17"
                                },
                                {
                                    "assignments": [
                                        2343
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2343,
                                            "name": "position",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2465,
                                            "src": "4881:16:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 2342,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "4881:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2347,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 2344,
                                            "name": "managerIndex",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1931,
                                            "src": "4900:12:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                                                "typeString": "mapping(address => uint256)"
                                            }
                                        },
                                        "id": 2346,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 2345,
                                            "name": "_submanager",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2266,
                                            "src": "4913:11:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "4900:25:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "4881:44:17"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 2350,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 2348,
                                            "name": "position",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2343,
                                            "src": "4939:8:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": ">",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 2349,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "4948:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "src": "4939:10:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 2448,
                                    "nodeType": "IfStatement",
                                    "src": "4936:635:17",
                                    "trueBody": {
                                        "id": 2447,
                                        "nodeType": "Block",
                                        "src": "4950:621:17",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2390,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        "id": 2379,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "id": 2368,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                },
                                                                "id": 2357,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2351,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "4969:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2355,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        "id": 2354,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2352,
                                                                            "name": "position",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 2343,
                                                                            "src": "4981:8:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "-",
                                                                        "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "hexValue": "31",
                                                                            "id": 2353,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "kind": "number",
                                                                            "lValueRequested": false,
                                                                            "nodeType": "Literal",
                                                                            "src": "4990:1:17",
                                                                            "subdenomination": null,
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_rational_1_by_1",
                                                                                "typeString": "int_const 1"
                                                                            },
                                                                            "value": "1"
                                                                        },
                                                                        "src": "4981:10:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "4969:23:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2356,
                                                                    "name": "_submanager",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2266,
                                                                    "src": "4994:11:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "src": "4969:36:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "&&",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                "id": 2367,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2358,
                                                                            "name": "roles",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1924,
                                                                            "src": "5026:5:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                "typeString": "mapping(address => struct Client.role storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 2364,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2359,
                                                                                "name": "submanagers",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1927,
                                                                                "src": "5032:11:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                    "typeString": "address[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 2363,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                "id": 2362,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2360,
                                                                                    "name": "position",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 2343,
                                                                                    "src": "5044:8:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "-",
                                                                                "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "hexValue": "31",
                                                                                    "id": 2361,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "kind": "number",
                                                                                    "lValueRequested": false,
                                                                                    "nodeType": "Literal",
                                                                                    "src": "5053:1:17",
                                                                                    "subdenomination": null,
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                                        "typeString": "int_const 1"
                                                                                    },
                                                                                    "value": "1"
                                                                                },
                                                                                "src": "5044:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "5032:23:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "5026:30:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                            "typeString": "struct Client.role storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2365,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "role",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 1876,
                                                                    "src": "5026:35:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2366,
                                                                    "name": "_role",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2270,
                                                                    "src": "5063:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "src": "5026:42:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "src": "4969:99:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "&&",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "id": 2378,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2369,
                                                                        "name": "roles",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1924,
                                                                        "src": "5090:5:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                            "typeString": "mapping(address => struct Client.role storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 2375,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2370,
                                                                            "name": "submanagers",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1927,
                                                                            "src": "5096:11:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                "typeString": "address[] storage ref"
                                                                            }
                                                                        },
                                                                        "id": 2374,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            },
                                                                            "id": 2373,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2371,
                                                                                "name": "position",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 2343,
                                                                                "src": "5108:8:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "-",
                                                                            "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "hexValue": "31",
                                                                                "id": 2372,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": true,
                                                                                "kind": "number",
                                                                                "lValueRequested": false,
                                                                                "nodeType": "Literal",
                                                                                "src": "5117:1:17",
                                                                                "subdenomination": null,
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_rational_1_by_1",
                                                                                    "typeString": "int_const 1"
                                                                                },
                                                                                "value": "1"
                                                                            },
                                                                            "src": "5108:10:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "5096:23:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_address",
                                                                            "typeString": "address"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "5090:30:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                        "typeString": "struct Client.role storage ref"
                                                                    }
                                                                },
                                                                "id": 2376,
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "country",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 1874,
                                                                "src": "5090:38:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "==",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2377,
                                                                "name": "_country",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2268,
                                                                "src": "5130:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "src": "5090:48:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "src": "4969:169:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "&&",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "id": 2389,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2380,
                                                                    "name": "roles",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1924,
                                                                    "src": "5159:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                        "typeString": "mapping(address => struct Client.role storage ref)"
                                                                    }
                                                                },
                                                                "id": 2386,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2381,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "5165:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2385,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        },
                                                                        "id": 2384,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2382,
                                                                            "name": "position",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 2343,
                                                                            "src": "5177:8:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "-",
                                                                        "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "hexValue": "31",
                                                                            "id": 2383,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "kind": "number",
                                                                            "lValueRequested": false,
                                                                            "nodeType": "Literal",
                                                                            "src": "5186:1:17",
                                                                            "subdenomination": null,
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_rational_1_by_1",
                                                                                "typeString": "int_const 1"
                                                                            },
                                                                            "value": "1"
                                                                        },
                                                                        "src": "5177:10:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "5165:23:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "5159:30:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                    "typeString": "struct Client.role storage ref"
                                                                }
                                                            },
                                                            "id": 2387,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "manager",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 1872,
                                                            "src": "5159:38:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2388,
                                                            "name": "_manager",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2264,
                                                            "src": "5199:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "src": "5159:48:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "4969:238:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 2446,
                                                "nodeType": "IfStatement",
                                                "src": "4965:595:17",
                                                "trueBody": {
                                                    "id": 2445,
                                                    "nodeType": "Block",
                                                    "src": "5208:352:17",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2402,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2391,
                                                                            "name": "roles",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1924,
                                                                            "src": "5247:5:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                "typeString": "mapping(address => struct Client.role storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 2397,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2392,
                                                                                "name": "submanagers",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1927,
                                                                                "src": "5253:11:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                    "typeString": "address[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 2396,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                "id": 2395,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2393,
                                                                                    "name": "position",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 2343,
                                                                                    "src": "5265:8:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "-",
                                                                                "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "hexValue": "31",
                                                                                    "id": 2394,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "kind": "number",
                                                                                    "lValueRequested": false,
                                                                                    "nodeType": "Literal",
                                                                                    "src": "5274:1:17",
                                                                                    "subdenomination": null,
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                                        "typeString": "int_const 1"
                                                                                    },
                                                                                    "value": "1"
                                                                                },
                                                                                "src": "5265:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "5253:23:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "5247:30:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                            "typeString": "struct Client.role storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2398,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "memberName": "manager",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 1872,
                                                                    "src": "5247:38:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        {
                                                                            "argumentTypes": null,
                                                                            "hexValue": "307830",
                                                                            "id": 2400,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "kind": "number",
                                                                            "lValueRequested": false,
                                                                            "nodeType": "Literal",
                                                                            "src": "5296:3:17",
                                                                            "subdenomination": null,
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_rational_0_by_1",
                                                                                "typeString": "int_const 0"
                                                                            },
                                                                            "value": "0x0"
                                                                        }
                                                                    ],
                                                                    "expression": {
                                                                        "argumentTypes": [
                                                                            {
                                                                                "typeIdentifier": "t_rational_0_by_1",
                                                                                "typeString": "int_const 0"
                                                                            }
                                                                        ],
                                                                        "id": 2399,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": true,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "ElementaryTypeNameExpression",
                                                                        "src": "5288:7:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_type$_t_address_$",
                                                                            "typeString": "type(address)"
                                                                        },
                                                                        "typeName": "address"
                                                                    },
                                                                    "id": 2401,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "typeConversion",
                                                                    "lValueRequested": false,
                                                                    "names": [],
                                                                    "nodeType": "FunctionCall",
                                                                    "src": "5288:12:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address_payable",
                                                                        "typeString": "address payable"
                                                                    }
                                                                },
                                                                "src": "5247:53:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "id": 2403,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "5247:53:17"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2413,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2404,
                                                                            "name": "roles",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1924,
                                                                            "src": "5323:5:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                "typeString": "mapping(address => struct Client.role storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 2410,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2405,
                                                                                "name": "submanagers",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1927,
                                                                                "src": "5329:11:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                    "typeString": "address[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 2409,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                "id": 2408,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2406,
                                                                                    "name": "position",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 2343,
                                                                                    "src": "5341:8:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "-",
                                                                                "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "hexValue": "31",
                                                                                    "id": 2407,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "kind": "number",
                                                                                    "lValueRequested": false,
                                                                                    "nodeType": "Literal",
                                                                                    "src": "5350:1:17",
                                                                                    "subdenomination": null,
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                                        "typeString": "int_const 1"
                                                                                    },
                                                                                    "value": "1"
                                                                                },
                                                                                "src": "5341:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "5329:23:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "5323:30:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                            "typeString": "struct Client.role storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2411,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "memberName": "country",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 1874,
                                                                    "src": "5323:38:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "",
                                                                    "id": 2412,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "5364:2:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                        "typeString": "literal_string \"\""
                                                                    },
                                                                    "value": ""
                                                                },
                                                                "src": "5323:43:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "id": 2414,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "5323:43:17"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2424,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2415,
                                                                            "name": "roles",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1924,
                                                                            "src": "5389:5:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                "typeString": "mapping(address => struct Client.role storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 2421,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2416,
                                                                                "name": "submanagers",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1927,
                                                                                "src": "5395:11:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                    "typeString": "address[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 2420,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                "id": 2419,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2417,
                                                                                    "name": "position",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 2343,
                                                                                    "src": "5407:8:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "-",
                                                                                "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "hexValue": "31",
                                                                                    "id": 2418,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "kind": "number",
                                                                                    "lValueRequested": false,
                                                                                    "nodeType": "Literal",
                                                                                    "src": "5416:1:17",
                                                                                    "subdenomination": null,
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                                        "typeString": "int_const 1"
                                                                                    },
                                                                                    "value": "1"
                                                                                },
                                                                                "src": "5407:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "5395:23:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "5389:30:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                            "typeString": "struct Client.role storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2422,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "memberName": "role",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 1876,
                                                                    "src": "5389:35:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "",
                                                                    "id": 2423,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "5427:2:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                        "typeString": "literal_string \"\""
                                                                    },
                                                                    "value": ""
                                                                },
                                                                "src": "5389:40:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "id": 2425,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "5389:40:17"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2435,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2426,
                                                                            "name": "roles",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1924,
                                                                            "src": "5452:5:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                "typeString": "mapping(address => struct Client.role storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 2432,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2427,
                                                                                "name": "submanagers",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1927,
                                                                                "src": "5458:11:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                    "typeString": "address[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 2431,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                "id": 2430,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2428,
                                                                                    "name": "position",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 2343,
                                                                                    "src": "5470:8:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "-",
                                                                                "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "hexValue": "31",
                                                                                    "id": 2429,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "kind": "number",
                                                                                    "lValueRequested": false,
                                                                                    "nodeType": "Literal",
                                                                                    "src": "5479:1:17",
                                                                                    "subdenomination": null,
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                                        "typeString": "int_const 1"
                                                                                    },
                                                                                    "value": "1"
                                                                                },
                                                                                "src": "5470:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "5458:23:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "5452:30:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                            "typeString": "struct Client.role storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2433,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "memberName": "id",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 1878,
                                                                    "src": "5452:33:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "",
                                                                    "id": 2434,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "5488:2:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                                        "typeString": "literal_string \"\""
                                                                    },
                                                                    "value": ""
                                                                },
                                                                "src": "5452:38:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "id": 2436,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "5452:38:17"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2443,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "UnaryOperation",
                                                                "operator": "delete",
                                                                "prefix": true,
                                                                "src": "5513:31:17",
                                                                "subExpression": {
                                                                    "argumentTypes": null,
                                                                    "components": [
                                                                        {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2437,
                                                                                "name": "submanagers",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1927,
                                                                                "src": "5520:11:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                                    "typeString": "address[] storage ref"
                                                                                }
                                                                            },
                                                                            "id": 2441,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "commonType": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                },
                                                                                "id": 2440,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "leftExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2438,
                                                                                    "name": "position",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 2343,
                                                                                    "src": "5532:8:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    }
                                                                                },
                                                                                "nodeType": "BinaryOperation",
                                                                                "operator": "-",
                                                                                "rightExpression": {
                                                                                    "argumentTypes": null,
                                                                                    "hexValue": "31",
                                                                                    "id": 2439,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "kind": "number",
                                                                                    "lValueRequested": false,
                                                                                    "nodeType": "Literal",
                                                                                    "src": "5541:1:17",
                                                                                    "subdenomination": null,
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_rational_1_by_1",
                                                                                        "typeString": "int_const 1"
                                                                                    },
                                                                                    "value": "1"
                                                                                },
                                                                                "src": "5532:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_uint256",
                                                                                    "typeString": "uint256"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "5520:23:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        }
                                                                    ],
                                                                    "id": 2442,
                                                                    "isConstant": false,
                                                                    "isInlineArray": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "TupleExpression",
                                                                    "src": "5519:25:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_tuple$__$",
                                                                    "typeString": "tuple()"
                                                                }
                                                            },
                                                            "id": 2444,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "5513:31:17"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        },
                                        "id": 2451,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 2449,
                                            "name": "_role",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2270,
                                            "src": "5584:5:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "==",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "4b5943414d4c",
                                            "id": 2450,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "5591:8:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                "typeString": "literal_string \"KYCAML\""
                                            },
                                            "value": "KYCAML"
                                        },
                                        "src": "5584:15:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 2457,
                                    "nodeType": "IfStatement",
                                    "src": "5581:79:17",
                                    "trueBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "arguments": [
                                                {
                                                    "argumentTypes": null,
                                                    "id": 2453,
                                                    "name": "_submanager",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2266,
                                                    "src": "5638:11:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                {
                                                    "argumentTypes": null,
                                                    "id": 2454,
                                                    "name": "_country",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2268,
                                                    "src": "5651:8:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": [
                                                    {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                ],
                                                "id": 2452,
                                                "name": "unassignManagerFromUser",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2994,
                                                "src": "5614:23:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                                                    "typeString": "function (address,bytes32)"
                                                }
                                            },
                                            "id": 2455,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "kind": "functionCall",
                                            "lValueRequested": false,
                                            "names": [],
                                            "nodeType": "FunctionCall",
                                            "src": "5614:46:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_tuple$__$",
                                                "typeString": "tuple()"
                                            }
                                        },
                                        "id": 2456,
                                        "nodeType": "ExpressionStatement",
                                        "src": "5614:46:17"
                                    }
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 2459,
                                                "name": "_manager",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2264,
                                                "src": "5691:8:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2460,
                                                "name": "_submanager",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2266,
                                                "src": "5701:11:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2461,
                                                "name": "_role",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2270,
                                                "src": "5714:5:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2462,
                                                "name": "_country",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2268,
                                                "src": "5721:8:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            ],
                                            "id": 2458,
                                            "name": "ManagerRemoved",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1962,
                                            "src": "5676:14:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_bytes32_$_t_bytes32_$returns$__$",
                                                "typeString": "function (address,address,bytes32,bytes32)"
                                            }
                                        },
                                        "id": 2463,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5676:54:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2464,
                                    "nodeType": "EmitStatement",
                                    "src": "5671:59:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2466,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "removeRole",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2279,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2264,
                                    "name": "_manager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4273:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2263,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4273:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2266,
                                    "name": "_submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4291:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2265,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4291:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2268,
                                    "name": "_country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4312:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2267,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4312:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2270,
                                    "name": "_role",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4330:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2269,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4330:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2272,
                                    "name": "_hashedMessage",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4345:22:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2271,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4345:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2274,
                                    "name": "_v",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4369:8:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint8",
                                        "typeString": "uint8"
                                    },
                                    "typeName": {
                                        "id": 2273,
                                        "name": "uint8",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4369:5:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint8",
                                            "typeString": "uint8"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2276,
                                    "name": "_r",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4379:10:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2275,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4379:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2278,
                                    "name": "_s",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2466,
                                    "src": "4391:10:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2277,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "4391:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "4272:130:17"
                        },
                        "returnParameters": {
                            "id": 2280,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "4442:0:17"
                        },
                        "scope": 3280,
                        "src": "4253:1485:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6750,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2495,
                            "nodeType": "Block",
                            "src": "5810:144:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2484,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2477,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2474,
                                                        "name": "bridge",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1870,
                                                        "src": "5829:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2475,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "5837:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 2476,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "5837:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "src": "5829:18:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2483,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2478,
                                                            "name": "managers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1920,
                                                            "src": "5851:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                "typeString": "mapping(address => address)"
                                                            }
                                                        },
                                                        "id": 2480,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2479,
                                                            "name": "client",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2468,
                                                            "src": "5860:6:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "5851:16:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2481,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "5869:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 2482,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "5869:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "src": "5851:28:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "5829:50:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 2485,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "5881:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 2473,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "5821:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2486,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "5821:82:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2487,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5821:82:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2493,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2488,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "5914:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2490,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2489,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2468,
                                                    "src": "5922:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "5914:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2491,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "amlscore",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1889,
                                            "src": "5914:24:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2492,
                                            "name": "score",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2470,
                                            "src": "5941:5:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "5914:32:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 2494,
                                    "nodeType": "ExpressionStatement",
                                    "src": "5914:32:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2496,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "setAmlScore",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2471,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2468,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2496,
                                    "src": "5770:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2467,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5770:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2470,
                                    "name": "score",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2496,
                                    "src": "5786:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 2469,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5786:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5769:31:17"
                        },
                        "returnParameters": {
                            "id": 2472,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "5810:0:17"
                        },
                        "scope": 3280,
                        "src": "5749:205:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6784,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2513,
                            "nodeType": "Block",
                            "src": "6012:98:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                "id": 2505,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2502,
                                                    "name": "bridge",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1870,
                                                    "src": "6031:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 2503,
                                                        "name": "msg",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 9424,
                                                        "src": "6039:3:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_message",
                                                            "typeString": "msg"
                                                        }
                                                    },
                                                    "id": 2504,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "sender",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "6039:10:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address_payable",
                                                        "typeString": "address payable"
                                                    }
                                                },
                                                "src": "6031:18:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 2506,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6051:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 2501,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "6023:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2507,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6023:50:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2508,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6023:50:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2511,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "id": 2509,
                                            "name": "passScore",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1903,
                                            "src": "6084:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2510,
                                            "name": "_score",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2498,
                                            "src": "6096:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "6084:18:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 2512,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6084:18:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2514,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "setAmlPassScore",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2499,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2498,
                                    "name": "_score",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2514,
                                    "src": "5987:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 2497,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "5987:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "5986:16:17"
                        },
                        "returnParameters": {
                            "id": 2500,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6012:0:17"
                        },
                        "scope": 3280,
                        "src": "5962:148:17",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2540,
                            "nodeType": "Block",
                            "src": "6186:163:17",
                            "statements": [
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 2526,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2521,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "6200:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2523,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2522,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2516,
                                                    "src": "6208:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "6200:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2524,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "amlscore",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1889,
                                            "src": "6200:24:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 2525,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "6226:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "src": "6200:27:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "hexValue": "74727565",
                                            "id": 2537,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "bool",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "6337:4:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "value": "true"
                                        },
                                        "functionReturnParameters": 2520,
                                        "id": 2538,
                                        "nodeType": "Return",
                                        "src": "6330:11:17"
                                    },
                                    "id": 2539,
                                    "nodeType": "IfStatement",
                                    "src": "6197:144:17",
                                    "trueBody": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "condition": {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "id": 2532,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2527,
                                                            "name": "clients",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1907,
                                                            "src": "6249:7:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                                "typeString": "mapping(address => struct Client.user storage ref)"
                                                            }
                                                        },
                                                        "id": 2529,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2528,
                                                            "name": "client",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2516,
                                                            "src": "6257:6:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "6249:15:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_user_$1894_storage",
                                                            "typeString": "struct Client.user storage ref"
                                                        }
                                                    },
                                                    "id": 2530,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "amlscore",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": 1889,
                                                    "src": "6249:24:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": ">=",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2531,
                                                    "name": "passScore",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1903,
                                                    "src": "6277:9:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "src": "6249:37:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "falseExpression": {
                                                "argumentTypes": null,
                                                "hexValue": "66616c7365",
                                                "id": 2534,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "bool",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6296:5:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "value": "false"
                                            },
                                            "id": 2535,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "Conditional",
                                            "src": "6249:52:17",
                                            "trueExpression": {
                                                "argumentTypes": null,
                                                "hexValue": "74727565",
                                                "id": 2533,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "bool",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6289:4:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "value": "true"
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "functionReturnParameters": 2520,
                                        "id": 2536,
                                        "nodeType": "Return",
                                        "src": "6242:59:17"
                                    }
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2541,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getAMLStatus",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2517,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2516,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2541,
                                    "src": "6143:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2515,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6143:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6142:16:17"
                        },
                        "returnParameters": {
                            "id": 2520,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2519,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2541,
                                    "src": "6181:4:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bool",
                                        "typeString": "bool"
                                    },
                                    "typeName": {
                                        "id": 2518,
                                        "name": "bool",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6181:4:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6180:6:17"
                        },
                        "scope": 3280,
                        "src": "6121:228:17",
                        "stateMutability": "view",
                        "superFunction": 6791,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2570,
                            "nodeType": "Block",
                            "src": "6421:144:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2559,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2552,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2549,
                                                        "name": "bridge",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1870,
                                                        "src": "6440:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2550,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "6448:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 2551,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "6448:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "src": "6440:18:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2558,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2553,
                                                            "name": "managers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1920,
                                                            "src": "6462:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                "typeString": "mapping(address => address)"
                                                            }
                                                        },
                                                        "id": 2555,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2554,
                                                            "name": "client",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2543,
                                                            "src": "6471:6:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "6462:16:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 2556,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "6480:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 2557,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "6480:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "src": "6462:28:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "6440:50:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 2560,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "6492:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 2548,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "6432:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2561,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6432:82:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2562,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6432:82:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2568,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2563,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "6525:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2565,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2564,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2543,
                                                    "src": "6533:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "6525:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2566,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "amlscore",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1889,
                                            "src": "6525:24:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2567,
                                            "name": "score",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2545,
                                            "src": "6552:5:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "6525:32:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 2569,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6525:32:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2571,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "setCreditScore",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2546,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2543,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2571,
                                    "src": "6381:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2542,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6381:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2545,
                                    "name": "score",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2571,
                                    "src": "6397:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 2544,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6397:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6380:31:17"
                        },
                        "returnParameters": {
                            "id": 2547,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6421:0:17"
                        },
                        "scope": 3280,
                        "src": "6357:208:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6777,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2664,
                            "nodeType": "Block",
                            "src": "6697:911:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2605,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2597,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "id": 2590,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2587,
                                                                "name": "msg",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 9424,
                                                                "src": "7030:3:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_magic_message",
                                                                    "typeString": "msg"
                                                                }
                                                            },
                                                            "id": 2588,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "sender",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "7030:10:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2589,
                                                            "name": "bridge",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1870,
                                                            "src": "7042:6:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "src": "7030:18:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "||",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "id": 2596,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2591,
                                                                "name": "managers",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1920,
                                                                "src": "7052:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                    "typeString": "mapping(address => address)"
                                                                }
                                                            },
                                                            "id": 2593,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2592,
                                                                "name": "client",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2573,
                                                                "src": "7061:6:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7052:16:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2594,
                                                                "name": "msg",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 9424,
                                                                "src": "7070:3:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_magic_message",
                                                                    "typeString": "msg"
                                                                }
                                                            },
                                                            "id": 2595,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "sender",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "7070:10:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            }
                                                        },
                                                        "src": "7052:28:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "7030:50:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 2604,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2598,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "7084:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2601,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2599,
                                                                    "name": "msg",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 9424,
                                                                    "src": "7090:3:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_message",
                                                                        "typeString": "msg"
                                                                    }
                                                                },
                                                                "id": 2600,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "sender",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "7090:10:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7084:17:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2602,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "role",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1876,
                                                        "src": "7084:22:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "4b5943414d4c",
                                                        "id": 2603,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "7108:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                            "typeString": "literal_string \"KYCAML\""
                                                        },
                                                        "value": "KYCAML"
                                                    },
                                                    "src": "7084:32:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "7030:86:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 2606,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "7197:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 2586,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "6974:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2607,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "6974:245:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2608,
                                    "nodeType": "ExpressionStatement",
                                    "src": "6974:245:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2614,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2609,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "7230:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2611,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2610,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2573,
                                                    "src": "7238:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "7230:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2612,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "name",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1881,
                                            "src": "7230:20:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2613,
                                            "name": "name",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2575,
                                            "src": "7253:4:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "src": "7230:27:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "id": 2615,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7230:27:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2621,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2616,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "7268:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2618,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2617,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2573,
                                                    "src": "7276:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "7268:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2619,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "accountid",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1883,
                                            "src": "7268:25:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2620,
                                            "name": "accountid",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2577,
                                            "src": "7296:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "src": "7268:37:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "id": 2622,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7268:37:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2628,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2623,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "7316:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2625,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2624,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2573,
                                                    "src": "7324:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "7316:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2626,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "kycstatus",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1885,
                                            "src": "7316:25:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2627,
                                            "name": "status",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2583,
                                            "src": "7344:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "7316:34:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 2629,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7316:34:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2635,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2630,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "7361:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2632,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2631,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2573,
                                                    "src": "7369:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "7361:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2633,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "country",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1887,
                                            "src": "7361:23:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2634,
                                            "name": "country",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2579,
                                            "src": "7387:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "src": "7361:33:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "id": 2636,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7361:33:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2642,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2637,
                                                    "name": "clients",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1907,
                                                    "src": "7405:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                        "typeString": "mapping(address => struct Client.user storage ref)"
                                                    }
                                                },
                                                "id": 2639,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2638,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2573,
                                                    "src": "7413:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "7405:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_user_$1894_storage",
                                                    "typeString": "struct Client.user storage ref"
                                                }
                                            },
                                            "id": 2640,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "contact",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1893,
                                            "src": "7405:23:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2641,
                                            "name": "contact",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2581,
                                            "src": "7431:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "src": "7405:33:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "id": 2643,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7405:33:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 2648,
                                                "name": "client",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2573,
                                                "src": "7478:6:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            ],
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2644,
                                                    "name": "usersbyCountry",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1916,
                                                    "src": "7449:14:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                                        "typeString": "mapping(bytes32 => address[] storage ref)"
                                                    }
                                                },
                                                "id": 2646,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2645,
                                                    "name": "country",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2579,
                                                    "src": "7464:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "7449:23:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                    "typeString": "address[] storage ref"
                                                }
                                            },
                                            "id": 2647,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "push",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": null,
                                            "src": "7449:28:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_arraypush_nonpayable$_t_address_$returns$_t_uint256_$",
                                                "typeString": "function (address) returns (uint256)"
                                            }
                                        },
                                        "id": 2649,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7449:36:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "id": 2650,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7449:36:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 2652,
                                                "name": "client",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2573,
                                                "src": "7517:6:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2653,
                                                "name": "country",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2579,
                                                "src": "7525:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            ],
                                            "id": 2651,
                                            "name": "matchManagerToClient",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2945,
                                            "src": "7496:20:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes32_$returns$__$",
                                                "typeString": "function (address,bytes32)"
                                            }
                                        },
                                        "id": 2654,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7496:37:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2655,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7496:37:17"
                                },
                                {
                                    "eventCall": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "id": 2657,
                                                "name": "client",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2573,
                                                "src": "7559:6:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2658,
                                                "name": "name",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2575,
                                                "src": "7567:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2659,
                                                "name": "accountid",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2577,
                                                "src": "7573:9:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2660,
                                                "name": "country",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2579,
                                                "src": "7584:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "id": 2661,
                                                "name": "status",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2583,
                                                "src": "7593:6:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                },
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "id": 2656,
                                            "name": "UserAdded",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1974,
                                            "src": "7549:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$returns$__$",
                                                "typeString": "function (address,bytes32,bytes32,bytes32,uint256)"
                                            }
                                        },
                                        "id": 2662,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7549:51:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2663,
                                    "nodeType": "EmitStatement",
                                    "src": "7544:56:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2665,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "KycUpdate",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2584,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2573,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2665,
                                    "src": "6592:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2572,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6592:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2575,
                                    "name": "name",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2665,
                                    "src": "6608:12:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2574,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6608:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2577,
                                    "name": "accountid",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2665,
                                    "src": "6622:17:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2576,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6622:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2579,
                                    "name": "country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2665,
                                    "src": "6641:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2578,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6641:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2581,
                                    "name": "contact",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2665,
                                    "src": "6658:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2580,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6658:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2583,
                                    "name": "status",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2665,
                                    "src": "6675:11:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 2582,
                                        "name": "uint",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "6675:4:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "6591:96:17"
                        },
                        "returnParameters": {
                            "id": 2585,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "6697:0:17"
                        },
                        "scope": 3280,
                        "src": "6573:1035:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6770,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2775,
                            "nodeType": "Block",
                            "src": "7738:635:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2741,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2733,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        "id": 2725,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "id": 2717,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                },
                                                                "id": 2709,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "id": 2701,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "leftExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                            "typeIdentifier": "t_bool",
                                                                            "typeString": "bool"
                                                                        },
                                                                        "id": 2694,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            },
                                                                            "id": 2689,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2685,
                                                                                    "name": "msg",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "src": "7757:3:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_magic_message",
                                                                                        "typeString": "msg"
                                                                                    }
                                                                                },
                                                                                "id": 2686,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "sender",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": null,
                                                                                "src": "7757:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address_payable",
                                                                                    "typeString": "address payable"
                                                                                }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "==",
                                                                            "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "arguments": [],
                                                                                "expression": {
                                                                                    "argumentTypes": [],
                                                                                    "id": 2687,
                                                                                    "name": "owner",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 328,
                                                                                    "src": "7769:5:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                                                                        "typeString": "function () view returns (address)"
                                                                                    }
                                                                                },
                                                                                "id": 2688,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "kind": "functionCall",
                                                                                "lValueRequested": false,
                                                                                "names": [],
                                                                                "nodeType": "FunctionCall",
                                                                                "src": "7769:7:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            },
                                                                            "src": "7757:19:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "||",
                                                                        "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            },
                                                                            "id": 2693,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftExpression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2690,
                                                                                    "name": "msg",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "src": "7780:3:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_magic_message",
                                                                                        "typeString": "msg"
                                                                                    }
                                                                                },
                                                                                "id": 2691,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "sender",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": null,
                                                                                "src": "7780:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address_payable",
                                                                                    "typeString": "address payable"
                                                                                }
                                                                            },
                                                                            "nodeType": "BinaryOperation",
                                                                            "operator": "==",
                                                                            "rightExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2692,
                                                                                "name": "client",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 2667,
                                                                                "src": "7792:6:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            },
                                                                            "src": "7780:18:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "src": "7757:41:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bool",
                                                                            "typeString": "bool"
                                                                        }
                                                                    },
                                                                    "nodeType": "BinaryOperation",
                                                                    "operator": "||",
                                                                    "rightExpression": {
                                                                        "argumentTypes": null,
                                                                        "commonType": {
                                                                            "typeIdentifier": "t_address",
                                                                            "typeString": "address"
                                                                        },
                                                                        "id": 2700,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "leftExpression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2695,
                                                                                "name": "managers",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1920,
                                                                                "src": "7802:8:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                                    "typeString": "mapping(address => address)"
                                                                                }
                                                                            },
                                                                            "id": 2697,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2696,
                                                                                "name": "client",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 2667,
                                                                                "src": "7811:6:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "7802:16:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address",
                                                                                "typeString": "address"
                                                                            }
                                                                        },
                                                                        "nodeType": "BinaryOperation",
                                                                        "operator": "==",
                                                                        "rightExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2698,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 9424,
                                                                                "src": "7820:3:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 2699,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "7820:10:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address_payable",
                                                                                "typeString": "address payable"
                                                                            }
                                                                        },
                                                                        "src": "7802:28:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bool",
                                                                            "typeString": "bool"
                                                                        }
                                                                    },
                                                                    "src": "7757:73:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "||",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "id": 2708,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "leftExpression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2702,
                                                                                "name": "roles",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1924,
                                                                                "src": "7834:5:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                                }
                                                                            },
                                                                            "id": 2705,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "id": 2703,
                                                                                    "name": "msg",
                                                                                    "nodeType": "Identifier",
                                                                                    "overloadedDeclarations": [],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "src": "7840:3:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_magic_message",
                                                                                        "typeString": "msg"
                                                                                    }
                                                                                },
                                                                                "id": 2704,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": false,
                                                                                "lValueRequested": false,
                                                                                "memberName": "sender",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": null,
                                                                                "src": "7840:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address_payable",
                                                                                    "typeString": "address payable"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "7834:17:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                                "typeString": "struct Client.role storage ref"
                                                                            }
                                                                        },
                                                                        "id": 2706,
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "role",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": 1876,
                                                                        "src": "7834:22:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "nodeType": "BinaryOperation",
                                                                    "operator": "==",
                                                                    "rightExpression": {
                                                                        "argumentTypes": null,
                                                                        "hexValue": "4b5943414d4c",
                                                                        "id": 2707,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": true,
                                                                        "kind": "string",
                                                                        "lValueRequested": false,
                                                                        "nodeType": "Literal",
                                                                        "src": "7858:8:17",
                                                                        "subdenomination": null,
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                                            "typeString": "literal_string \"KYCAML\""
                                                                        },
                                                                        "value": "KYCAML"
                                                                    },
                                                                    "src": "7834:32:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    }
                                                                },
                                                                "src": "7757:109:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "||",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                "id": 2716,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2710,
                                                                            "name": "roles",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 1924,
                                                                            "src": "7888:5:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                                "typeString": "mapping(address => struct Client.role storage ref)"
                                                                            }
                                                                        },
                                                                        "id": 2713,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "expression": {
                                                                                "argumentTypes": null,
                                                                                "id": 2711,
                                                                                "name": "msg",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 9424,
                                                                                "src": "7894:3:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_magic_message",
                                                                                    "typeString": "msg"
                                                                                }
                                                                            },
                                                                            "id": 2712,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "memberName": "sender",
                                                                            "nodeType": "MemberAccess",
                                                                            "referencedDeclaration": null,
                                                                            "src": "7894:10:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_address_payable",
                                                                                "typeString": "address payable"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "7888:17:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                            "typeString": "struct Client.role storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2714,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "role",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 1876,
                                                                    "src": "7888:22:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "414d",
                                                                    "id": 2715,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "string",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "7912:4:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_stringliteral_4cf6e3bc05cd203ed907ea1df70147cc2422ffac683b9c4e8ab1f51909c1e11e",
                                                                        "typeString": "literal_string \"AM\""
                                                                    },
                                                                    "value": "AM"
                                                                },
                                                                "src": "7888:28:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "src": "7757:159:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "||",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            "id": 2724,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2718,
                                                                        "name": "roles",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1924,
                                                                        "src": "7920:5:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                            "typeString": "mapping(address => struct Client.role storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 2721,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 2719,
                                                                            "name": "msg",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 9424,
                                                                            "src": "7926:3:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_magic_message",
                                                                                "typeString": "msg"
                                                                            }
                                                                        },
                                                                        "id": 2720,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "memberName": "sender",
                                                                        "nodeType": "MemberAccess",
                                                                        "referencedDeclaration": null,
                                                                        "src": "7926:10:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_address_payable",
                                                                            "typeString": "address payable"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "7920:17:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                        "typeString": "struct Client.role storage ref"
                                                                    }
                                                                },
                                                                "id": 2722,
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "role",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": 1876,
                                                                "src": "7920:22:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "==",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "hexValue": "4450",
                                                                "id": 2723,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "kind": "string",
                                                                "lValueRequested": false,
                                                                "nodeType": "Literal",
                                                                "src": "7944:4:17",
                                                                "subdenomination": null,
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_stringliteral_2e7a99dcc48463ba57667732f1d19d96afa51e11db099e5c9c708076a0a08040",
                                                                    "typeString": "literal_string \"DP\""
                                                                },
                                                                "value": "DP"
                                                            },
                                                            "src": "7920:28:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "src": "7757:191:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "||",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        "id": 2732,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2726,
                                                                    "name": "roles",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1924,
                                                                    "src": "7952:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                        "typeString": "mapping(address => struct Client.role storage ref)"
                                                                    }
                                                                },
                                                                "id": 2729,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2727,
                                                                        "name": "msg",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 9424,
                                                                        "src": "7958:3:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_magic_message",
                                                                            "typeString": "msg"
                                                                        }
                                                                    },
                                                                    "id": 2728,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "sender",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": null,
                                                                    "src": "7958:10:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address_payable",
                                                                        "typeString": "address payable"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "7952:17:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                    "typeString": "struct Client.role storage ref"
                                                                }
                                                            },
                                                            "id": 2730,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "role",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 1876,
                                                            "src": "7952:22:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "hexValue": "497373756572",
                                                            "id": 2731,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "7976:8:17",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_b1978fd90f84d094b28b5427e9c19061b05f9b683726ba5099d0cb53150a5dbf",
                                                                "typeString": "literal_string \"Issuer\""
                                                            },
                                                            "value": "Issuer"
                                                        },
                                                        "src": "7952:32:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "7757:227:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 2740,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2734,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "7988:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2737,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2735,
                                                                    "name": "msg",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 9424,
                                                                    "src": "7994:3:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_message",
                                                                        "typeString": "msg"
                                                                    }
                                                                },
                                                                "id": 2736,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "sender",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "7994:10:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "7988:17:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2738,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "role",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1876,
                                                        "src": "7988:22:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "437573746f6469616e",
                                                        "id": 2739,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8012:11:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_5451fdb1391c16e8771946db3b26e7709a09330c5a2ef89b047712fdb1b5d7ce",
                                                            "typeString": "literal_string \"Custodian\""
                                                        },
                                                        "value": "Custodian"
                                                    },
                                                    "src": "7988:35:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "7757:266:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a65642061636365737320746f20636865636b204b5943",
                                                "id": 2742,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "8025:34:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_7d9d58c0d5b517f40095afe21460fcb8970c71dfa3585d027279fa80e555b6d2",
                                                    "typeString": "literal_string \"Unauthorized access to check KYC\""
                                                },
                                                "value": "Unauthorized access to check KYC"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_7d9d58c0d5b517f40095afe21460fcb8970c71dfa3585d027279fa80e555b6d2",
                                                    "typeString": "literal_string \"Unauthorized access to check KYC\""
                                                }
                                            ],
                                            "id": 2684,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "7749:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2743,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "7749:311:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2744,
                                    "nodeType": "ExpressionStatement",
                                    "src": "7749:311:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "components": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2745,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "8079:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2747,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2746,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2667,
                                                        "src": "8087:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8079:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2748,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "name",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1881,
                                                "src": "8079:20:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2749,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "8119:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2751,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2750,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2667,
                                                        "src": "8127:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8119:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2752,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "accountid",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1883,
                                                "src": "8119:25:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2753,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "8164:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2755,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2754,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2667,
                                                        "src": "8172:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8164:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2756,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "country",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1887,
                                                "src": "8164:23:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2757,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "8207:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2759,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2758,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2667,
                                                        "src": "8215:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8207:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2760,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "kycstatus",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1885,
                                                "src": "8207:25:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2761,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "8252:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2763,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2762,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2667,
                                                        "src": "8260:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8252:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2764,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "contact",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1893,
                                                "src": "8252:23:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2765,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "8294:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2767,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2766,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2667,
                                                        "src": "8302:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8294:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2768,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "creditScore",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1891,
                                                "src": "8294:27:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2769,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "8340:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2771,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2770,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2667,
                                                        "src": "8348:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "8340:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2772,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "amlscore",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1889,
                                                "src": "8340:24:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "id": 2773,
                                        "isConstant": false,
                                        "isInlineArray": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "TupleExpression",
                                        "src": "8078:287:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$",
                                            "typeString": "tuple(bytes32,bytes32,bytes32,uint256,bytes32,uint256,uint256)"
                                        }
                                    },
                                    "functionReturnParameters": 2683,
                                    "id": 2774,
                                    "nodeType": "Return",
                                    "src": "8071:294:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2776,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getClientKYC",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2668,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2667,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7638:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2666,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7638:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7637:16:17"
                        },
                        "returnParameters": {
                            "id": 2683,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2670,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7676:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2669,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7676:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2672,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7685:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2671,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7685:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2674,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7694:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2673,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7694:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2676,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7703:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 2675,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7703:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2678,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7712:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2677,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7712:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2680,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7721:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 2679,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7721:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2682,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2776,
                                    "src": "7730:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                    },
                                    "typeName": {
                                        "id": 2681,
                                        "name": "uint256",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "7730:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "7675:63:17"
                        },
                        "scope": 3280,
                        "src": "7616:757:17",
                        "stateMutability": "view",
                        "superFunction": 6817,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2831,
                            "nodeType": "Block",
                            "src": "8565:567:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2806,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2798,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "id": 2791,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2788,
                                                                "name": "msg",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 9424,
                                                                "src": "8828:3:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_magic_message",
                                                                    "typeString": "msg"
                                                                }
                                                            },
                                                            "id": 2789,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "sender",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "8828:10:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2790,
                                                            "name": "bridge",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1870,
                                                            "src": "8840:6:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "src": "8828:18:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "||",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "id": 2797,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2792,
                                                                "name": "managers",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1920,
                                                                "src": "8850:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                    "typeString": "mapping(address => address)"
                                                                }
                                                            },
                                                            "id": 2794,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2793,
                                                                "name": "client",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2778,
                                                                "src": "8859:6:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "8850:16:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2795,
                                                                "name": "msg",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 9424,
                                                                "src": "8868:3:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_magic_message",
                                                                    "typeString": "msg"
                                                                }
                                                            },
                                                            "id": 2796,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "sender",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "8868:10:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            }
                                                        },
                                                        "src": "8850:28:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "8828:50:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 2805,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2799,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "8882:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2802,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2800,
                                                                    "name": "msg",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 9424,
                                                                    "src": "8888:3:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_message",
                                                                        "typeString": "msg"
                                                                    }
                                                                },
                                                                "id": 2801,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "sender",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "8888:10:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "8882:17:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2803,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "role",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1876,
                                                        "src": "8882:22:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "4b5943414d4c",
                                                        "id": 2804,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "8906:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                            "typeString": "literal_string \"KYCAML\""
                                                        },
                                                        "value": "KYCAML"
                                                    },
                                                    "src": "8882:32:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "8828:86:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 2807,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "8972:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 2787,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "8769:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2808,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "8769:225:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2809,
                                    "nodeType": "ExpressionStatement",
                                    "src": "8769:225:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2815,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2810,
                                                    "name": "kycDocs",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1911,
                                                    "src": "9005:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                                                        "typeString": "mapping(address => struct Client.kyc storage ref)"
                                                    }
                                                },
                                                "id": 2812,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2811,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2778,
                                                    "src": "9013:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "9005:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_kyc_$1901_storage",
                                                    "typeString": "struct Client.kyc storage ref"
                                                }
                                            },
                                            "id": 2813,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "identity",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1896,
                                            "src": "9005:24:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2814,
                                            "name": "identity",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2780,
                                            "src": "9032:8:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_calldata_ptr",
                                                "typeString": "string calldata"
                                            }
                                        },
                                        "src": "9005:35:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "id": 2816,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9005:35:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2822,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2817,
                                                    "name": "kycDocs",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1911,
                                                    "src": "9051:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                                                        "typeString": "mapping(address => struct Client.kyc storage ref)"
                                                    }
                                                },
                                                "id": 2819,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2818,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2778,
                                                    "src": "9059:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "9051:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_kyc_$1901_storage",
                                                    "typeString": "struct Client.kyc storage ref"
                                                }
                                            },
                                            "id": 2820,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "videokyc",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1898,
                                            "src": "9051:24:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2821,
                                            "name": "videokyc",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2782,
                                            "src": "9078:8:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_calldata_ptr",
                                                "typeString": "string calldata"
                                            }
                                        },
                                        "src": "9051:35:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "id": 2823,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9051:35:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 2829,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2824,
                                                    "name": "kycDocs",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1911,
                                                    "src": "9097:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                                                        "typeString": "mapping(address => struct Client.kyc storage ref)"
                                                    }
                                                },
                                                "id": 2826,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 2825,
                                                    "name": "client",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 2778,
                                                    "src": "9105:6:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "9097:15:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_kyc_$1901_storage",
                                                    "typeString": "struct Client.kyc storage ref"
                                                }
                                            },
                                            "id": 2827,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "memberName": "docs",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1900,
                                            "src": "9097:20:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_storage",
                                                "typeString": "string storage ref"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 2828,
                                            "name": "docs",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2784,
                                            "src": "9120:4:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_string_calldata_ptr",
                                                "typeString": "string calldata"
                                            }
                                        },
                                        "src": "9097:27:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage",
                                            "typeString": "string storage ref"
                                        }
                                    },
                                    "id": 2830,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9097:27:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2832,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "fullKycUpdate",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2785,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2778,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2832,
                                    "src": "8404:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2777,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8404:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2780,
                                    "name": "identity",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2832,
                                    "src": "8420:24:17",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 2779,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8420:6:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2782,
                                    "name": "videokyc",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2832,
                                    "src": "8446:24:17",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 2781,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8446:6:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2784,
                                    "name": "docs",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2832,
                                    "src": "8472:20:17",
                                    "stateVariable": false,
                                    "storageLocation": "calldata",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_calldata_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 2783,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "8472:6:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "8403:152:17"
                        },
                        "returnParameters": {
                            "id": 2786,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "8565:0:17"
                        },
                        "scope": 3280,
                        "src": "8381:751:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6828,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2892,
                            "nodeType": "Block",
                            "src": "9257:373:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 2870,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2862,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        },
                                                        "id": 2855,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            "id": 2850,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2846,
                                                                    "name": "msg",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 9424,
                                                                    "src": "9276:3:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_message",
                                                                        "typeString": "msg"
                                                                    }
                                                                },
                                                                "id": 2847,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "sender",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "9276:10:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "==",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "arguments": [],
                                                                "expression": {
                                                                    "argumentTypes": [],
                                                                    "id": 2848,
                                                                    "name": "owner",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 328,
                                                                    "src": "9288:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
                                                                        "typeString": "function () view returns (address)"
                                                                    }
                                                                },
                                                                "id": 2849,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "kind": "functionCall",
                                                                "lValueRequested": false,
                                                                "names": [],
                                                                "nodeType": "FunctionCall",
                                                                "src": "9288:7:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "src": "9276:19:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "||",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            "id": 2854,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "leftExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2851,
                                                                    "name": "msg",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 9424,
                                                                    "src": "9299:3:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_message",
                                                                        "typeString": "msg"
                                                                    }
                                                                },
                                                                "id": 2852,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "sender",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "9299:10:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            },
                                                            "nodeType": "BinaryOperation",
                                                            "operator": "==",
                                                            "rightExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2853,
                                                                "name": "client",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2834,
                                                                "src": "9311:6:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "src": "9299:18:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            }
                                                        },
                                                        "src": "9276:41:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "||",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        },
                                                        "id": 2861,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2856,
                                                                "name": "managers",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1920,
                                                                "src": "9321:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                    "typeString": "mapping(address => address)"
                                                                }
                                                            },
                                                            "id": 2858,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2857,
                                                                "name": "client",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2834,
                                                                "src": "9330:6:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "9321:16:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2859,
                                                                "name": "msg",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 9424,
                                                                "src": "9339:3:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_magic_message",
                                                                    "typeString": "msg"
                                                                }
                                                            },
                                                            "id": 2860,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "sender",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": null,
                                                            "src": "9339:10:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            }
                                                        },
                                                        "src": "9321:28:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "9276:73:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "id": 2869,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2863,
                                                                "name": "roles",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1924,
                                                                "src": "9353:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                                }
                                                            },
                                                            "id": 2866,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "expression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2864,
                                                                    "name": "msg",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 9424,
                                                                    "src": "9359:3:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_magic_message",
                                                                        "typeString": "msg"
                                                                    }
                                                                },
                                                                "id": 2865,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "memberName": "sender",
                                                                "nodeType": "MemberAccess",
                                                                "referencedDeclaration": null,
                                                                "src": "9359:10:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "9353:17:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                "typeString": "struct Client.role storage ref"
                                                            }
                                                        },
                                                        "id": 2867,
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "role",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 1876,
                                                        "src": "9353:22:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "hexValue": "4b5943414d4c",
                                                        "id": 2868,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "string",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "9377:8:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                            "typeString": "literal_string \"KYCAML\""
                                                        },
                                                        "value": "KYCAML"
                                                    },
                                                    "src": "9353:32:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "9276:109:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a65642061636365737320746f20636865636b204b5943",
                                                "id": 2871,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "9387:34:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_7d9d58c0d5b517f40095afe21460fcb8970c71dfa3585d027279fa80e555b6d2",
                                                    "typeString": "literal_string \"Unauthorized access to check KYC\""
                                                },
                                                "value": "Unauthorized access to check KYC"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_7d9d58c0d5b517f40095afe21460fcb8970c71dfa3585d027279fa80e555b6d2",
                                                    "typeString": "literal_string \"Unauthorized access to check KYC\""
                                                }
                                            ],
                                            "id": 2845,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "9268:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 2872,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "9268:154:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 2873,
                                    "nodeType": "ExpressionStatement",
                                    "src": "9268:154:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "components": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2874,
                                                        "name": "clients",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1907,
                                                        "src": "9459:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_user_$1894_storage_$",
                                                            "typeString": "mapping(address => struct Client.user storage ref)"
                                                        }
                                                    },
                                                    "id": 2876,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2875,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2834,
                                                        "src": "9467:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "9459:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_user_$1894_storage",
                                                        "typeString": "struct Client.user storage ref"
                                                    }
                                                },
                                                "id": 2877,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "contact",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1893,
                                                "src": "9459:23:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2878,
                                                        "name": "kycDocs",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1911,
                                                        "src": "9501:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                                                            "typeString": "mapping(address => struct Client.kyc storage ref)"
                                                        }
                                                    },
                                                    "id": 2880,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2879,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2834,
                                                        "src": "9509:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "9501:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_kyc_$1901_storage",
                                                        "typeString": "struct Client.kyc storage ref"
                                                    }
                                                },
                                                "id": 2881,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "identity",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1896,
                                                "src": "9501:24:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2882,
                                                        "name": "kycDocs",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1911,
                                                        "src": "9544:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                                                            "typeString": "mapping(address => struct Client.kyc storage ref)"
                                                        }
                                                    },
                                                    "id": 2884,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2883,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2834,
                                                        "src": "9552:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "9544:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_kyc_$1901_storage",
                                                        "typeString": "struct Client.kyc storage ref"
                                                    }
                                                },
                                                "id": 2885,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "videokyc",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1898,
                                                "src": "9544:24:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "baseExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2886,
                                                        "name": "kycDocs",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1911,
                                                        "src": "9587:7:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_mapping$_t_address_$_t_struct$_kyc_$1901_storage_$",
                                                            "typeString": "mapping(address => struct Client.kyc storage ref)"
                                                        }
                                                    },
                                                    "id": 2888,
                                                    "indexExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2887,
                                                        "name": "client",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2834,
                                                        "src": "9595:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "nodeType": "IndexAccess",
                                                    "src": "9587:15:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_kyc_$1901_storage",
                                                        "typeString": "struct Client.kyc storage ref"
                                                    }
                                                },
                                                "id": 2889,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "docs",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": 1900,
                                                "src": "9587:20:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_string_storage",
                                                    "typeString": "string storage ref"
                                                }
                                            }
                                        ],
                                        "id": 2890,
                                        "isConstant": false,
                                        "isInlineArray": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "TupleExpression",
                                        "src": "9440:182:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$_t_bytes32_$_t_string_storage_$_t_string_storage_$_t_string_storage_$",
                                            "typeString": "tuple(bytes32,string storage ref,string storage ref,string storage ref)"
                                        }
                                    },
                                    "functionReturnParameters": 2844,
                                    "id": 2891,
                                    "nodeType": "Return",
                                    "src": "9433:189:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2893,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getFullClientKYC",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2835,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2834,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2893,
                                    "src": "9166:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2833,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9166:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9165:16:17"
                        },
                        "returnParameters": {
                            "id": 2844,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2837,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2893,
                                    "src": "9204:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2836,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9204:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2839,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2893,
                                    "src": "9213:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 2838,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9213:6:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2841,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2893,
                                    "src": "9228:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 2840,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9228:6:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2843,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2893,
                                    "src": "9243:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_string_memory_ptr",
                                        "typeString": "string"
                                    },
                                    "typeName": {
                                        "id": 2842,
                                        "name": "string",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9243:6:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_string_storage_ptr",
                                            "typeString": "string"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9203:54:17"
                        },
                        "scope": 3280,
                        "src": "9140:490:17",
                        "stateMutability": "view",
                        "superFunction": 6841,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 2944,
                            "nodeType": "Block",
                            "src": "9710:268:17",
                            "statements": [
                                {
                                    "assignments": [
                                        2901
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2901,
                                            "name": "length",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2944,
                                            "src": "9721:11:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 2900,
                                                "name": "uint",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "9721:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2904,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 2902,
                                            "name": "submanagers",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1927,
                                            "src": "9735:11:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                "typeString": "address[] storage ref"
                                            }
                                        },
                                        "id": 2903,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "9735:18:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "9721:32:17"
                                },
                                {
                                    "body": {
                                        "id": 2942,
                                        "nodeType": "Block",
                                        "src": "9795:176:17",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 2931,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        "id": 2922,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2915,
                                                                    "name": "roles",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1924,
                                                                    "src": "9813:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                        "typeString": "mapping(address => struct Client.role storage ref)"
                                                                    }
                                                                },
                                                                "id": 2919,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2916,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "9819:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2918,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2917,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 2906,
                                                                        "src": "9831:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "9819:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "9813:21:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                    "typeString": "struct Client.role storage ref"
                                                                }
                                                            },
                                                            "id": 2920,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "country",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 1874,
                                                            "src": "9813:29:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2921,
                                                            "name": "country",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2897,
                                                            "src": "9844:7:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "src": "9813:38:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "&&",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        "id": 2930,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2923,
                                                                    "name": "roles",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1924,
                                                                    "src": "9855:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                        "typeString": "mapping(address => struct Client.role storage ref)"
                                                                    }
                                                                },
                                                                "id": 2927,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2924,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "9861:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2926,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2925,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 2906,
                                                                        "src": "9873:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "9861:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "9855:21:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                    "typeString": "struct Client.role storage ref"
                                                                }
                                                            },
                                                            "id": 2928,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "role",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 1876,
                                                            "src": "9855:26:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "hexValue": "4b5943414d4c",
                                                            "id": 2929,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "string",
                                                            "lValueRequested": false,
                                                            "nodeType": "Literal",
                                                            "src": "9883:8:17",
                                                            "subdenomination": null,
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_stringliteral_0d2fe3d2da424dff74bed6aceba8290dc248f4b6eb473dda5181254281c57ca4",
                                                                "typeString": "literal_string \"KYCAML\""
                                                            },
                                                            "value": "KYCAML"
                                                        },
                                                        "src": "9855:36:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "9813:78:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 2941,
                                                "nodeType": "IfStatement",
                                                "src": "9810:150:17",
                                                "trueBody": {
                                                    "id": 2940,
                                                    "nodeType": "Block",
                                                    "src": "9892:68:17",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 2938,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2932,
                                                                        "name": "managers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1920,
                                                                        "src": "9911:8:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                            "typeString": "mapping(address => address)"
                                                                        }
                                                                    },
                                                                    "id": 2934,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2933,
                                                                        "name": "client",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 2895,
                                                                        "src": "9920:6:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_address",
                                                                            "typeString": "address"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "9911:16:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2935,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "9930:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 2937,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2936,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 2906,
                                                                        "src": "9942:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "9930:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "src": "9911:33:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "id": 2939,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "9911:33:17"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 2911,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 2909,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2906,
                                            "src": "9781:1:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 2910,
                                            "name": "length",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2901,
                                            "src": "9783:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "9781:8:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 2943,
                                    "initializationExpression": {
                                        "assignments": [
                                            2906
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 2906,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 2943,
                                                "src": "9768:9:17",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 2905,
                                                    "name": "uint256",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "9768:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 2908,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 2907,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "9778:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "9768:11:17"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 2913,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "9791:3:17",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 2912,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2906,
                                                "src": "9791:1:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 2914,
                                        "nodeType": "ExpressionStatement",
                                        "src": "9791:3:17"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "9764:207:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2945,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "matchManagerToClient",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2898,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2895,
                                    "name": "client",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2945,
                                    "src": "9669:14:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2894,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9669:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2897,
                                    "name": "country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2945,
                                    "src": "9685:15:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2896,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "9685:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "9668:33:17"
                        },
                        "returnParameters": {
                            "id": 2899,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "9710:0:17"
                        },
                        "scope": 3280,
                        "src": "9639:339:17",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "private"
                    },
                    {
                        "body": {
                            "id": 2993,
                            "nodeType": "Block",
                            "src": "10066:256:17",
                            "statements": [
                                {
                                    "assignments": [
                                        2953
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 2953,
                                            "name": "length",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 2993,
                                            "src": "10077:11:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 2952,
                                                "name": "uint",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "10077:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 2958,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 2954,
                                                "name": "usersbyCountry",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1916,
                                                "src": "10091:14:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                                    "typeString": "mapping(bytes32 => address[] storage ref)"
                                                }
                                            },
                                            "id": 2956,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 2955,
                                                "name": "_country",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2949,
                                                "src": "10106:8:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "10091:24:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                "typeString": "address[] storage ref"
                                            }
                                        },
                                        "id": 2957,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "10091:31:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "10077:45:17"
                                },
                                {
                                    "body": {
                                        "id": 2991,
                                        "nodeType": "Block",
                                        "src": "10164:151:17",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 2977,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 2969,
                                                            "name": "managers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1920,
                                                            "src": "10182:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                "typeString": "mapping(address => address)"
                                                            }
                                                        },
                                                        "id": 2975,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2970,
                                                                    "name": "usersbyCountry",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1916,
                                                                    "src": "10191:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                                                        "typeString": "mapping(bytes32 => address[] storage ref)"
                                                                    }
                                                                },
                                                                "id": 2972,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2971,
                                                                    "name": "_country",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2949,
                                                                    "src": "10206:8:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "10191:24:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                    "typeString": "address[] storage ref"
                                                                }
                                                            },
                                                            "id": 2974,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2973,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 2960,
                                                                "src": "10216:1:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "10191:27:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "10182:37:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 2976,
                                                        "name": "_submanager",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 2947,
                                                        "src": "10221:11:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "10182:50:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 2990,
                                                "nodeType": "IfStatement",
                                                "src": "10179:124:17",
                                                "trueBody": {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 2988,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftHandSide": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 2978,
                                                                "name": "managers",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1920,
                                                                "src": "10251:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                    "typeString": "mapping(address => address)"
                                                                }
                                                            },
                                                            "id": 2984,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2979,
                                                                        "name": "usersbyCountry",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1916,
                                                                        "src": "10260:14:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                                                            "typeString": "mapping(bytes32 => address[] storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 2981,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 2980,
                                                                        "name": "_country",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 2949,
                                                                        "src": "10275:8:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "10260:24:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                        "typeString": "address[] storage ref"
                                                                    }
                                                                },
                                                                "id": 2983,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 2982,
                                                                    "name": "i",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2960,
                                                                    "src": "10285:1:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "10260:27:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "nodeType": "IndexAccess",
                                                            "src": "10251:37:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "nodeType": "Assignment",
                                                        "operator": "=",
                                                        "rightHandSide": {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                {
                                                                    "argumentTypes": null,
                                                                    "hexValue": "307830",
                                                                    "id": 2986,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "kind": "number",
                                                                    "lValueRequested": false,
                                                                    "nodeType": "Literal",
                                                                    "src": "10299:3:17",
                                                                    "subdenomination": null,
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_rational_0_by_1",
                                                                        "typeString": "int_const 0"
                                                                    },
                                                                    "value": "0x0"
                                                                }
                                                            ],
                                                            "expression": {
                                                                "argumentTypes": [
                                                                    {
                                                                        "typeIdentifier": "t_rational_0_by_1",
                                                                        "typeString": "int_const 0"
                                                                    }
                                                                ],
                                                                "id": 2985,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "lValueRequested": false,
                                                                "nodeType": "ElementaryTypeNameExpression",
                                                                "src": "10291:7:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_type$_t_address_$",
                                                                    "typeString": "type(address)"
                                                                },
                                                                "typeName": "address"
                                                            },
                                                            "id": 2987,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "kind": "typeConversion",
                                                            "lValueRequested": false,
                                                            "names": [],
                                                            "nodeType": "FunctionCall",
                                                            "src": "10291:12:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address_payable",
                                                                "typeString": "address payable"
                                                            }
                                                        },
                                                        "src": "10251:52:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "id": 2989,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "10251:52:17"
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 2965,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 2963,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2960,
                                            "src": "10150:1:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 2964,
                                            "name": "length",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 2953,
                                            "src": "10152:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "10150:8:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 2992,
                                    "initializationExpression": {
                                        "assignments": [
                                            2960
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 2960,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 2992,
                                                "src": "10137:9:17",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 2959,
                                                    "name": "uint256",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "10137:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 2962,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 2961,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "10147:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "10137:11:17"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 2967,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "10160:3:17",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 2966,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2960,
                                                "src": "10160:1:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 2968,
                                        "nodeType": "ExpressionStatement",
                                        "src": "10160:3:17"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "10133:182:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 2994,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "unassignManagerFromUser",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2950,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2947,
                                    "name": "_submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2994,
                                    "src": "10019:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2946,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10019:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2949,
                                    "name": "_country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 2994,
                                    "src": "10040:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2948,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10040:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10018:39:17"
                        },
                        "returnParameters": {
                            "id": 2951,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10066:0:17"
                        },
                        "scope": 3280,
                        "src": "9986:336:17",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "private"
                    },
                    {
                        "body": {
                            "id": 3042,
                            "nodeType": "Block",
                            "src": "10406:256:17",
                            "statements": [
                                {
                                    "assignments": [
                                        3002
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 3002,
                                            "name": "length",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 3042,
                                            "src": "10417:11:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 3001,
                                                "name": "uint",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "10417:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 3007,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 3003,
                                                "name": "usersbyCountry",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1916,
                                                "src": "10431:14:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                                    "typeString": "mapping(bytes32 => address[] storage ref)"
                                                }
                                            },
                                            "id": 3005,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 3004,
                                                "name": "_country",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 2998,
                                                "src": "10446:8:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bytes32",
                                                    "typeString": "bytes32"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "10431:24:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                "typeString": "address[] storage ref"
                                            }
                                        },
                                        "id": 3006,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "10431:31:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "10417:45:17"
                                },
                                {
                                    "body": {
                                        "id": 3040,
                                        "nodeType": "Block",
                                        "src": "10504:151:17",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 3028,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 3018,
                                                            "name": "managers",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1920,
                                                            "src": "10522:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                "typeString": "mapping(address => address)"
                                                            }
                                                        },
                                                        "id": 3024,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 3019,
                                                                    "name": "usersbyCountry",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1916,
                                                                    "src": "10531:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                                                        "typeString": "mapping(bytes32 => address[] storage ref)"
                                                                    }
                                                                },
                                                                "id": 3021,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 3020,
                                                                    "name": "_country",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 2998,
                                                                    "src": "10546:8:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "10531:24:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                    "typeString": "address[] storage ref"
                                                                }
                                                            },
                                                            "id": 3023,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 3022,
                                                                "name": "i",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 3009,
                                                                "src": "10556:1:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "10531:27:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "10522:37:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "arguments": [
                                                            {
                                                                "argumentTypes": null,
                                                                "hexValue": "307830",
                                                                "id": 3026,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": true,
                                                                "kind": "number",
                                                                "lValueRequested": false,
                                                                "nodeType": "Literal",
                                                                "src": "10569:3:17",
                                                                "subdenomination": null,
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_rational_0_by_1",
                                                                    "typeString": "int_const 0"
                                                                },
                                                                "value": "0x0"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_rational_0_by_1",
                                                                    "typeString": "int_const 0"
                                                                }
                                                            ],
                                                            "id": 3025,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "nodeType": "ElementaryTypeNameExpression",
                                                            "src": "10561:7:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_type$_t_address_$",
                                                                "typeString": "type(address)"
                                                            },
                                                            "typeName": "address"
                                                        },
                                                        "id": 3027,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "typeConversion",
                                                        "lValueRequested": false,
                                                        "names": [],
                                                        "nodeType": "FunctionCall",
                                                        "src": "10561:12:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "src": "10522:51:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 3039,
                                                "nodeType": "IfStatement",
                                                "src": "10519:124:17",
                                                "trueBody": {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 3037,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftHandSide": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 3029,
                                                                "name": "managers",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1920,
                                                                "src": "10592:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_address_$",
                                                                    "typeString": "mapping(address => address)"
                                                                }
                                                            },
                                                            "id": 3035,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3030,
                                                                        "name": "usersbyCountry",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1916,
                                                                        "src": "10601:14:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_mapping$_t_bytes32_$_t_array$_t_address_$dyn_storage_$",
                                                                            "typeString": "mapping(bytes32 => address[] storage ref)"
                                                                        }
                                                                    },
                                                                    "id": 3032,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3031,
                                                                        "name": "_country",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 2998,
                                                                        "src": "10616:8:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "10601:24:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                        "typeString": "address[] storage ref"
                                                                    }
                                                                },
                                                                "id": 3034,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 3033,
                                                                    "name": "i",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3009,
                                                                    "src": "10626:1:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "10601:27:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "nodeType": "IndexAccess",
                                                            "src": "10592:37:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "nodeType": "Assignment",
                                                        "operator": "=",
                                                        "rightHandSide": {
                                                            "argumentTypes": null,
                                                            "id": 3036,
                                                            "name": "_submanager",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 2996,
                                                            "src": "10632:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "src": "10592:51:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "id": 3038,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "10592:51:17"
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 3014,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 3012,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3009,
                                            "src": "10490:1:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 3013,
                                            "name": "length",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3002,
                                            "src": "10492:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "10490:8:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 3041,
                                    "initializationExpression": {
                                        "assignments": [
                                            3009
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 3009,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 3041,
                                                "src": "10477:9:17",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 3008,
                                                    "name": "uint256",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "10477:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 3011,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 3010,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "10487:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "10477:11:17"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 3016,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "10500:3:17",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 3015,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3009,
                                                "src": "10500:1:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 3017,
                                        "nodeType": "ExpressionStatement",
                                        "src": "10500:3:17"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "10473:182:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 3043,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "assignManagerToUser",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 2999,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 2996,
                                    "name": "_submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3043,
                                    "src": "10359:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 2995,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10359:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 2998,
                                    "name": "_country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3043,
                                    "src": "10380:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 2997,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10380:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10358:39:17"
                        },
                        "returnParameters": {
                            "id": 3000,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "10406:0:17"
                        },
                        "scope": 3280,
                        "src": "10330:332:17",
                        "stateMutability": "nonpayable",
                        "superFunction": null,
                        "visibility": "private"
                    },
                    {
                        "body": {
                            "id": 3055,
                            "nodeType": "Block",
                            "src": "10860:41:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 3050,
                                                "name": "roles",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1924,
                                                "src": "10878:5:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                    "typeString": "mapping(address => struct Client.role storage ref)"
                                                }
                                            },
                                            "id": 3052,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 3051,
                                                "name": "party",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3045,
                                                "src": "10884:5:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "IndexAccess",
                                            "src": "10878:12:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_role_$1879_storage",
                                                "typeString": "struct Client.role storage ref"
                                            }
                                        },
                                        "id": 3053,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "id",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 1878,
                                        "src": "10878:15:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "functionReturnParameters": 3049,
                                    "id": 3054,
                                    "nodeType": "Return",
                                    "src": "10871:22:17"
                                }
                            ]
                        },
                        "documentation": "Gets DP id\r\n@param  party         reference to the party or counterparty in a trade\r",
                        "id": 3056,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getTransferAgent",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 3046,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3045,
                                    "name": "party",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3056,
                                    "src": "10815:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 3044,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10815:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10814:15:17"
                        },
                        "returnParameters": {
                            "id": 3049,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3048,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3056,
                                    "src": "10852:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 3047,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10852:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10851:9:17"
                        },
                        "scope": 3280,
                        "src": "10789:112:17",
                        "stateMutability": "view",
                        "superFunction": 6798,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 3133,
                            "nodeType": "Block",
                            "src": "11002:387:17",
                            "statements": [
                                {
                                    "assignments": [
                                        3069
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 3069,
                                            "name": "sm",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 3133,
                                            "src": "11013:19:17",
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                                "typeString": "address[]"
                                            },
                                            "typeName": {
                                                "baseType": {
                                                    "id": 3067,
                                                    "name": "address",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "11013:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "id": 3068,
                                                "length": null,
                                                "nodeType": "ArrayTypeName",
                                                "src": "11013:9:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                                    "typeString": "address[]"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 3076,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "id": 3073,
                                                    "name": "submanagers",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1927,
                                                    "src": "11049:11:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                        "typeString": "address[] storage ref"
                                                    }
                                                },
                                                "id": 3074,
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "memberName": "length",
                                                "nodeType": "MemberAccess",
                                                "referencedDeclaration": null,
                                                "src": "11049:18:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            ],
                                            "id": 3072,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "lValueRequested": false,
                                            "nodeType": "NewExpression",
                                            "src": "11035:13:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_$",
                                                "typeString": "function (uint256) pure returns (address[] memory)"
                                            },
                                            "typeName": {
                                                "baseType": {
                                                    "id": 3070,
                                                    "name": "address",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "11039:7:17",
                                                    "stateMutability": "nonpayable",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "id": 3071,
                                                "length": null,
                                                "nodeType": "ArrayTypeName",
                                                "src": "11039:9:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                                    "typeString": "address[]"
                                                }
                                            }
                                        },
                                        "id": 3075,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11035:33:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_address_$dyn_memory",
                                            "typeString": "address[] memory"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "11013:55:17"
                                },
                                {
                                    "assignments": [
                                        3078
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 3078,
                                            "name": "j",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 3133,
                                            "src": "11079:9:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 3077,
                                                "name": "uint256",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "11079:7:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 3080,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "30",
                                        "id": 3079,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "number",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11089:1:17",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_rational_0_by_1",
                                            "typeString": "int_const 0"
                                        },
                                        "value": "0"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "11079:11:17"
                                },
                                {
                                    "assignments": [
                                        3082
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 3082,
                                            "name": "length",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 3133,
                                            "src": "11101:11:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            },
                                            "typeName": {
                                                "id": 3081,
                                                "name": "uint",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "11101:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 3085,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 3083,
                                            "name": "submanagers",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1927,
                                            "src": "11115:11:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                "typeString": "address[] storage ref"
                                            }
                                        },
                                        "id": 3084,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "length",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": null,
                                        "src": "11115:18:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        }
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "11101:32:17"
                                },
                                {
                                    "body": {
                                        "id": 3129,
                                        "nodeType": "Block",
                                        "src": "11175:187:17",
                                        "statements": [
                                            {
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    },
                                                    "id": 3112,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        "id": 3103,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 3096,
                                                                    "name": "roles",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1924,
                                                                    "src": "11193:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                        "typeString": "mapping(address => struct Client.role storage ref)"
                                                                    }
                                                                },
                                                                "id": 3100,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3097,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "11199:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 3099,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3098,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3087,
                                                                        "src": "11211:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "11199:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "11193:21:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                    "typeString": "struct Client.role storage ref"
                                                                }
                                                            },
                                                            "id": 3101,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "country",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 1874,
                                                            "src": "11193:29:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 3102,
                                                            "name": "_country",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3058,
                                                            "src": "11224:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "src": "11193:39:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "&&",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "commonType": {
                                                            "typeIdentifier": "t_bytes32",
                                                            "typeString": "bytes32"
                                                        },
                                                        "id": 3111,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "leftExpression": {
                                                            "argumentTypes": null,
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "baseExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 3104,
                                                                    "name": "roles",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 1924,
                                                                    "src": "11236:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                                        "typeString": "mapping(address => struct Client.role storage ref)"
                                                                    }
                                                                },
                                                                "id": 3108,
                                                                "indexExpression": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3105,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "11242:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 3107,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3106,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3087,
                                                                        "src": "11254:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "11242:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "isConstant": false,
                                                                "isLValue": true,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "nodeType": "IndexAccess",
                                                                "src": "11236:21:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_struct$_role_$1879_storage",
                                                                    "typeString": "struct Client.role storage ref"
                                                                }
                                                            },
                                                            "id": 3109,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "memberName": "role",
                                                            "nodeType": "MemberAccess",
                                                            "referencedDeclaration": 1876,
                                                            "src": "11236:26:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "nodeType": "BinaryOperation",
                                                        "operator": "==",
                                                        "rightExpression": {
                                                            "argumentTypes": null,
                                                            "id": 3110,
                                                            "name": "_role",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3060,
                                                            "src": "11264:5:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        "src": "11236:33:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_bool",
                                                            "typeString": "bool"
                                                        }
                                                    },
                                                    "src": "11193:76:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "falseBody": null,
                                                "id": 3128,
                                                "nodeType": "IfStatement",
                                                "src": "11190:161:17",
                                                "trueBody": {
                                                    "id": 3127,
                                                    "nodeType": "Block",
                                                    "src": "11270:81:17",
                                                    "statements": [
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 3119,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3113,
                                                                        "name": "sm",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3069,
                                                                        "src": "11289:2:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                                                            "typeString": "address[] memory"
                                                                        }
                                                                    },
                                                                    "id": 3115,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3114,
                                                                        "name": "j",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3078,
                                                                        "src": "11292:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": true,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "11289:5:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "baseExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3116,
                                                                        "name": "submanagers",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 1927,
                                                                        "src": "11297:11:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_array$_t_address_$dyn_storage",
                                                                            "typeString": "address[] storage ref"
                                                                        }
                                                                    },
                                                                    "id": 3118,
                                                                    "indexExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3117,
                                                                        "name": "i",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3087,
                                                                        "src": "11309:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "nodeType": "IndexAccess",
                                                                    "src": "11297:14:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    }
                                                                },
                                                                "src": "11289:22:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "id": 3120,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "11289:22:17"
                                                        },
                                                        {
                                                            "expression": {
                                                                "argumentTypes": null,
                                                                "id": 3125,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftHandSide": {
                                                                    "argumentTypes": null,
                                                                    "id": 3121,
                                                                    "name": "j",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3078,
                                                                    "src": "11330:1:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "nodeType": "Assignment",
                                                                "operator": "=",
                                                                "rightHandSide": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    },
                                                                    "id": 3124,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "leftExpression": {
                                                                        "argumentTypes": null,
                                                                        "id": 3122,
                                                                        "name": "j",
                                                                        "nodeType": "Identifier",
                                                                        "overloadedDeclarations": [],
                                                                        "referencedDeclaration": 3078,
                                                                        "src": "11332:1:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_uint256",
                                                                            "typeString": "uint256"
                                                                        }
                                                                    },
                                                                    "nodeType": "BinaryOperation",
                                                                    "operator": "+",
                                                                    "rightExpression": {
                                                                        "argumentTypes": null,
                                                                        "hexValue": "31",
                                                                        "id": 3123,
                                                                        "isConstant": false,
                                                                        "isLValue": false,
                                                                        "isPure": true,
                                                                        "kind": "number",
                                                                        "lValueRequested": false,
                                                                        "nodeType": "Literal",
                                                                        "src": "11334:1:17",
                                                                        "subdenomination": null,
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_rational_1_by_1",
                                                                            "typeString": "int_const 1"
                                                                        },
                                                                        "value": "1"
                                                                    },
                                                                    "src": "11332:3:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    }
                                                                },
                                                                "src": "11330:5:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "id": 3126,
                                                            "nodeType": "ExpressionStatement",
                                                            "src": "11330:5:17"
                                                        }
                                                    ]
                                                }
                                            }
                                        ]
                                    },
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_uint256",
                                            "typeString": "uint256"
                                        },
                                        "id": 3092,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "id": 3090,
                                            "name": "i",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3087,
                                            "src": "11161:1:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "<",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "id": 3091,
                                            "name": "length",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3082,
                                            "src": "11163:6:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "src": "11161:8:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "id": 3130,
                                    "initializationExpression": {
                                        "assignments": [
                                            3087
                                        ],
                                        "declarations": [
                                            {
                                                "constant": false,
                                                "id": 3087,
                                                "name": "i",
                                                "nodeType": "VariableDeclaration",
                                                "scope": 3130,
                                                "src": "11148:9:17",
                                                "stateVariable": false,
                                                "storageLocation": "default",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                },
                                                "typeName": {
                                                    "id": 3086,
                                                    "name": "uint256",
                                                    "nodeType": "ElementaryTypeName",
                                                    "src": "11148:7:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "value": null,
                                                "visibility": "internal"
                                            }
                                        ],
                                        "id": 3089,
                                        "initialValue": {
                                            "argumentTypes": null,
                                            "hexValue": "30",
                                            "id": 3088,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "number",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "11158:1:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_rational_0_by_1",
                                                "typeString": "int_const 0"
                                            },
                                            "value": "0"
                                        },
                                        "nodeType": "VariableDeclarationStatement",
                                        "src": "11148:11:17"
                                    },
                                    "loopExpression": {
                                        "expression": {
                                            "argumentTypes": null,
                                            "id": 3094,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "nodeType": "UnaryOperation",
                                            "operator": "++",
                                            "prefix": false,
                                            "src": "11171:3:17",
                                            "subExpression": {
                                                "argumentTypes": null,
                                                "id": 3093,
                                                "name": "i",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3087,
                                                "src": "11171:1:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_uint256",
                                                    "typeString": "uint256"
                                                }
                                            },
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_uint256",
                                                "typeString": "uint256"
                                            }
                                        },
                                        "id": 3095,
                                        "nodeType": "ExpressionStatement",
                                        "src": "11171:3:17"
                                    },
                                    "nodeType": "ForStatement",
                                    "src": "11144:218:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 3131,
                                        "name": "sm",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 3069,
                                        "src": "11379:2:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                            "typeString": "address[] memory"
                                        }
                                    },
                                    "functionReturnParameters": 3065,
                                    "id": 3132,
                                    "nodeType": "Return",
                                    "src": "11372:9:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 3134,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getManagers",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 3061,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3058,
                                    "name": "_country",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3134,
                                    "src": "10930:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 3057,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10930:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 3060,
                                    "name": "_role",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3134,
                                    "src": "10948:13:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 3059,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "10948:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10929:33:17"
                        },
                        "returnParameters": {
                            "id": 3065,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3064,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3134,
                                    "src": "10985:16:17",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
                                        "typeString": "address[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "id": 3062,
                                            "name": "address",
                                            "nodeType": "ElementaryTypeName",
                                            "src": "10985:7:17",
                                            "stateMutability": "nonpayable",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "id": 3063,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "10985:9:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
                                            "typeString": "address[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "10984:18:17"
                        },
                        "scope": 3280,
                        "src": "10909:480:17",
                        "stateMutability": "view",
                        "superFunction": null,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 3226,
                            "nodeType": "Block",
                            "src": "11493:724:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                },
                                                "id": 3147,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 3144,
                                                        "name": "msg",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 9424,
                                                        "src": "11512:3:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_magic_message",
                                                            "typeString": "msg"
                                                        }
                                                    },
                                                    "id": 3145,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "sender",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "11512:10:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address_payable",
                                                        "typeString": "address payable"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "==",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "id": 3146,
                                                    "name": "_submanager",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3136,
                                                    "src": "11524:11:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "src": "11512:23:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 3148,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "11537:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 3143,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "11504:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 3149,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "11504:55:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 3150,
                                    "nodeType": "ExpressionStatement",
                                    "src": "11504:55:17"
                                },
                                {
                                    "assignments": [
                                        3152
                                    ],
                                    "declarations": [
                                        {
                                            "constant": false,
                                            "id": 3152,
                                            "name": "found",
                                            "nodeType": "VariableDeclaration",
                                            "scope": 3226,
                                            "src": "11570:10:17",
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            },
                                            "typeName": {
                                                "id": 3151,
                                                "name": "bool",
                                                "nodeType": "ElementaryTypeName",
                                                "src": "11570:4:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            "value": null,
                                            "visibility": "internal"
                                        }
                                    ],
                                    "id": 3154,
                                    "initialValue": {
                                        "argumentTypes": null,
                                        "hexValue": "66616c7365",
                                        "id": 3153,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": true,
                                        "kind": "bool",
                                        "lValueRequested": false,
                                        "nodeType": "Literal",
                                        "src": "11583:5:17",
                                        "subdenomination": null,
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        },
                                        "value": "false"
                                    },
                                    "nodeType": "VariableDeclarationStatement",
                                    "src": "11570:18:17"
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "commonType": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        },
                                        "id": 3160,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftExpression": {
                                            "argumentTypes": null,
                                            "expression": {
                                                "argumentTypes": null,
                                                "baseExpression": {
                                                    "argumentTypes": null,
                                                    "id": 3155,
                                                    "name": "roles",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 1924,
                                                    "src": "11602:5:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_role_$1879_storage_$",
                                                        "typeString": "mapping(address => struct Client.role storage ref)"
                                                    }
                                                },
                                                "id": 3157,
                                                "indexExpression": {
                                                    "argumentTypes": null,
                                                    "id": 3156,
                                                    "name": "_submanager",
                                                    "nodeType": "Identifier",
                                                    "overloadedDeclarations": [],
                                                    "referencedDeclaration": 3136,
                                                    "src": "11608:11:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    }
                                                },
                                                "isConstant": false,
                                                "isLValue": true,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "nodeType": "IndexAccess",
                                                "src": "11602:18:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_struct$_role_$1879_storage",
                                                    "typeString": "struct Client.role storage ref"
                                                }
                                            },
                                            "id": 3158,
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": false,
                                            "memberName": "country",
                                            "nodeType": "MemberAccess",
                                            "referencedDeclaration": 1874,
                                            "src": "11602:26:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "BinaryOperation",
                                        "operator": "!=",
                                        "rightExpression": {
                                            "argumentTypes": null,
                                            "hexValue": "",
                                            "id": 3159,
                                            "isConstant": false,
                                            "isLValue": false,
                                            "isPure": true,
                                            "kind": "string",
                                            "lValueRequested": false,
                                            "nodeType": "Literal",
                                            "src": "11630:2:17",
                                            "subdenomination": null,
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                                "typeString": "literal_string \"\""
                                            },
                                            "value": ""
                                        },
                                        "src": "11602:30:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 3204,
                                    "nodeType": "IfStatement",
                                    "src": "11599:353:17",
                                    "trueBody": {
                                        "id": 3203,
                                        "nodeType": "Block",
                                        "src": "11633:319:17",
                                        "statements": [
                                            {
                                                "assignments": [
                                                    3162
                                                ],
                                                "declarations": [
                                                    {
                                                        "constant": false,
                                                        "id": 3162,
                                                        "name": "length",
                                                        "nodeType": "VariableDeclaration",
                                                        "scope": 3203,
                                                        "src": "11648:11:17",
                                                        "stateVariable": false,
                                                        "storageLocation": "default",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        },
                                                        "typeName": {
                                                            "id": 3161,
                                                            "name": "uint",
                                                            "nodeType": "ElementaryTypeName",
                                                            "src": "11648:4:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    }
                                                ],
                                                "id": 3167,
                                                "initialValue": {
                                                    "argumentTypes": null,
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "baseExpression": {
                                                            "argumentTypes": null,
                                                            "id": 3163,
                                                            "name": "accounts",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 1936,
                                                            "src": "11662:8:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_$",
                                                                "typeString": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)"
                                                            }
                                                        },
                                                        "id": 3165,
                                                        "indexExpression": {
                                                            "argumentTypes": null,
                                                            "id": 3164,
                                                            "name": "_submanager",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3136,
                                                            "src": "11671:11:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            }
                                                        },
                                                        "isConstant": false,
                                                        "isLValue": true,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "IndexAccess",
                                                        "src": "11662:21:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_array$_t_struct$_custodian_$6699_storage_$dyn_storage",
                                                            "typeString": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                        }
                                                    },
                                                    "id": 3166,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "memberName": "length",
                                                    "nodeType": "MemberAccess",
                                                    "referencedDeclaration": null,
                                                    "src": "11662:28:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "nodeType": "VariableDeclarationStatement",
                                                "src": "11648:42:17"
                                            },
                                            {
                                                "body": {
                                                    "id": 3201,
                                                    "nodeType": "Block",
                                                    "src": "11736:205:17",
                                                    "statements": [
                                                        {
                                                            "condition": {
                                                                "argumentTypes": null,
                                                                "commonType": {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                "id": 3185,
                                                                "isConstant": false,
                                                                "isLValue": false,
                                                                "isPure": false,
                                                                "lValueRequested": false,
                                                                "leftExpression": {
                                                                    "argumentTypes": null,
                                                                    "expression": {
                                                                        "argumentTypes": null,
                                                                        "baseExpression": {
                                                                            "argumentTypes": null,
                                                                            "baseExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 3178,
                                                                                "name": "accounts",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 1936,
                                                                                "src": "11758:8:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_$",
                                                                                    "typeString": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)"
                                                                                }
                                                                            },
                                                                            "id": 3180,
                                                                            "indexExpression": {
                                                                                "argumentTypes": null,
                                                                                "id": 3179,
                                                                                "name": "_submanager",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3136,
                                                                                "src": "11767:11:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "nodeType": "IndexAccess",
                                                                            "src": "11758:21:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_array$_t_struct$_custodian_$6699_storage_$dyn_storage",
                                                                                "typeString": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                                            }
                                                                        },
                                                                        "id": 3182,
                                                                        "indexExpression": {
                                                                            "argumentTypes": null,
                                                                            "id": 3181,
                                                                            "name": "i",
                                                                            "nodeType": "Identifier",
                                                                            "overloadedDeclarations": [],
                                                                            "referencedDeclaration": 3169,
                                                                            "src": "11780:1:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_uint256",
                                                                                "typeString": "uint256"
                                                                            }
                                                                        },
                                                                        "isConstant": false,
                                                                        "isLValue": true,
                                                                        "isPure": false,
                                                                        "lValueRequested": false,
                                                                        "nodeType": "IndexAccess",
                                                                        "src": "11758:24:17",
                                                                        "typeDescriptions": {
                                                                            "typeIdentifier": "t_struct$_custodian_$6699_storage",
                                                                            "typeString": "struct VerifiedClient.custodian storage ref"
                                                                        }
                                                                    },
                                                                    "id": 3183,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "memberName": "currency",
                                                                    "nodeType": "MemberAccess",
                                                                    "referencedDeclaration": 6696,
                                                                    "src": "11758:33:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "nodeType": "BinaryOperation",
                                                                "operator": "==",
                                                                "rightExpression": {
                                                                    "argumentTypes": null,
                                                                    "id": 3184,
                                                                    "name": "_currency",
                                                                    "nodeType": "Identifier",
                                                                    "overloadedDeclarations": [],
                                                                    "referencedDeclaration": 3138,
                                                                    "src": "11793:9:17",
                                                                    "typeDescriptions": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    }
                                                                },
                                                                "src": "11758:44:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_bool",
                                                                    "typeString": "bool"
                                                                }
                                                            },
                                                            "falseBody": null,
                                                            "id": 3200,
                                                            "nodeType": "IfStatement",
                                                            "src": "11755:171:17",
                                                            "trueBody": {
                                                                "id": 3199,
                                                                "nodeType": "Block",
                                                                "src": "11803:123:17",
                                                                "statements": [
                                                                    {
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 3193,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftHandSide": {
                                                                                "argumentTypes": null,
                                                                                "expression": {
                                                                                    "argumentTypes": null,
                                                                                    "baseExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "baseExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 3186,
                                                                                            "name": "accounts",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 1936,
                                                                                            "src": "11826:8:17",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_$",
                                                                                                "typeString": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)"
                                                                                            }
                                                                                        },
                                                                                        "id": 3189,
                                                                                        "indexExpression": {
                                                                                            "argumentTypes": null,
                                                                                            "id": 3187,
                                                                                            "name": "_submanager",
                                                                                            "nodeType": "Identifier",
                                                                                            "overloadedDeclarations": [],
                                                                                            "referencedDeclaration": 3136,
                                                                                            "src": "11835:11:17",
                                                                                            "typeDescriptions": {
                                                                                                "typeIdentifier": "t_address",
                                                                                                "typeString": "address"
                                                                                            }
                                                                                        },
                                                                                        "isConstant": false,
                                                                                        "isLValue": true,
                                                                                        "isPure": false,
                                                                                        "lValueRequested": false,
                                                                                        "nodeType": "IndexAccess",
                                                                                        "src": "11826:21:17",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_array$_t_struct$_custodian_$6699_storage_$dyn_storage",
                                                                                            "typeString": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                                                        }
                                                                                    },
                                                                                    "id": 3190,
                                                                                    "indexExpression": {
                                                                                        "argumentTypes": null,
                                                                                        "id": 3188,
                                                                                        "name": "i",
                                                                                        "nodeType": "Identifier",
                                                                                        "overloadedDeclarations": [],
                                                                                        "referencedDeclaration": 3169,
                                                                                        "src": "11848:1:17",
                                                                                        "typeDescriptions": {
                                                                                            "typeIdentifier": "t_uint256",
                                                                                            "typeString": "uint256"
                                                                                        }
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "nodeType": "IndexAccess",
                                                                                    "src": "11826:24:17",
                                                                                    "typeDescriptions": {
                                                                                        "typeIdentifier": "t_struct$_custodian_$6699_storage",
                                                                                        "typeString": "struct VerifiedClient.custodian storage ref"
                                                                                    }
                                                                                },
                                                                                "id": 3191,
                                                                                "isConstant": false,
                                                                                "isLValue": true,
                                                                                "isPure": false,
                                                                                "lValueRequested": true,
                                                                                "memberName": "account",
                                                                                "nodeType": "MemberAccess",
                                                                                "referencedDeclaration": 6698,
                                                                                "src": "11826:32:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            },
                                                                            "nodeType": "Assignment",
                                                                            "operator": "=",
                                                                            "rightHandSide": {
                                                                                "argumentTypes": null,
                                                                                "id": 3192,
                                                                                "name": "_accountId",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3140,
                                                                                "src": "11861:10:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            },
                                                                            "src": "11826:45:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            }
                                                                        },
                                                                        "id": 3194,
                                                                        "nodeType": "ExpressionStatement",
                                                                        "src": "11826:45:17"
                                                                    },
                                                                    {
                                                                        "expression": {
                                                                            "argumentTypes": null,
                                                                            "id": 3197,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "leftHandSide": {
                                                                                "argumentTypes": null,
                                                                                "id": 3195,
                                                                                "name": "found",
                                                                                "nodeType": "Identifier",
                                                                                "overloadedDeclarations": [],
                                                                                "referencedDeclaration": 3152,
                                                                                "src": "11894:5:17",
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bool",
                                                                                    "typeString": "bool"
                                                                                }
                                                                            },
                                                                            "nodeType": "Assignment",
                                                                            "operator": "=",
                                                                            "rightHandSide": {
                                                                                "argumentTypes": null,
                                                                                "hexValue": "74727565",
                                                                                "id": 3196,
                                                                                "isConstant": false,
                                                                                "isLValue": false,
                                                                                "isPure": true,
                                                                                "kind": "bool",
                                                                                "lValueRequested": false,
                                                                                "nodeType": "Literal",
                                                                                "src": "11902:4:17",
                                                                                "subdenomination": null,
                                                                                "typeDescriptions": {
                                                                                    "typeIdentifier": "t_bool",
                                                                                    "typeString": "bool"
                                                                                },
                                                                                "value": "true"
                                                                            },
                                                                            "src": "11894:12:17",
                                                                            "typeDescriptions": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            }
                                                                        },
                                                                        "id": 3198,
                                                                        "nodeType": "ExpressionStatement",
                                                                        "src": "11894:12:17"
                                                                    }
                                                                ]
                                                            }
                                                        }
                                                    ]
                                                },
                                                "condition": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "id": 3174,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "id": 3172,
                                                        "name": "i",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3169,
                                                        "src": "11722:1:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "<",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 3173,
                                                        "name": "length",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3162,
                                                        "src": "11724:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "src": "11722:8:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "id": 3202,
                                                "initializationExpression": {
                                                    "assignments": [
                                                        3169
                                                    ],
                                                    "declarations": [
                                                        {
                                                            "constant": false,
                                                            "id": 3169,
                                                            "name": "i",
                                                            "nodeType": "VariableDeclaration",
                                                            "scope": 3202,
                                                            "src": "11709:9:17",
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            },
                                                            "typeName": {
                                                                "id": 3168,
                                                                "name": "uint256",
                                                                "nodeType": "ElementaryTypeName",
                                                                "src": "11709:7:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            },
                                                            "value": null,
                                                            "visibility": "internal"
                                                        }
                                                    ],
                                                    "id": 3171,
                                                    "initialValue": {
                                                        "argumentTypes": null,
                                                        "hexValue": "30",
                                                        "id": 3170,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": true,
                                                        "kind": "number",
                                                        "lValueRequested": false,
                                                        "nodeType": "Literal",
                                                        "src": "11719:1:17",
                                                        "subdenomination": null,
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_rational_0_by_1",
                                                            "typeString": "int_const 0"
                                                        },
                                                        "value": "0"
                                                    },
                                                    "nodeType": "VariableDeclarationStatement",
                                                    "src": "11709:11:17"
                                                },
                                                "loopExpression": {
                                                    "expression": {
                                                        "argumentTypes": null,
                                                        "id": 3176,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "nodeType": "UnaryOperation",
                                                        "operator": "++",
                                                        "prefix": false,
                                                        "src": "11732:3:17",
                                                        "subExpression": {
                                                            "argumentTypes": null,
                                                            "id": 3175,
                                                            "name": "i",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3169,
                                                            "src": "11732:1:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_uint256",
                                                                "typeString": "uint256"
                                                            }
                                                        },
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_uint256",
                                                            "typeString": "uint256"
                                                        }
                                                    },
                                                    "id": 3177,
                                                    "nodeType": "ExpressionStatement",
                                                    "src": "11732:3:17"
                                                },
                                                "nodeType": "ForStatement",
                                                "src": "11705:236:17"
                                            }
                                        ]
                                    }
                                },
                                {
                                    "condition": {
                                        "argumentTypes": null,
                                        "id": 3206,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "UnaryOperation",
                                        "operator": "!",
                                        "prefix": true,
                                        "src": "11965:6:17",
                                        "subExpression": {
                                            "argumentTypes": null,
                                            "id": 3205,
                                            "name": "found",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3152,
                                            "src": "11966:5:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bool",
                                                "typeString": "bool"
                                            }
                                        },
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bool",
                                            "typeString": "bool"
                                        }
                                    },
                                    "falseBody": null,
                                    "id": 3225,
                                    "nodeType": "IfStatement",
                                    "src": "11962:236:17",
                                    "trueBody": {
                                        "id": 3224,
                                        "nodeType": "Block",
                                        "src": "11972:226:17",
                                        "statements": [
                                            {
                                                "assignments": [
                                                    3210
                                                ],
                                                "declarations": [
                                                    {
                                                        "constant": false,
                                                        "id": 3210,
                                                        "name": "c",
                                                        "nodeType": "VariableDeclaration",
                                                        "scope": 3224,
                                                        "src": "11987:33:17",
                                                        "stateVariable": false,
                                                        "storageLocation": "memory",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_struct$_custodian_$6699_memory_ptr",
                                                            "typeString": "struct VerifiedClient.custodian"
                                                        },
                                                        "typeName": {
                                                            "contractScope": null,
                                                            "id": 3209,
                                                            "name": "VerifiedClient.custodian",
                                                            "nodeType": "UserDefinedTypeName",
                                                            "referencedDeclaration": 6699,
                                                            "src": "11987:24:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_custodian_$6699_storage_ptr",
                                                                "typeString": "struct VerifiedClient.custodian"
                                                            }
                                                        },
                                                        "value": null,
                                                        "visibility": "internal"
                                                    }
                                                ],
                                                "id": 3216,
                                                "initialValue": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 3213,
                                                            "name": "_currency",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3138,
                                                            "src": "12078:9:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        },
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 3214,
                                                            "name": "_accountId",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3140,
                                                            "src": "12116:10:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            },
                                                            {
                                                                "typeIdentifier": "t_bytes32",
                                                                "typeString": "bytes32"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 3211,
                                                            "name": "VerifiedClient",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 6873,
                                                            "src": "12023:14:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_type$_t_contract$_VerifiedClient_$6873_$",
                                                                "typeString": "type(contract VerifiedClient)"
                                                            }
                                                        },
                                                        "id": 3212,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "custodian",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": 6699,
                                                        "src": "12023:24:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_type$_t_struct$_custodian_$6699_storage_ptr_$",
                                                            "typeString": "type(struct VerifiedClient.custodian storage pointer)"
                                                        }
                                                    },
                                                    "id": 3215,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "structConstructorCall",
                                                    "lValueRequested": false,
                                                    "names": [
                                                        "currency",
                                                        "account"
                                                    ],
                                                    "nodeType": "FunctionCall",
                                                    "src": "12023:119:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_struct$_custodian_$6699_memory",
                                                        "typeString": "struct VerifiedClient.custodian memory"
                                                    }
                                                },
                                                "nodeType": "VariableDeclarationStatement",
                                                "src": "11987:155:17"
                                            },
                                            {
                                                "expression": {
                                                    "argumentTypes": null,
                                                    "arguments": [
                                                        {
                                                            "argumentTypes": null,
                                                            "id": 3221,
                                                            "name": "c",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 3210,
                                                            "src": "12184:1:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_struct$_custodian_$6699_memory_ptr",
                                                                "typeString": "struct VerifiedClient.custodian memory"
                                                            }
                                                        }
                                                    ],
                                                    "expression": {
                                                        "argumentTypes": [
                                                            {
                                                                "typeIdentifier": "t_struct$_custodian_$6699_memory_ptr",
                                                                "typeString": "struct VerifiedClient.custodian memory"
                                                            }
                                                        ],
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "baseExpression": {
                                                                "argumentTypes": null,
                                                                "id": 3217,
                                                                "name": "accounts",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 1936,
                                                                "src": "12157:8:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_$",
                                                                    "typeString": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)"
                                                                }
                                                            },
                                                            "id": 3219,
                                                            "indexExpression": {
                                                                "argumentTypes": null,
                                                                "id": 3218,
                                                                "name": "_submanager",
                                                                "nodeType": "Identifier",
                                                                "overloadedDeclarations": [],
                                                                "referencedDeclaration": 3136,
                                                                "src": "12166:11:17",
                                                                "typeDescriptions": {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "nodeType": "IndexAccess",
                                                            "src": "12157:21:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_array$_t_struct$_custodian_$6699_storage_$dyn_storage",
                                                                "typeString": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                            }
                                                        },
                                                        "id": 3220,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "push",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "12157:26:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_custodian_$6699_storage_$returns$_t_uint256_$",
                                                            "typeString": "function (struct VerifiedClient.custodian storage ref) returns (uint256)"
                                                        }
                                                    },
                                                    "id": 3222,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "kind": "functionCall",
                                                    "lValueRequested": false,
                                                    "names": [],
                                                    "nodeType": "FunctionCall",
                                                    "src": "12157:29:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    }
                                                },
                                                "id": 3223,
                                                "nodeType": "ExpressionStatement",
                                                "src": "12157:29:17"
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 3227,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "setCustodyAccount",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 3141,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3136,
                                    "name": "_submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3227,
                                    "src": "11424:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 3135,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11424:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 3138,
                                    "name": "_currency",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3227,
                                    "src": "11445:17:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 3137,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11445:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 3140,
                                    "name": "_accountId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3227,
                                    "src": "11464:18:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 3139,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "11464:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "11423:60:17"
                        },
                        "returnParameters": {
                            "id": 3142,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "11493:0:17"
                        },
                        "scope": 3280,
                        "src": "11397:820:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6850,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 3239,
                            "nodeType": "Block",
                            "src": "12314:47:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 3235,
                                            "name": "accounts",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1936,
                                            "src": "12332:8:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_$",
                                                "typeString": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)"
                                            }
                                        },
                                        "id": 3237,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 3236,
                                            "name": "_submanager",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3229,
                                            "src": "12341:11:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "12332:21:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_custodian_$6699_storage_$dyn_storage",
                                            "typeString": "struct VerifiedClient.custodian storage ref[] storage ref"
                                        }
                                    },
                                    "functionReturnParameters": 3234,
                                    "id": 3238,
                                    "nodeType": "Return",
                                    "src": "12325:28:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 3240,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getCustodyAccount",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 3230,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3229,
                                    "name": "_submanager",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3240,
                                    "src": "12252:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 3228,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12252:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12251:21:17"
                        },
                        "returnParameters": {
                            "id": 3234,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3233,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3240,
                                    "src": "12295:18:17",
                                    "stateVariable": false,
                                    "storageLocation": "memory",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_custodian_$6699_memory_$dyn_memory_ptr",
                                        "typeString": "struct VerifiedClient.custodian[]"
                                    },
                                    "typeName": {
                                        "baseType": {
                                            "contractScope": null,
                                            "id": 3231,
                                            "name": "custodian",
                                            "nodeType": "UserDefinedTypeName",
                                            "referencedDeclaration": 6699,
                                            "src": "12295:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_struct$_custodian_$6699_storage_ptr",
                                                "typeString": "struct VerifiedClient.custodian"
                                            }
                                        },
                                        "id": 3232,
                                        "length": null,
                                        "nodeType": "ArrayTypeName",
                                        "src": "12295:11:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_array$_t_struct$_custodian_$6699_storage_$dyn_storage_ptr",
                                            "typeString": "struct VerifiedClient.custodian[]"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12294:20:17"
                        },
                        "scope": 3280,
                        "src": "12225:136:17",
                        "stateMutability": "view",
                        "superFunction": 6858,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 3266,
                            "nodeType": "Block",
                            "src": "12437:146:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "arguments": [
                                            {
                                                "argumentTypes": null,
                                                "commonType": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                "id": 3256,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": false,
                                                "lValueRequested": false,
                                                "leftExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 3251,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 3248,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "12456:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 3249,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "12456:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 3250,
                                                        "name": "userAddress",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 3242,
                                                        "src": "12468:11:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "12456:23:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "nodeType": "BinaryOperation",
                                                "operator": "||",
                                                "rightExpression": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "id": 3255,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "leftExpression": {
                                                        "argumentTypes": null,
                                                        "expression": {
                                                            "argumentTypes": null,
                                                            "id": 3252,
                                                            "name": "msg",
                                                            "nodeType": "Identifier",
                                                            "overloadedDeclarations": [],
                                                            "referencedDeclaration": 9424,
                                                            "src": "12483:3:17",
                                                            "typeDescriptions": {
                                                                "typeIdentifier": "t_magic_message",
                                                                "typeString": "msg"
                                                            }
                                                        },
                                                        "id": 3253,
                                                        "isConstant": false,
                                                        "isLValue": false,
                                                        "isPure": false,
                                                        "lValueRequested": false,
                                                        "memberName": "sender",
                                                        "nodeType": "MemberAccess",
                                                        "referencedDeclaration": null,
                                                        "src": "12483:10:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address_payable",
                                                            "typeString": "address payable"
                                                        }
                                                    },
                                                    "nodeType": "BinaryOperation",
                                                    "operator": "==",
                                                    "rightExpression": {
                                                        "argumentTypes": null,
                                                        "id": 3254,
                                                        "name": "bridge",
                                                        "nodeType": "Identifier",
                                                        "overloadedDeclarations": [],
                                                        "referencedDeclaration": 1870,
                                                        "src": "12495:6:17",
                                                        "typeDescriptions": {
                                                            "typeIdentifier": "t_address",
                                                            "typeString": "address"
                                                        }
                                                    },
                                                    "src": "12483:18:17",
                                                    "typeDescriptions": {
                                                        "typeIdentifier": "t_bool",
                                                        "typeString": "bool"
                                                    }
                                                },
                                                "src": "12456:45:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                }
                                            },
                                            {
                                                "argumentTypes": null,
                                                "hexValue": "556e617574686f72697a656420616363657373",
                                                "id": 3257,
                                                "isConstant": false,
                                                "isLValue": false,
                                                "isPure": true,
                                                "kind": "string",
                                                "lValueRequested": false,
                                                "nodeType": "Literal",
                                                "src": "12503:21:17",
                                                "subdenomination": null,
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                },
                                                "value": "Unauthorized access"
                                            }
                                        ],
                                        "expression": {
                                            "argumentTypes": [
                                                {
                                                    "typeIdentifier": "t_bool",
                                                    "typeString": "bool"
                                                },
                                                {
                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                    "typeString": "literal_string \"Unauthorized access\""
                                                }
                                            ],
                                            "id": 3247,
                                            "name": "require",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [
                                                9427,
                                                9428
                                            ],
                                            "referencedDeclaration": 9428,
                                            "src": "12448:7:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                                                "typeString": "function (bool,string memory) pure"
                                            }
                                        },
                                        "id": 3258,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "kind": "functionCall",
                                        "lValueRequested": false,
                                        "names": [],
                                        "nodeType": "FunctionCall",
                                        "src": "12448:77:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_tuple$__$",
                                            "typeString": "tuple()"
                                        }
                                    },
                                    "id": 3259,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12448:77:17"
                                },
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "id": 3264,
                                        "isConstant": false,
                                        "isLValue": false,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "leftHandSide": {
                                            "argumentTypes": null,
                                            "baseExpression": {
                                                "argumentTypes": null,
                                                "id": 3260,
                                                "name": "custodyAccount",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 1940,
                                                "src": "12536:14:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
                                                    "typeString": "mapping(address => bytes32)"
                                                }
                                            },
                                            "id": 3262,
                                            "indexExpression": {
                                                "argumentTypes": null,
                                                "id": 3261,
                                                "name": "userAddress",
                                                "nodeType": "Identifier",
                                                "overloadedDeclarations": [],
                                                "referencedDeclaration": 3242,
                                                "src": "12551:11:17",
                                                "typeDescriptions": {
                                                    "typeIdentifier": "t_address",
                                                    "typeString": "address"
                                                }
                                            },
                                            "isConstant": false,
                                            "isLValue": true,
                                            "isPure": false,
                                            "lValueRequested": true,
                                            "nodeType": "IndexAccess",
                                            "src": "12536:27:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "nodeType": "Assignment",
                                        "operator": "=",
                                        "rightHandSide": {
                                            "argumentTypes": null,
                                            "id": 3263,
                                            "name": "accountId",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3244,
                                            "src": "12566:9:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_bytes32",
                                                "typeString": "bytes32"
                                            }
                                        },
                                        "src": "12536:39:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "id": 3265,
                                    "nodeType": "ExpressionStatement",
                                    "src": "12536:39:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 3267,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "setCustody",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 3245,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3242,
                                    "name": "userAddress",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3267,
                                    "src": "12389:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 3241,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12389:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                },
                                {
                                    "constant": false,
                                    "id": 3244,
                                    "name": "accountId",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3267,
                                    "src": "12410:17:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 3243,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12410:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12388:40:17"
                        },
                        "returnParameters": {
                            "id": 3246,
                            "nodeType": "ParameterList",
                            "parameters": [],
                            "src": "12437:0:17"
                        },
                        "scope": 3280,
                        "src": "12369:214:17",
                        "stateMutability": "nonpayable",
                        "superFunction": 6865,
                        "visibility": "external"
                    },
                    {
                        "body": {
                            "id": 3278,
                            "nodeType": "Block",
                            "src": "12662:53:17",
                            "statements": [
                                {
                                    "expression": {
                                        "argumentTypes": null,
                                        "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 3274,
                                            "name": "custodyAccount",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 1940,
                                            "src": "12680:14:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_mapping$_t_address_$_t_bytes32_$",
                                                "typeString": "mapping(address => bytes32)"
                                            }
                                        },
                                        "id": 3276,
                                        "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 3275,
                                            "name": "userAddress",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 3269,
                                            "src": "12695:11:17",
                                            "typeDescriptions": {
                                                "typeIdentifier": "t_address",
                                                "typeString": "address"
                                            }
                                        },
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "nodeType": "IndexAccess",
                                        "src": "12680:27:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "functionReturnParameters": 3273,
                                    "id": 3277,
                                    "nodeType": "Return",
                                    "src": "12673:34:17"
                                }
                            ]
                        },
                        "documentation": null,
                        "id": 3279,
                        "implemented": true,
                        "kind": "function",
                        "modifiers": [],
                        "name": "getCustody",
                        "nodeType": "FunctionDefinition",
                        "parameters": {
                            "id": 3270,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3269,
                                    "name": "userAddress",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3279,
                                    "src": "12611:19:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_address",
                                        "typeString": "address"
                                    },
                                    "typeName": {
                                        "id": 3268,
                                        "name": "address",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12611:7:17",
                                        "stateMutability": "nonpayable",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_address",
                                            "typeString": "address"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12610:21:17"
                        },
                        "returnParameters": {
                            "id": 3273,
                            "nodeType": "ParameterList",
                            "parameters": [
                                {
                                    "constant": false,
                                    "id": 3272,
                                    "name": "",
                                    "nodeType": "VariableDeclaration",
                                    "scope": 3279,
                                    "src": "12654:7:17",
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "typeDescriptions": {
                                        "typeIdentifier": "t_bytes32",
                                        "typeString": "bytes32"
                                    },
                                    "typeName": {
                                        "id": 3271,
                                        "name": "bytes32",
                                        "nodeType": "ElementaryTypeName",
                                        "src": "12654:7:17",
                                        "typeDescriptions": {
                                            "typeIdentifier": "t_bytes32",
                                            "typeString": "bytes32"
                                        }
                                    },
                                    "value": null,
                                    "visibility": "internal"
                                }
                            ],
                            "src": "12653:9:17"
                        },
                        "scope": 3280,
                        "src": "12591:124:17",
                        "stateMutability": "view",
                        "superFunction": 6872,
                        "visibility": "external"
                    }
                ],
                "scope": 3281,
                "src": "364:12356:17"
            }
        ],
        "src": "112:12608:17"
    },
    "legacyAST": {
        "attributes": {
            "absolutePath": "project:/contracts/Client.sol",
            "exportedSymbols": {
                "Client": [
                    3280
                ]
            }
        },
        "children": [
            {
                "attributes": {
                    "literals": [
                        "solidity",
                        "0.5",
                        ".7"
                    ]
                },
                "id": 1858,
                "name": "PragmaDirective",
                "src": "112:22:17"
            },
            {
                "attributes": {
                    "literals": [
                        "experimental",
                        "ABIEncoderV2"
                    ]
                },
                "id": 1859,
                "name": "PragmaDirective",
                "src": "136:33:17"
            },
            {
                "attributes": {
                    "SourceUnit": 6874,
                    "absolutePath": "project:/contracts/interfaces/VerifiedClient.sol",
                    "file": "./interfaces/VerifiedClient.sol",
                    "scope": 3281,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 1860,
                "name": "ImportDirective",
                "src": "173:41:17"
            },
            {
                "attributes": {
                    "SourceUnit": 1043,
                    "absolutePath": "@openzeppelin/upgrades/contracts/Initializable.sol",
                    "file": "@openzeppelin/upgrades/contracts/Initializable.sol",
                    "scope": 3281,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 1861,
                "name": "ImportDirective",
                "src": "216:60:17"
            },
            {
                "attributes": {
                    "SourceUnit": 410,
                    "absolutePath": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                    "file": "@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol",
                    "scope": 3281,
                    "symbolAliases": [
                        null
                    ],
                    "unitAlias": ""
                },
                "id": 1862,
                "name": "ImportDirective",
                "src": "278:82:17"
            },
            {
                "attributes": {
                    "contractDependencies": [
                        29,
                        409,
                        1042,
                        6873
                    ],
                    "contractKind": "contract",
                    "documentation": null,
                    "fullyImplemented": true,
                    "linearizedBaseContracts": [
                        3280,
                        409,
                        29,
                        1042,
                        6873
                    ],
                    "name": "Client",
                    "scope": 3281
                },
                "children": [
                    {
                        "attributes": {
                            "arguments": null
                        },
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "VerifiedClient",
                                    "referencedDeclaration": 6873,
                                    "type": "contract VerifiedClient"
                                },
                                "id": 1863,
                                "name": "UserDefinedTypeName",
                                "src": "383:14:17"
                            }
                        ],
                        "id": 1864,
                        "name": "InheritanceSpecifier",
                        "src": "383:14:17"
                    },
                    {
                        "attributes": {
                            "arguments": null
                        },
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "Initializable",
                                    "referencedDeclaration": 1042,
                                    "type": "contract Initializable"
                                },
                                "id": 1865,
                                "name": "UserDefinedTypeName",
                                "src": "399:13:17"
                            }
                        ],
                        "id": 1866,
                        "name": "InheritanceSpecifier",
                        "src": "399:13:17"
                    },
                    {
                        "attributes": {
                            "arguments": null
                        },
                        "children": [
                            {
                                "attributes": {
                                    "contractScope": null,
                                    "name": "Ownable",
                                    "referencedDeclaration": 409,
                                    "type": "contract Ownable"
                                },
                                "id": 1867,
                                "name": "UserDefinedTypeName",
                                "src": "414:7:17"
                            }
                        ],
                        "id": 1868,
                        "name": "InheritanceSpecifier",
                        "src": "414:7:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "bridge",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "address",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "name": "address",
                                    "stateMutability": "nonpayable",
                                    "type": "address"
                                },
                                "id": 1869,
                                "name": "ElementaryTypeName",
                                "src": "449:7:17"
                            }
                        ],
                        "id": 1870,
                        "name": "VariableDeclaration",
                        "src": "449:22:17"
                    },
                    {
                        "attributes": {
                            "canonicalName": "Client.role",
                            "name": "role",
                            "scope": 3280,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "manager",
                                    "scope": 1879,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "address",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "stateMutability": "nonpayable",
                                            "type": "address"
                                        },
                                        "id": 1871,
                                        "name": "ElementaryTypeName",
                                        "src": "502:7:17"
                                    }
                                ],
                                "id": 1872,
                                "name": "VariableDeclaration",
                                "src": "502:15:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "country",
                                    "scope": 1879,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "bytes32",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1873,
                                        "name": "ElementaryTypeName",
                                        "src": "528:7:17"
                                    }
                                ],
                                "id": 1874,
                                "name": "VariableDeclaration",
                                "src": "528:15:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "role",
                                    "scope": 1879,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "bytes32",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1875,
                                        "name": "ElementaryTypeName",
                                        "src": "554:7:17"
                                    }
                                ],
                                "id": 1876,
                                "name": "VariableDeclaration",
                                "src": "554:12:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "id",
                                    "scope": 1879,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "bytes32",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1877,
                                        "name": "ElementaryTypeName",
                                        "src": "577:7:17"
                                    }
                                ],
                                "id": 1878,
                                "name": "VariableDeclaration",
                                "src": "577:10:17"
                            }
                        ],
                        "id": 1879,
                        "name": "StructDefinition",
                        "src": "480:115:17"
                    },
                    {
                        "attributes": {
                            "canonicalName": "Client.user",
                            "name": "user",
                            "scope": 3280,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "name",
                                    "scope": 1894,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "bytes32",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1880,
                                        "name": "ElementaryTypeName",
                                        "src": "625:7:17"
                                    }
                                ],
                                "id": 1881,
                                "name": "VariableDeclaration",
                                "src": "625:12:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "accountid",
                                    "scope": 1894,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "bytes32",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1882,
                                        "name": "ElementaryTypeName",
                                        "src": "648:7:17"
                                    }
                                ],
                                "id": 1883,
                                "name": "VariableDeclaration",
                                "src": "648:17:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "kycstatus",
                                    "scope": 1894,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 1884,
                                        "name": "ElementaryTypeName",
                                        "src": "676:7:17"
                                    }
                                ],
                                "id": 1885,
                                "name": "VariableDeclaration",
                                "src": "676:17:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "country",
                                    "scope": 1894,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "bytes32",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1886,
                                        "name": "ElementaryTypeName",
                                        "src": "732:7:17"
                                    }
                                ],
                                "id": 1887,
                                "name": "VariableDeclaration",
                                "src": "732:15:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "amlscore",
                                    "scope": 1894,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 1888,
                                        "name": "ElementaryTypeName",
                                        "src": "758:7:17"
                                    }
                                ],
                                "id": 1889,
                                "name": "VariableDeclaration",
                                "src": "758:16:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "creditScore",
                                    "scope": 1894,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "uint256",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 1890,
                                        "name": "ElementaryTypeName",
                                        "src": "785:7:17"
                                    }
                                ],
                                "id": 1891,
                                "name": "VariableDeclaration",
                                "src": "785:19:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "contact",
                                    "scope": 1894,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "bytes32",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1892,
                                        "name": "ElementaryTypeName",
                                        "src": "815:7:17"
                                    }
                                ],
                                "id": 1893,
                                "name": "VariableDeclaration",
                                "src": "815:15:17"
                            }
                        ],
                        "id": 1894,
                        "name": "StructDefinition",
                        "src": "603:243:17"
                    },
                    {
                        "attributes": {
                            "canonicalName": "Client.kyc",
                            "name": "kyc",
                            "scope": 3280,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "identity",
                                    "scope": 1901,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "string",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "string",
                                            "type": "string"
                                        },
                                        "id": 1895,
                                        "name": "ElementaryTypeName",
                                        "src": "879:6:17"
                                    }
                                ],
                                "id": 1896,
                                "name": "VariableDeclaration",
                                "src": "879:15:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "videokyc",
                                    "scope": 1901,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "string",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "string",
                                            "type": "string"
                                        },
                                        "id": 1897,
                                        "name": "ElementaryTypeName",
                                        "src": "905:6:17"
                                    }
                                ],
                                "id": 1898,
                                "name": "VariableDeclaration",
                                "src": "905:15:17"
                            },
                            {
                                "attributes": {
                                    "constant": false,
                                    "name": "docs",
                                    "scope": 1901,
                                    "stateVariable": false,
                                    "storageLocation": "default",
                                    "type": "string",
                                    "value": null,
                                    "visibility": "internal"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "string",
                                            "type": "string"
                                        },
                                        "id": 1899,
                                        "name": "ElementaryTypeName",
                                        "src": "931:6:17"
                                    }
                                ],
                                "id": 1900,
                                "name": "VariableDeclaration",
                                "src": "931:11:17"
                            }
                        ],
                        "id": 1901,
                        "name": "StructDefinition",
                        "src": "858:92:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "passScore",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "uint256",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "name": "uint256",
                                    "type": "uint256"
                                },
                                "id": 1902,
                                "name": "ElementaryTypeName",
                                "src": "985:7:17"
                            }
                        ],
                        "id": 1903,
                        "name": "VariableDeclaration",
                        "src": "985:25:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "clients",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => struct Client.user)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => struct Client.user)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 1904,
                                        "name": "ElementaryTypeName",
                                        "src": "1079:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "contractScope": null,
                                            "name": "user",
                                            "referencedDeclaration": 1894,
                                            "type": "struct Client.user"
                                        },
                                        "id": 1905,
                                        "name": "UserDefinedTypeName",
                                        "src": "1090:4:17"
                                    }
                                ],
                                "id": 1906,
                                "name": "Mapping",
                                "src": "1071:24:17"
                            }
                        ],
                        "id": 1907,
                        "name": "VariableDeclaration",
                        "src": "1071:40:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "kycDocs",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => struct Client.kyc)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => struct Client.kyc)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 1908,
                                        "name": "ElementaryTypeName",
                                        "src": "1128:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "contractScope": null,
                                            "name": "kyc",
                                            "referencedDeclaration": 1901,
                                            "type": "struct Client.kyc"
                                        },
                                        "id": 1909,
                                        "name": "UserDefinedTypeName",
                                        "src": "1139:3:17"
                                    }
                                ],
                                "id": 1910,
                                "name": "Mapping",
                                "src": "1120:23:17"
                            }
                        ],
                        "id": 1911,
                        "name": "VariableDeclaration",
                        "src": "1120:39:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "usersbyCountry",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(bytes32 => address[])",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(bytes32 => address[])"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1912,
                                        "name": "ElementaryTypeName",
                                        "src": "1214:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "length": null,
                                            "type": "address[]"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1913,
                                                "name": "ElementaryTypeName",
                                                "src": "1225:7:17"
                                            }
                                        ],
                                        "id": 1914,
                                        "name": "ArrayTypeName",
                                        "src": "1225:9:17"
                                    }
                                ],
                                "id": 1915,
                                "name": "Mapping",
                                "src": "1206:29:17"
                            }
                        ],
                        "id": 1916,
                        "name": "VariableDeclaration",
                        "src": "1206:52:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "managers",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => address)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => address)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 1917,
                                        "name": "ElementaryTypeName",
                                        "src": "1311:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "stateMutability": "nonpayable",
                                            "type": "address"
                                        },
                                        "id": 1918,
                                        "name": "ElementaryTypeName",
                                        "src": "1322:7:17"
                                    }
                                ],
                                "id": 1919,
                                "name": "Mapping",
                                "src": "1303:27:17"
                            }
                        ],
                        "id": 1920,
                        "name": "VariableDeclaration",
                        "src": "1303:44:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "roles",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => struct Client.role)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => struct Client.role)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 1921,
                                        "name": "ElementaryTypeName",
                                        "src": "1412:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "contractScope": null,
                                            "name": "role",
                                            "referencedDeclaration": 1879,
                                            "type": "struct Client.role"
                                        },
                                        "id": 1922,
                                        "name": "UserDefinedTypeName",
                                        "src": "1422:4:17"
                                    }
                                ],
                                "id": 1923,
                                "name": "Mapping",
                                "src": "1404:23:17"
                            }
                        ],
                        "id": 1924,
                        "name": "VariableDeclaration",
                        "src": "1404:37:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "submanagers",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "address[]",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "length": null,
                                    "type": "address[]"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "stateMutability": "nonpayable",
                                            "type": "address"
                                        },
                                        "id": 1925,
                                        "name": "ElementaryTypeName",
                                        "src": "1477:7:17"
                                    }
                                ],
                                "id": 1926,
                                "name": "ArrayTypeName",
                                "src": "1477:9:17"
                            }
                        ],
                        "id": 1927,
                        "name": "VariableDeclaration",
                        "src": "1477:29:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "managerIndex",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => uint256)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => uint256)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 1928,
                                        "name": "ElementaryTypeName",
                                        "src": "1547:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "name": "uint256",
                                            "type": "uint256"
                                        },
                                        "id": 1929,
                                        "name": "ElementaryTypeName",
                                        "src": "1558:7:17"
                                    }
                                ],
                                "id": 1930,
                                "name": "Mapping",
                                "src": "1539:27:17"
                            }
                        ],
                        "id": 1931,
                        "name": "VariableDeclaration",
                        "src": "1539:48:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "accounts",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => struct VerifiedClient.custodian[])",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => struct VerifiedClient.custodian[])"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 1932,
                                        "name": "ElementaryTypeName",
                                        "src": "1640:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "length": null,
                                            "type": "struct VerifiedClient.custodian[]"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "contractScope": null,
                                                    "name": "custodian",
                                                    "referencedDeclaration": 6699,
                                                    "type": "struct VerifiedClient.custodian"
                                                },
                                                "id": 1933,
                                                "name": "UserDefinedTypeName",
                                                "src": "1651:9:17"
                                            }
                                        ],
                                        "id": 1934,
                                        "name": "ArrayTypeName",
                                        "src": "1651:11:17"
                                    }
                                ],
                                "id": 1935,
                                "name": "Mapping",
                                "src": "1632:31:17"
                            }
                        ],
                        "id": 1936,
                        "name": "VariableDeclaration",
                        "src": "1632:48:17"
                    },
                    {
                        "attributes": {
                            "constant": false,
                            "name": "custodyAccount",
                            "scope": 3280,
                            "stateVariable": true,
                            "storageLocation": "default",
                            "type": "mapping(address => bytes32)",
                            "value": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "attributes": {
                                    "type": "mapping(address => bytes32)"
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "name": "address",
                                            "type": "address"
                                        },
                                        "id": 1937,
                                        "name": "ElementaryTypeName",
                                        "src": "1730:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "name": "bytes32",
                                            "type": "bytes32"
                                        },
                                        "id": 1938,
                                        "name": "ElementaryTypeName",
                                        "src": "1741:7:17"
                                    }
                                ],
                                "id": 1939,
                                "name": "Mapping",
                                "src": "1722:27:17"
                            }
                        ],
                        "id": 1940,
                        "name": "VariableDeclaration",
                        "src": "1722:50:17"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "ManagerAdded"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "manager",
                                            "scope": 1952,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1941,
                                                "name": "ElementaryTypeName",
                                                "src": "1800:7:17"
                                            }
                                        ],
                                        "id": 1942,
                                        "name": "VariableDeclaration",
                                        "src": "1800:15:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": true,
                                            "name": "submanager",
                                            "scope": 1952,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1943,
                                                "name": "ElementaryTypeName",
                                                "src": "1817:7:17"
                                            }
                                        ],
                                        "id": 1944,
                                        "name": "VariableDeclaration",
                                        "src": "1817:26:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "role",
                                            "scope": 1952,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1945,
                                                "name": "ElementaryTypeName",
                                                "src": "1845:7:17"
                                            }
                                        ],
                                        "id": 1946,
                                        "name": "VariableDeclaration",
                                        "src": "1845:12:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "country",
                                            "scope": 1952,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1947,
                                                "name": "ElementaryTypeName",
                                                "src": "1859:7:17"
                                            }
                                        ],
                                        "id": 1948,
                                        "name": "VariableDeclaration",
                                        "src": "1859:15:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "managerId",
                                            "scope": 1952,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1949,
                                                "name": "ElementaryTypeName",
                                                "src": "1876:7:17"
                                            }
                                        ],
                                        "id": 1950,
                                        "name": "VariableDeclaration",
                                        "src": "1876:17:17"
                                    }
                                ],
                                "id": 1951,
                                "name": "ParameterList",
                                "src": "1799:95:17"
                            }
                        ],
                        "id": 1952,
                        "name": "EventDefinition",
                        "src": "1781:114:17"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "ManagerRemoved"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "manager",
                                            "scope": 1962,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1953,
                                                "name": "ElementaryTypeName",
                                                "src": "1922:7:17"
                                            }
                                        ],
                                        "id": 1954,
                                        "name": "VariableDeclaration",
                                        "src": "1922:15:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": true,
                                            "name": "submanager",
                                            "scope": 1962,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1955,
                                                "name": "ElementaryTypeName",
                                                "src": "1939:7:17"
                                            }
                                        ],
                                        "id": 1956,
                                        "name": "VariableDeclaration",
                                        "src": "1939:26:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "role",
                                            "scope": 1962,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1957,
                                                "name": "ElementaryTypeName",
                                                "src": "1967:7:17"
                                            }
                                        ],
                                        "id": 1958,
                                        "name": "VariableDeclaration",
                                        "src": "1967:12:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "country",
                                            "scope": 1962,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1959,
                                                "name": "ElementaryTypeName",
                                                "src": "1981:7:17"
                                            }
                                        ],
                                        "id": 1960,
                                        "name": "VariableDeclaration",
                                        "src": "1981:15:17"
                                    }
                                ],
                                "id": 1961,
                                "name": "ParameterList",
                                "src": "1921:76:17"
                            }
                        ],
                        "id": 1962,
                        "name": "EventDefinition",
                        "src": "1901:97:17"
                    },
                    {
                        "attributes": {
                            "anonymous": false,
                            "documentation": null,
                            "name": "UserAdded"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "client",
                                            "scope": 1974,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1963,
                                                "name": "ElementaryTypeName",
                                                "src": "2020:7:17"
                                            }
                                        ],
                                        "id": 1964,
                                        "name": "VariableDeclaration",
                                        "src": "2020:14:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "name",
                                            "scope": 1974,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1965,
                                                "name": "ElementaryTypeName",
                                                "src": "2036:7:17"
                                            }
                                        ],
                                        "id": 1966,
                                        "name": "VariableDeclaration",
                                        "src": "2036:12:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "accountid",
                                            "scope": 1974,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1967,
                                                "name": "ElementaryTypeName",
                                                "src": "2050:7:17"
                                            }
                                        ],
                                        "id": 1968,
                                        "name": "VariableDeclaration",
                                        "src": "2050:17:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "country",
                                            "scope": 1974,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 1969,
                                                "name": "ElementaryTypeName",
                                                "src": "2069:7:17"
                                            }
                                        ],
                                        "id": 1970,
                                        "name": "VariableDeclaration",
                                        "src": "2069:15:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "indexed": false,
                                            "name": "status",
                                            "scope": 1974,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint",
                                                    "type": "uint256"
                                                },
                                                "id": 1971,
                                                "name": "ElementaryTypeName",
                                                "src": "2086:4:17"
                                            }
                                        ],
                                        "id": 1972,
                                        "name": "VariableDeclaration",
                                        "src": "2086:11:17"
                                    }
                                ],
                                "id": 1973,
                                "name": "ParameterList",
                                "src": "2019:79:17"
                            }
                        ],
                        "id": 1974,
                        "name": "EventDefinition",
                        "src": "2004:95:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "initialize",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 320,
                            "visibility": "public"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_signer",
                                            "scope": 1993,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1975,
                                                "name": "ElementaryTypeName",
                                                "src": "2127:7:17"
                                            }
                                        ],
                                        "id": 1976,
                                        "name": "VariableDeclaration",
                                        "src": "2127:15:17"
                                    }
                                ],
                                "id": 1977,
                                "name": "ParameterList",
                                "src": "2126:17:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1980,
                                "name": "ParameterList",
                                "src": "2162:0:17"
                            },
                            {
                                "attributes": {
                                    "arguments": null
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 1017,
                                            "type": "modifier ()",
                                            "value": "initializer"
                                        },
                                        "id": 1978,
                                        "name": "Identifier",
                                        "src": "2151:11:17"
                                    }
                                ],
                                "id": 1979,
                                "name": "ModifierInvocation",
                                "src": "2151:11:17"
                            },
                            {
                                "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_address_payable",
                                                                    "typeString": "address payable"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "initialize",
                                                            "referencedDeclaration": 320,
                                                            "type": "function (address)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 409,
                                                                    "type": "type(contract Ownable)",
                                                                    "value": "Ownable"
                                                                },
                                                                "id": 1981,
                                                                "name": "Identifier",
                                                                "src": "2173:7:17"
                                                            }
                                                        ],
                                                        "id": 1983,
                                                        "name": "MemberAccess",
                                                        "src": "2173:18:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "sender",
                                                            "referencedDeclaration": null,
                                                            "type": "address payable"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 9424,
                                                                    "type": "msg",
                                                                    "value": "msg"
                                                                },
                                                                "id": 1984,
                                                                "name": "Identifier",
                                                                "src": "2192:3:17"
                                                            }
                                                        ],
                                                        "id": 1985,
                                                        "name": "MemberAccess",
                                                        "src": "2192:10:17"
                                                    }
                                                ],
                                                "id": 1986,
                                                "name": "FunctionCall",
                                                "src": "2173:30:17"
                                            }
                                        ],
                                        "id": 1987,
                                        "name": "ExpressionStatement",
                                        "src": "2173:30:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1870,
                                                            "type": "address",
                                                            "value": "bridge"
                                                        },
                                                        "id": 1988,
                                                        "name": "Identifier",
                                                        "src": "2214:6:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1976,
                                                            "type": "address",
                                                            "value": "_signer"
                                                        },
                                                        "id": 1989,
                                                        "name": "Identifier",
                                                        "src": "2223:7:17"
                                                    }
                                                ],
                                                "id": 1990,
                                                "name": "Assignment",
                                                "src": "2214:16:17"
                                            }
                                        ],
                                        "id": 1991,
                                        "name": "ExpressionStatement",
                                        "src": "2214:16:17"
                                    }
                                ],
                                "id": 1992,
                                "name": "Block",
                                "src": "2162:76:17"
                            }
                        ],
                        "id": 1993,
                        "name": "FunctionDefinition",
                        "src": "2107:131:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "name": "setSigner",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6755,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_signer",
                                            "scope": 2005,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 1994,
                                                "name": "ElementaryTypeName",
                                                "src": "2265:7:17"
                                            }
                                        ],
                                        "id": 1995,
                                        "name": "VariableDeclaration",
                                        "src": "2265:15:17"
                                    }
                                ],
                                "id": 1996,
                                "name": "ParameterList",
                                "src": "2264:17:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 1999,
                                "name": "ParameterList",
                                "src": "2301:0:17"
                            },
                            {
                                "attributes": {
                                    "arguments": null
                                },
                                "children": [
                                    {
                                        "attributes": {
                                            "argumentTypes": null,
                                            "overloadedDeclarations": [
                                                null
                                            ],
                                            "referencedDeclaration": 338,
                                            "type": "modifier ()",
                                            "value": "onlyOwner"
                                        },
                                        "id": 1997,
                                        "name": "Identifier",
                                        "src": "2291:9:17"
                                    }
                                ],
                                "id": 1998,
                                "name": "ModifierInvocation",
                                "src": "2291:9:17"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "address"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1870,
                                                            "type": "address",
                                                            "value": "bridge"
                                                        },
                                                        "id": 2000,
                                                        "name": "Identifier",
                                                        "src": "2312:6:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1995,
                                                            "type": "address",
                                                            "value": "_signer"
                                                        },
                                                        "id": 2001,
                                                        "name": "Identifier",
                                                        "src": "2321:7:17"
                                                    }
                                                ],
                                                "id": 2002,
                                                "name": "Assignment",
                                                "src": "2312:16:17"
                                            }
                                        ],
                                        "id": 2003,
                                        "name": "ExpressionStatement",
                                        "src": "2312:16:17"
                                    }
                                ],
                                "id": 2004,
                                "name": "Block",
                                "src": "2301:35:17"
                            }
                        ],
                        "id": 2005,
                        "name": "FunctionDefinition",
                        "src": "2246:90:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "addRole",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6720,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_manager",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2006,
                                                "name": "ElementaryTypeName",
                                                "src": "2365:7:17"
                                            }
                                        ],
                                        "id": 2007,
                                        "name": "VariableDeclaration",
                                        "src": "2365:16:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_submanager",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2008,
                                                "name": "ElementaryTypeName",
                                                "src": "2383:7:17"
                                            }
                                        ],
                                        "id": 2009,
                                        "name": "VariableDeclaration",
                                        "src": "2383:19:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_country",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2010,
                                                "name": "ElementaryTypeName",
                                                "src": "2404:7:17"
                                            }
                                        ],
                                        "id": 2011,
                                        "name": "VariableDeclaration",
                                        "src": "2404:16:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_role",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2012,
                                                "name": "ElementaryTypeName",
                                                "src": "2422:7:17"
                                            }
                                        ],
                                        "id": 2013,
                                        "name": "VariableDeclaration",
                                        "src": "2422:13:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_id",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2014,
                                                "name": "ElementaryTypeName",
                                                "src": "2437:7:17"
                                            }
                                        ],
                                        "id": 2015,
                                        "name": "VariableDeclaration",
                                        "src": "2437:11:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_hashedMessage",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2016,
                                                "name": "ElementaryTypeName",
                                                "src": "2450:7:17"
                                            }
                                        ],
                                        "id": 2017,
                                        "name": "VariableDeclaration",
                                        "src": "2450:22:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_v",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint8",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint8",
                                                    "type": "uint8"
                                                },
                                                "id": 2018,
                                                "name": "ElementaryTypeName",
                                                "src": "2474:5:17"
                                            }
                                        ],
                                        "id": 2019,
                                        "name": "VariableDeclaration",
                                        "src": "2474:8:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_r",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2020,
                                                "name": "ElementaryTypeName",
                                                "src": "2484:7:17"
                                            }
                                        ],
                                        "id": 2021,
                                        "name": "VariableDeclaration",
                                        "src": "2484:10:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_s",
                                            "scope": 2189,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2022,
                                                "name": "ElementaryTypeName",
                                                "src": "2496:7:17"
                                            }
                                        ],
                                        "id": 2023,
                                        "name": "VariableDeclaration",
                                        "src": "2496:10:17"
                                    }
                                ],
                                "id": 2024,
                                "name": "ParameterList",
                                "src": "2364:143:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2025,
                                "name": "ParameterList",
                                "src": "2547:0:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2027
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "payloadHash",
                                                    "scope": 2188,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bytes32",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bytes32",
                                                            "type": "bytes32"
                                                        },
                                                        "id": 2026,
                                                        "name": "ElementaryTypeName",
                                                        "src": "2558:7:17"
                                                    }
                                                ],
                                                "id": 2027,
                                                "name": "VariableDeclaration",
                                                "src": "2558:19:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "bytes32",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                                    "typeString": "bytes memory"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 9418,
                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                            "value": "keccak256"
                                                        },
                                                        "id": 2028,
                                                        "name": "Identifier",
                                                        "src": "2580:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "bytes memory",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
                                                                            "typeString": "literal_string \"L2toL1\""
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "member_name": "encode",
                                                                    "referencedDeclaration": null,
                                                                    "type": "function () pure returns (bytes memory)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 9411,
                                                                            "type": "abi",
                                                                            "value": "abi"
                                                                        },
                                                                        "id": 2029,
                                                                        "name": "Identifier",
                                                                        "src": "2590:3:17"
                                                                    }
                                                                ],
                                                                "id": 2030,
                                                                "name": "MemberAccess",
                                                                "src": "2590:10:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2017,
                                                                    "type": "bytes32",
                                                                    "value": "_hashedMessage"
                                                                },
                                                                "id": 2031,
                                                                "name": "Identifier",
                                                                "src": "2601:14:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "4c32746f4c31",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"L2toL1\"",
                                                                    "value": "L2toL1"
                                                                },
                                                                "id": 2032,
                                                                "name": "Literal",
                                                                "src": "2617:8:17"
                                                            }
                                                        ],
                                                        "id": 2033,
                                                        "name": "FunctionCall",
                                                        "src": "2590:36:17"
                                                    }
                                                ],
                                                "id": 2034,
                                                "name": "FunctionCall",
                                                "src": "2580:47:17"
                                            }
                                        ],
                                        "id": 2035,
                                        "name": "VariableDeclarationStatement",
                                        "src": "2558:69:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2037
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "messageHash",
                                                    "scope": 2188,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bytes32",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bytes32",
                                                            "type": "bytes32"
                                                        },
                                                        "id": 2036,
                                                        "name": "ElementaryTypeName",
                                                        "src": "2638:7:17"
                                                    }
                                                ],
                                                "id": 2037,
                                                "name": "VariableDeclaration",
                                                "src": "2638:19:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "bytes32",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                                    "typeString": "bytes memory"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 9418,
                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                            "value": "keccak256"
                                                        },
                                                        "id": 2038,
                                                        "name": "Identifier",
                                                        "src": "2660:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "bytes memory",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
                                                                            "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "member_name": "encodePacked",
                                                                    "referencedDeclaration": null,
                                                                    "type": "function () pure returns (bytes memory)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 9411,
                                                                            "type": "abi",
                                                                            "value": "abi"
                                                                        },
                                                                        "id": 2039,
                                                                        "name": "Identifier",
                                                                        "src": "2670:3:17"
                                                                    }
                                                                ],
                                                                "id": 2040,
                                                                "name": "MemberAccess",
                                                                "src": "2670:16:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "19457468657265756d205369676e6564204d6573736167653a0a3332",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"\u0019Ethereum Signed Message:\n32\"",
                                                                    "value": "\u0019Ethereum Signed Message:\n32"
                                                                },
                                                                "id": 2041,
                                                                "name": "Literal",
                                                                "src": "2687:34:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2027,
                                                                    "type": "bytes32",
                                                                    "value": "payloadHash"
                                                                },
                                                                "id": 2042,
                                                                "name": "Identifier",
                                                                "src": "2723:11:17"
                                                            }
                                                        ],
                                                        "id": 2043,
                                                        "name": "FunctionCall",
                                                        "src": "2670:65:17"
                                                    }
                                                ],
                                                "id": 2044,
                                                "name": "FunctionCall",
                                                "src": "2660:76:17"
                                            }
                                        ],
                                        "id": 2045,
                                        "name": "VariableDeclarationStatement",
                                        "src": "2638:98:17"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2046,
                                                        "name": "Identifier",
                                                        "src": "2747:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "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,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "address",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_bytes32",
                                                                                            "typeString": "bytes32"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_uint8",
                                                                                            "typeString": "uint8"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_bytes32",
                                                                                            "typeString": "bytes32"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_bytes32",
                                                                                            "typeString": "bytes32"
                                                                                        }
                                                                                    ],
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9416,
                                                                                    "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)",
                                                                                    "value": "ecrecover"
                                                                                },
                                                                                "id": 2047,
                                                                                "name": "Identifier",
                                                                                "src": "2755:9:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2037,
                                                                                    "type": "bytes32",
                                                                                    "value": "messageHash"
                                                                                },
                                                                                "id": 2048,
                                                                                "name": "Identifier",
                                                                                "src": "2765:11:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2019,
                                                                                    "type": "uint8",
                                                                                    "value": "_v"
                                                                                },
                                                                                "id": 2049,
                                                                                "name": "Identifier",
                                                                                "src": "2778:2:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2021,
                                                                                    "type": "bytes32",
                                                                                    "value": "_r"
                                                                                },
                                                                                "id": 2050,
                                                                                "name": "Identifier",
                                                                                "src": "2782:2:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2023,
                                                                                    "type": "bytes32",
                                                                                    "value": "_s"
                                                                                },
                                                                                "id": 2051,
                                                                                "name": "Identifier",
                                                                                "src": "2786:2:17"
                                                                            }
                                                                        ],
                                                                        "id": 2052,
                                                                        "name": "FunctionCall",
                                                                        "src": "2755:34:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "arguments": [
                                                                                null
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "address",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        null
                                                                                    ],
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 328,
                                                                                    "type": "function () view returns (address)",
                                                                                    "value": "owner"
                                                                                },
                                                                                "id": 2053,
                                                                                "name": "Identifier",
                                                                                "src": "2792:5:17"
                                                                            }
                                                                        ],
                                                                        "id": 2054,
                                                                        "name": "FunctionCall",
                                                                        "src": "2792:7:17"
                                                                    }
                                                                ],
                                                                "id": 2055,
                                                                "name": "BinaryOperation",
                                                                "src": "2755:44:17"
                                                            },
                                                            {
                                                                "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 payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 2056,
                                                                                "name": "Identifier",
                                                                                "src": "2803:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 2057,
                                                                        "name": "MemberAccess",
                                                                        "src": "2803:10:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1870,
                                                                            "type": "address",
                                                                            "value": "bridge"
                                                                        },
                                                                        "id": 2058,
                                                                        "name": "Identifier",
                                                                        "src": "2815:6:17"
                                                                    }
                                                                ],
                                                                "id": 2059,
                                                                "name": "BinaryOperation",
                                                                "src": "2803:18:17"
                                                            }
                                                        ],
                                                        "id": 2060,
                                                        "name": "BinaryOperation",
                                                        "src": "2755:66:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 2061,
                                                        "name": "Literal",
                                                        "src": "2823:21:17"
                                                    }
                                                ],
                                                "id": 2062,
                                                "name": "FunctionCall",
                                                "src": "2747:98:17"
                                            }
                                        ],
                                        "id": 2063,
                                        "name": "ExpressionStatement",
                                        "src": "2747:98:17"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_568e6570640e78f9333d18a9162f4803ba213915bb9c5faa9e2651860d6b0866",
                                                                    "typeString": "literal_string \"Invalid manager type\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2064,
                                                        "name": "Identifier",
                                                        "src": "2856:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "||",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "||",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bool",
                                                                                        "typeString": "bool"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "||",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "==",
                                                                                            "type": "bool"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2013,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_role"
                                                                                                },
                                                                                                "id": 2065,
                                                                                                "name": "Identifier",
                                                                                                "src": "2864:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "hexvalue": "437573746f6469616e",
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "subdenomination": null,
                                                                                                    "token": "string",
                                                                                                    "type": "literal_string \"Custodian\"",
                                                                                                    "value": "Custodian"
                                                                                                },
                                                                                                "id": 2066,
                                                                                                "name": "Literal",
                                                                                                "src": "2871:11:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2067,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "2864:18:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "==",
                                                                                            "type": "bool"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2013,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_role"
                                                                                                },
                                                                                                "id": 2068,
                                                                                                "name": "Identifier",
                                                                                                "src": "2886:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "hexvalue": "414d",
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "subdenomination": null,
                                                                                                    "token": "string",
                                                                                                    "type": "literal_string \"AM\"",
                                                                                                    "value": "AM"
                                                                                                },
                                                                                                "id": 2069,
                                                                                                "name": "Literal",
                                                                                                "src": "2893:4:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2070,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "2886:11:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2071,
                                                                                "name": "BinaryOperation",
                                                                                "src": "2864:33:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "==",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2013,
                                                                                            "type": "bytes32",
                                                                                            "value": "_role"
                                                                                        },
                                                                                        "id": 2072,
                                                                                        "name": "Identifier",
                                                                                        "src": "2901:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "4450",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "string",
                                                                                            "type": "literal_string \"DP\"",
                                                                                            "value": "DP"
                                                                                        },
                                                                                        "id": 2073,
                                                                                        "name": "Literal",
                                                                                        "src": "2908:4:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2074,
                                                                                "name": "BinaryOperation",
                                                                                "src": "2901:11:17"
                                                                            }
                                                                        ],
                                                                        "id": 2075,
                                                                        "name": "BinaryOperation",
                                                                        "src": "2864:48:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2013,
                                                                                    "type": "bytes32",
                                                                                    "value": "_role"
                                                                                },
                                                                                "id": 2076,
                                                                                "name": "Identifier",
                                                                                "src": "2916:5:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "4b5943414d4c",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "string",
                                                                                    "type": "literal_string \"KYCAML\"",
                                                                                    "value": "KYCAML"
                                                                                },
                                                                                "id": 2077,
                                                                                "name": "Literal",
                                                                                "src": "2923:8:17"
                                                                            }
                                                                        ],
                                                                        "id": 2078,
                                                                        "name": "BinaryOperation",
                                                                        "src": "2916:15:17"
                                                                    }
                                                                ],
                                                                "id": 2079,
                                                                "name": "BinaryOperation",
                                                                "src": "2864:67:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2013,
                                                                            "type": "bytes32",
                                                                            "value": "_role"
                                                                        },
                                                                        "id": 2080,
                                                                        "name": "Identifier",
                                                                        "src": "2935:5:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "497373756572",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"Issuer\"",
                                                                            "value": "Issuer"
                                                                        },
                                                                        "id": 2081,
                                                                        "name": "Literal",
                                                                        "src": "2942:8:17"
                                                                    }
                                                                ],
                                                                "id": 2082,
                                                                "name": "BinaryOperation",
                                                                "src": "2935:15:17"
                                                            }
                                                        ],
                                                        "id": 2083,
                                                        "name": "BinaryOperation",
                                                        "src": "2864:86:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "496e76616c6964206d616e616765722074797065",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Invalid manager type\"",
                                                            "value": "Invalid manager type"
                                                        },
                                                        "id": 2084,
                                                        "name": "Literal",
                                                        "src": "2952:22:17"
                                                    }
                                                ],
                                                "id": 2085,
                                                "name": "FunctionCall",
                                                "src": "2856:119:17"
                                            }
                                        ],
                                        "id": 2086,
                                        "name": "ExpressionStatement",
                                        "src": "2856:119:17"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_2f567c866e35c8877e08ab059dc2e46e010718717d557ae5ca44622ec1ae400e",
                                                                    "typeString": "literal_string \"Incorrect role addition\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2087,
                                                        "name": "Identifier",
                                                        "src": "2986:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "!=",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2009,
                                                                    "type": "address",
                                                                    "value": "_submanager"
                                                                },
                                                                "id": 2088,
                                                                "name": "Identifier",
                                                                "src": "2994:11:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "arguments": [
                                                                        null
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "address",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                null
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 328,
                                                                            "type": "function () view returns (address)",
                                                                            "value": "owner"
                                                                        },
                                                                        "id": 2089,
                                                                        "name": "Identifier",
                                                                        "src": "3007:5:17"
                                                                    }
                                                                ],
                                                                "id": 2090,
                                                                "name": "FunctionCall",
                                                                "src": "3007:7:17"
                                                            }
                                                        ],
                                                        "id": 2091,
                                                        "name": "BinaryOperation",
                                                        "src": "2994:20:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "496e636f727265637420726f6c65206164646974696f6e",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Incorrect role addition\"",
                                                            "value": "Incorrect role addition"
                                                        },
                                                        "id": 2092,
                                                        "name": "Literal",
                                                        "src": "3016:25:17"
                                                    }
                                                ],
                                                "id": 2093,
                                                "name": "FunctionCall",
                                                "src": "2986:56:17"
                                            }
                                        ],
                                        "id": 2094,
                                        "name": "ExpressionStatement",
                                        "src": "2986:56:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2096
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "found",
                                                    "scope": 2188,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bool",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bool",
                                                            "type": "bool"
                                                        },
                                                        "id": 2095,
                                                        "name": "ElementaryTypeName",
                                                        "src": "3053:4:17"
                                                    }
                                                ],
                                                "id": 2096,
                                                "name": "VariableDeclaration",
                                                "src": "3053:10:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "66616c7365",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "bool",
                                                    "type": "bool",
                                                    "value": "false"
                                                },
                                                "id": 2097,
                                                "name": "Literal",
                                                "src": "3066:5:17"
                                            }
                                        ],
                                        "id": 2098,
                                        "name": "VariableDeclarationStatement",
                                        "src": "3053:18:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2100
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "length",
                                                    "scope": 2188,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint",
                                                            "type": "uint256"
                                                        },
                                                        "id": 2099,
                                                        "name": "ElementaryTypeName",
                                                        "src": "3082:4:17"
                                                    }
                                                ],
                                                "id": 2100,
                                                "name": "VariableDeclaration",
                                                "src": "3082:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "member_name": "length",
                                                    "referencedDeclaration": null,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1927,
                                                            "type": "address[] storage ref",
                                                            "value": "submanagers"
                                                        },
                                                        "id": 2101,
                                                        "name": "Identifier",
                                                        "src": "3096:11:17"
                                                    }
                                                ],
                                                "id": 2102,
                                                "name": "MemberAccess",
                                                "src": "3096:18:17"
                                            }
                                        ],
                                        "id": 2103,
                                        "name": "VariableDeclarationStatement",
                                        "src": "3082:32:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        2105
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 2125,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint256",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 2104,
                                                                "name": "ElementaryTypeName",
                                                                "src": "3129:7:17"
                                                            }
                                                        ],
                                                        "id": 2105,
                                                        "name": "VariableDeclaration",
                                                        "src": "3129:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 2106,
                                                        "name": "Literal",
                                                        "src": "3139:1:17"
                                                    }
                                                ],
                                                "id": 2107,
                                                "name": "VariableDeclarationStatement",
                                                "src": "3129:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2105,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 2108,
                                                        "name": "Identifier",
                                                        "src": "3142:1:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2100,
                                                            "type": "uint256",
                                                            "value": "length"
                                                        },
                                                        "id": 2109,
                                                        "name": "Identifier",
                                                        "src": "3144:6:17"
                                                    }
                                                ],
                                                "id": 2110,
                                                "name": "BinaryOperation",
                                                "src": "3142:8:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2105,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 2111,
                                                                "name": "Identifier",
                                                                "src": "3152:1:17"
                                                            }
                                                        ],
                                                        "id": 2112,
                                                        "name": "UnaryOperation",
                                                        "src": "3152:3:17"
                                                    }
                                                ],
                                                "id": 2113,
                                                "name": "ExpressionStatement",
                                                "src": "3152:3:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "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": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1927,
                                                                                    "type": "address[] storage ref",
                                                                                    "value": "submanagers"
                                                                                },
                                                                                "id": 2114,
                                                                                "name": "Identifier",
                                                                                "src": "3174:11:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2105,
                                                                                    "type": "uint256",
                                                                                    "value": "i"
                                                                                },
                                                                                "id": 2115,
                                                                                "name": "Identifier",
                                                                                "src": "3186:1:17"
                                                                            }
                                                                        ],
                                                                        "id": 2116,
                                                                        "name": "IndexAccess",
                                                                        "src": "3174:14:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2009,
                                                                            "type": "address",
                                                                            "value": "_submanager"
                                                                        },
                                                                        "id": 2117,
                                                                        "name": "Identifier",
                                                                        "src": "3190:11:17"
                                                                    }
                                                                ],
                                                                "id": 2118,
                                                                "name": "BinaryOperation",
                                                                "src": "3174:27:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "=",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2096,
                                                                                    "type": "bool",
                                                                                    "value": "found"
                                                                                },
                                                                                "id": 2119,
                                                                                "name": "Identifier",
                                                                                "src": "3220:5:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "74727565",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "bool",
                                                                                    "type": "bool",
                                                                                    "value": "true"
                                                                                },
                                                                                "id": 2120,
                                                                                "name": "Literal",
                                                                                "src": "3228:4:17"
                                                                            }
                                                                        ],
                                                                        "id": 2121,
                                                                        "name": "Assignment",
                                                                        "src": "3220:12:17"
                                                                    }
                                                                ],
                                                                "id": 2122,
                                                                "name": "ExpressionStatement",
                                                                "src": "3220:12:17"
                                                            }
                                                        ],
                                                        "id": 2123,
                                                        "name": "IfStatement",
                                                        "src": "3171:61:17"
                                                    }
                                                ],
                                                "id": 2124,
                                                "name": "Block",
                                                "src": "3156:88:17"
                                            }
                                        ],
                                        "id": 2125,
                                        "name": "ForStatement",
                                        "src": "3125:119:17"
                                    },
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "!",
                                                    "prefix": true,
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2096,
                                                            "type": "bool",
                                                            "value": "found"
                                                        },
                                                        "id": 2126,
                                                        "name": "Identifier",
                                                        "src": "3258:5:17"
                                                    }
                                                ],
                                                "id": 2127,
                                                "name": "UnaryOperation",
                                                "src": "3257:6:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "uint256",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_address",
                                                                                    "typeString": "address"
                                                                                }
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "push",
                                                                            "referencedDeclaration": null,
                                                                            "type": "function (address) returns (uint256)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1927,
                                                                                    "type": "address[] storage ref",
                                                                                    "value": "submanagers"
                                                                                },
                                                                                "id": 2128,
                                                                                "name": "Identifier",
                                                                                "src": "3279:11:17"
                                                                            }
                                                                        ],
                                                                        "id": 2130,
                                                                        "name": "MemberAccess",
                                                                        "src": "3279:16:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2009,
                                                                            "type": "address",
                                                                            "value": "_submanager"
                                                                        },
                                                                        "id": 2131,
                                                                        "name": "Identifier",
                                                                        "src": "3296:11:17"
                                                                    }
                                                                ],
                                                                "id": 2132,
                                                                "name": "FunctionCall",
                                                                "src": "3279:29:17"
                                                            }
                                                        ],
                                                        "id": 2133,
                                                        "name": "ExpressionStatement",
                                                        "src": "3279:29:17"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1931,
                                                                                    "type": "mapping(address => uint256)",
                                                                                    "value": "managerIndex"
                                                                                },
                                                                                "id": 2134,
                                                                                "name": "Identifier",
                                                                                "src": "3323:12:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2009,
                                                                                    "type": "address",
                                                                                    "value": "_submanager"
                                                                                },
                                                                                "id": 2135,
                                                                                "name": "Identifier",
                                                                                "src": "3336:11:17"
                                                                            }
                                                                        ],
                                                                        "id": 2136,
                                                                        "name": "IndexAccess",
                                                                        "src": "3323:25:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "length",
                                                                            "referencedDeclaration": null,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1927,
                                                                                    "type": "address[] storage ref",
                                                                                    "value": "submanagers"
                                                                                },
                                                                                "id": 2137,
                                                                                "name": "Identifier",
                                                                                "src": "3351:11:17"
                                                                            }
                                                                        ],
                                                                        "id": 2138,
                                                                        "name": "MemberAccess",
                                                                        "src": "3351:18:17"
                                                                    }
                                                                ],
                                                                "id": 2139,
                                                                "name": "Assignment",
                                                                "src": "3323:46:17"
                                                            }
                                                        ],
                                                        "id": 2140,
                                                        "name": "ExpressionStatement",
                                                        "src": "3323:46:17"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "address"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "member_name": "manager",
                                                                            "referencedDeclaration": 1872,
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2141,
                                                                                        "name": "Identifier",
                                                                                        "src": "3384:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2009,
                                                                                            "type": "address",
                                                                                            "value": "_submanager"
                                                                                        },
                                                                                        "id": 2142,
                                                                                        "name": "Identifier",
                                                                                        "src": "3390:11:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2143,
                                                                                "name": "IndexAccess",
                                                                                "src": "3384:18:17"
                                                                            }
                                                                        ],
                                                                        "id": 2144,
                                                                        "name": "MemberAccess",
                                                                        "src": "3384:26:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2007,
                                                                            "type": "address",
                                                                            "value": "_manager"
                                                                        },
                                                                        "id": 2145,
                                                                        "name": "Identifier",
                                                                        "src": "3413:8:17"
                                                                    }
                                                                ],
                                                                "id": 2146,
                                                                "name": "Assignment",
                                                                "src": "3384:37:17"
                                                            }
                                                        ],
                                                        "id": 2147,
                                                        "name": "ExpressionStatement",
                                                        "src": "3384:37:17"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "bytes32"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "member_name": "country",
                                                                            "referencedDeclaration": 1874,
                                                                            "type": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2148,
                                                                                        "name": "Identifier",
                                                                                        "src": "3436:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2009,
                                                                                            "type": "address",
                                                                                            "value": "_submanager"
                                                                                        },
                                                                                        "id": 2149,
                                                                                        "name": "Identifier",
                                                                                        "src": "3442:11:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2150,
                                                                                "name": "IndexAccess",
                                                                                "src": "3436:18:17"
                                                                            }
                                                                        ],
                                                                        "id": 2151,
                                                                        "name": "MemberAccess",
                                                                        "src": "3436:26:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2011,
                                                                            "type": "bytes32",
                                                                            "value": "_country"
                                                                        },
                                                                        "id": 2152,
                                                                        "name": "Identifier",
                                                                        "src": "3465:8:17"
                                                                    }
                                                                ],
                                                                "id": 2153,
                                                                "name": "Assignment",
                                                                "src": "3436:37:17"
                                                            }
                                                        ],
                                                        "id": 2154,
                                                        "name": "ExpressionStatement",
                                                        "src": "3436:37:17"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "bytes32"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "member_name": "role",
                                                                            "referencedDeclaration": 1876,
                                                                            "type": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2155,
                                                                                        "name": "Identifier",
                                                                                        "src": "3488:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2009,
                                                                                            "type": "address",
                                                                                            "value": "_submanager"
                                                                                        },
                                                                                        "id": 2156,
                                                                                        "name": "Identifier",
                                                                                        "src": "3494:11:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2157,
                                                                                "name": "IndexAccess",
                                                                                "src": "3488:18:17"
                                                                            }
                                                                        ],
                                                                        "id": 2158,
                                                                        "name": "MemberAccess",
                                                                        "src": "3488:23:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2013,
                                                                            "type": "bytes32",
                                                                            "value": "_role"
                                                                        },
                                                                        "id": 2159,
                                                                        "name": "Identifier",
                                                                        "src": "3514:5:17"
                                                                    }
                                                                ],
                                                                "id": 2160,
                                                                "name": "Assignment",
                                                                "src": "3488:31:17"
                                                            }
                                                        ],
                                                        "id": 2161,
                                                        "name": "ExpressionStatement",
                                                        "src": "3488:31:17"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "=",
                                                                    "type": "bytes32"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": true,
                                                                            "member_name": "id",
                                                                            "referencedDeclaration": 1878,
                                                                            "type": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2162,
                                                                                        "name": "Identifier",
                                                                                        "src": "3534:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2009,
                                                                                            "type": "address",
                                                                                            "value": "_submanager"
                                                                                        },
                                                                                        "id": 2163,
                                                                                        "name": "Identifier",
                                                                                        "src": "3540:11:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2164,
                                                                                "name": "IndexAccess",
                                                                                "src": "3534:18:17"
                                                                            }
                                                                        ],
                                                                        "id": 2165,
                                                                        "name": "MemberAccess",
                                                                        "src": "3534:21:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2015,
                                                                            "type": "bytes32",
                                                                            "value": "_id"
                                                                        },
                                                                        "id": 2166,
                                                                        "name": "Identifier",
                                                                        "src": "3558:3:17"
                                                                    }
                                                                ],
                                                                "id": 2167,
                                                                "name": "Assignment",
                                                                "src": "3534:27:17"
                                                            }
                                                        ],
                                                        "id": 2168,
                                                        "name": "ExpressionStatement",
                                                        "src": "3534:27:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2013,
                                                                            "type": "bytes32",
                                                                            "value": "_role"
                                                                        },
                                                                        "id": 2169,
                                                                        "name": "Identifier",
                                                                        "src": "3579:5:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "4b5943414d4c",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"KYCAML\"",
                                                                            "value": "KYCAML"
                                                                        },
                                                                        "id": 2170,
                                                                        "name": "Literal",
                                                                        "src": "3586:8:17"
                                                                    }
                                                                ],
                                                                "id": 2171,
                                                                "name": "BinaryOperation",
                                                                "src": "3579:15:17"
                                                            },
                                                            {
                                                                "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": 3043,
                                                                                    "type": "function (address,bytes32)",
                                                                                    "value": "assignManagerToUser"
                                                                                },
                                                                                "id": 2172,
                                                                                "name": "Identifier",
                                                                                "src": "3613:19:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2009,
                                                                                    "type": "address",
                                                                                    "value": "_submanager"
                                                                                },
                                                                                "id": 2173,
                                                                                "name": "Identifier",
                                                                                "src": "3633:11:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2011,
                                                                                    "type": "bytes32",
                                                                                    "value": "_country"
                                                                                },
                                                                                "id": 2174,
                                                                                "name": "Identifier",
                                                                                "src": "3646:8:17"
                                                                            }
                                                                        ],
                                                                        "id": 2175,
                                                                        "name": "FunctionCall",
                                                                        "src": "3613:42:17"
                                                                    }
                                                                ],
                                                                "id": 2176,
                                                                "name": "ExpressionStatement",
                                                                "src": "3613:42:17"
                                                            }
                                                        ],
                                                        "id": 2177,
                                                        "name": "IfStatement",
                                                        "src": "3576:79:17"
                                                    },
                                                    {
                                                        "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_address",
                                                                                    "typeString": "address"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            ],
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1952,
                                                                            "type": "function (address,address,bytes32,bytes32,bytes32)",
                                                                            "value": "ManagerAdded"
                                                                        },
                                                                        "id": 2178,
                                                                        "name": "Identifier",
                                                                        "src": "3675:12:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2007,
                                                                            "type": "address",
                                                                            "value": "_manager"
                                                                        },
                                                                        "id": 2179,
                                                                        "name": "Identifier",
                                                                        "src": "3688:8:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2009,
                                                                            "type": "address",
                                                                            "value": "_submanager"
                                                                        },
                                                                        "id": 2180,
                                                                        "name": "Identifier",
                                                                        "src": "3698:11:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2013,
                                                                            "type": "bytes32",
                                                                            "value": "_role"
                                                                        },
                                                                        "id": 2181,
                                                                        "name": "Identifier",
                                                                        "src": "3711:5:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2011,
                                                                            "type": "bytes32",
                                                                            "value": "_country"
                                                                        },
                                                                        "id": 2182,
                                                                        "name": "Identifier",
                                                                        "src": "3718:8:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2015,
                                                                            "type": "bytes32",
                                                                            "value": "_id"
                                                                        },
                                                                        "id": 2183,
                                                                        "name": "Identifier",
                                                                        "src": "3728:3:17"
                                                                    }
                                                                ],
                                                                "id": 2184,
                                                                "name": "FunctionCall",
                                                                "src": "3675:57:17"
                                                            }
                                                        ],
                                                        "id": 2185,
                                                        "name": "EmitStatement",
                                                        "src": "3670:62:17"
                                                    }
                                                ],
                                                "id": 2186,
                                                "name": "Block",
                                                "src": "3264:480:17"
                                            }
                                        ],
                                        "id": 2187,
                                        "name": "IfStatement",
                                        "src": "3254:490:17"
                                    }
                                ],
                                "id": 2188,
                                "name": "Block",
                                "src": "2547:1204:17"
                            }
                        ],
                        "id": 2189,
                        "name": "FunctionDefinition",
                        "src": "2348:1403:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getRole",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": 6731,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_user",
                                            "scope": 2262,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2190,
                                                "name": "ElementaryTypeName",
                                                "src": "3776:7:17"
                                            }
                                        ],
                                        "id": 2191,
                                        "name": "VariableDeclaration",
                                        "src": "3776:13:17"
                                    }
                                ],
                                "id": 2192,
                                "name": "ParameterList",
                                "src": "3775:15:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2262,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2193,
                                                "name": "ElementaryTypeName",
                                                "src": "3813:7:17"
                                            }
                                        ],
                                        "id": 2194,
                                        "name": "VariableDeclaration",
                                        "src": "3813:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2262,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2195,
                                                "name": "ElementaryTypeName",
                                                "src": "3822:7:17"
                                            }
                                        ],
                                        "id": 2196,
                                        "name": "VariableDeclaration",
                                        "src": "3822:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2262,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2197,
                                                "name": "ElementaryTypeName",
                                                "src": "3831:7:17"
                                            }
                                        ],
                                        "id": 2198,
                                        "name": "VariableDeclaration",
                                        "src": "3831:7:17"
                                    }
                                ],
                                "id": 2199,
                                "name": "ParameterList",
                                "src": "3812:27:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2201
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "position",
                                                    "scope": 2261,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 2200,
                                                        "name": "ElementaryTypeName",
                                                        "src": "3850:7:17"
                                                    }
                                                ],
                                                "id": 2201,
                                                "name": "VariableDeclaration",
                                                "src": "3850:16:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1931,
                                                            "type": "mapping(address => uint256)",
                                                            "value": "managerIndex"
                                                        },
                                                        "id": 2202,
                                                        "name": "Identifier",
                                                        "src": "3869:12:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2191,
                                                            "type": "address",
                                                            "value": "_user"
                                                        },
                                                        "id": 2203,
                                                        "name": "Identifier",
                                                        "src": "3882:5:17"
                                                    }
                                                ],
                                                "id": 2204,
                                                "name": "IndexAccess",
                                                "src": "3869:19:17"
                                            }
                                        ],
                                        "id": 2205,
                                        "name": "VariableDeclarationStatement",
                                        "src": "3850:38:17"
                                    },
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": ">",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2201,
                                                            "type": "uint256",
                                                            "value": "position"
                                                        },
                                                        "id": 2206,
                                                        "name": "Identifier",
                                                        "src": "3902:8:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 2207,
                                                        "name": "Literal",
                                                        "src": "3911:1:17"
                                                    }
                                                ],
                                                "id": 2208,
                                                "name": "BinaryOperation",
                                                "src": "3902:10:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "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": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1927,
                                                                                    "type": "address[] storage ref",
                                                                                    "value": "submanagers"
                                                                                },
                                                                                "id": 2209,
                                                                                "name": "Identifier",
                                                                                "src": "3931:11:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_uint256",
                                                                                        "typeString": "uint256"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "-",
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2201,
                                                                                            "type": "uint256",
                                                                                            "value": "position"
                                                                                        },
                                                                                        "id": 2210,
                                                                                        "name": "Identifier",
                                                                                        "src": "3943:8:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "31",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "number",
                                                                                            "type": "int_const 1",
                                                                                            "value": "1"
                                                                                        },
                                                                                        "id": 2211,
                                                                                        "name": "Literal",
                                                                                        "src": "3952:1:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2212,
                                                                                "name": "BinaryOperation",
                                                                                "src": "3943:10:17"
                                                                            }
                                                                        ],
                                                                        "id": 2213,
                                                                        "name": "IndexAccess",
                                                                        "src": "3931:23:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2191,
                                                                            "type": "address",
                                                                            "value": "_user"
                                                                        },
                                                                        "id": 2214,
                                                                        "name": "Identifier",
                                                                        "src": "3956:5:17"
                                                                    }
                                                                ],
                                                                "id": 2215,
                                                                "name": "BinaryOperation",
                                                                "src": "3931:30:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "functionReturnParameters": 2199
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isInlineArray": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "tuple(bytes32,bytes32,bytes32)"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "role",
                                                                                            "referencedDeclaration": 1876,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2216,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "3989:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2217,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "3995:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2201,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2218,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "4007:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2219,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "4016:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2220,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "4007:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2221,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "3995:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2222,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "3989:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2223,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "3989:35:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "id",
                                                                                            "referencedDeclaration": 1878,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2224,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "4026:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2225,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "4032:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2201,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2226,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "4044:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2227,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "4053:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2228,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "4044:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2229,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "4032:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2230,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "4026:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2231,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "4026:33:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "country",
                                                                                            "referencedDeclaration": 1874,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2232,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "4061:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2233,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "4067:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2201,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2234,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "4079:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2235,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "4088:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2236,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "4079:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2237,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "4067:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2238,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "4061:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2239,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "4061:38:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2240,
                                                                                "name": "TupleExpression",
                                                                                "src": "3988:112:17"
                                                                            }
                                                                        ],
                                                                        "id": 2241,
                                                                        "name": "Return",
                                                                        "src": "3981:119:17"
                                                                    }
                                                                ],
                                                                "id": 2242,
                                                                "name": "Block",
                                                                "src": "3962:154:17"
                                                            }
                                                        ],
                                                        "id": 2243,
                                                        "name": "IfStatement",
                                                        "src": "3928:188:17"
                                                    }
                                                ],
                                                "id": 2244,
                                                "name": "Block",
                                                "src": "3913:214:17"
                                            }
                                        ],
                                        "id": 2245,
                                        "name": "IfStatement",
                                        "src": "3899:228:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_address",
                                                        "typeString": "address"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "==",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2191,
                                                            "type": "address",
                                                            "value": "_user"
                                                        },
                                                        "id": 2246,
                                                        "name": "Identifier",
                                                        "src": "4140:5:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "arguments": [
                                                                null
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "address",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        null
                                                                    ],
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 328,
                                                                    "type": "function () view returns (address)",
                                                                    "value": "owner"
                                                                },
                                                                "id": 2247,
                                                                "name": "Identifier",
                                                                "src": "4147:5:17"
                                                            }
                                                        ],
                                                        "id": 2248,
                                                        "name": "FunctionCall",
                                                        "src": "4147:7:17"
                                                    }
                                                ],
                                                "id": 2249,
                                                "name": "BinaryOperation",
                                                "src": "4140:14:17"
                                            },
                                            {
                                                "attributes": {
                                                    "functionReturnParameters": 2199
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isInlineArray": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "type": "tuple(literal_string \"Admin\",literal_string \"\",literal_string \"\")"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "41646d696e",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"Admin\"",
                                                                    "value": "Admin"
                                                                },
                                                                "id": 2250,
                                                                "name": "Literal",
                                                                "src": "4177:7:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"\"",
                                                                    "value": ""
                                                                },
                                                                "id": 2251,
                                                                "name": "Literal",
                                                                "src": "4185:2:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"\"",
                                                                    "value": ""
                                                                },
                                                                "id": 2252,
                                                                "name": "Literal",
                                                                "src": "4188:2:17"
                                                            }
                                                        ],
                                                        "id": 2253,
                                                        "name": "TupleExpression",
                                                        "src": "4176:15:17"
                                                    }
                                                ],
                                                "id": 2254,
                                                "name": "Return",
                                                "src": "4169:22:17"
                                            },
                                            {
                                                "attributes": {
                                                    "functionReturnParameters": 2199
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isInlineArray": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "type": "tuple(literal_string \"\",literal_string \"\",literal_string \"\")"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"\"",
                                                                    "value": ""
                                                                },
                                                                "id": 2255,
                                                                "name": "Literal",
                                                                "src": "4228:2:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"\"",
                                                                    "value": ""
                                                                },
                                                                "id": 2256,
                                                                "name": "Literal",
                                                                "src": "4231:2:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"\"",
                                                                    "value": ""
                                                                },
                                                                "id": 2257,
                                                                "name": "Literal",
                                                                "src": "4234:2:17"
                                                            }
                                                        ],
                                                        "id": 2258,
                                                        "name": "TupleExpression",
                                                        "src": "4227:10:17"
                                                    }
                                                ],
                                                "id": 2259,
                                                "name": "Return",
                                                "src": "4220:17:17"
                                            }
                                        ],
                                        "id": 2260,
                                        "name": "IfStatement",
                                        "src": "4137:100:17"
                                    }
                                ],
                                "id": 2261,
                                "name": "Block",
                                "src": "3839:406:17"
                            }
                        ],
                        "id": 2262,
                        "name": "FunctionDefinition",
                        "src": "3759:486:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "removeRole",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6750,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_manager",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2263,
                                                "name": "ElementaryTypeName",
                                                "src": "4273:7:17"
                                            }
                                        ],
                                        "id": 2264,
                                        "name": "VariableDeclaration",
                                        "src": "4273:16:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_submanager",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2265,
                                                "name": "ElementaryTypeName",
                                                "src": "4291:7:17"
                                            }
                                        ],
                                        "id": 2266,
                                        "name": "VariableDeclaration",
                                        "src": "4291:19:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_country",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2267,
                                                "name": "ElementaryTypeName",
                                                "src": "4312:7:17"
                                            }
                                        ],
                                        "id": 2268,
                                        "name": "VariableDeclaration",
                                        "src": "4312:16:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_role",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2269,
                                                "name": "ElementaryTypeName",
                                                "src": "4330:7:17"
                                            }
                                        ],
                                        "id": 2270,
                                        "name": "VariableDeclaration",
                                        "src": "4330:13:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_hashedMessage",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2271,
                                                "name": "ElementaryTypeName",
                                                "src": "4345:7:17"
                                            }
                                        ],
                                        "id": 2272,
                                        "name": "VariableDeclaration",
                                        "src": "4345:22:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_v",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint8",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint8",
                                                    "type": "uint8"
                                                },
                                                "id": 2273,
                                                "name": "ElementaryTypeName",
                                                "src": "4369:5:17"
                                            }
                                        ],
                                        "id": 2274,
                                        "name": "VariableDeclaration",
                                        "src": "4369:8:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_r",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2275,
                                                "name": "ElementaryTypeName",
                                                "src": "4379:7:17"
                                            }
                                        ],
                                        "id": 2276,
                                        "name": "VariableDeclaration",
                                        "src": "4379:10:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_s",
                                            "scope": 2466,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2277,
                                                "name": "ElementaryTypeName",
                                                "src": "4391:7:17"
                                            }
                                        ],
                                        "id": 2278,
                                        "name": "VariableDeclaration",
                                        "src": "4391:10:17"
                                    }
                                ],
                                "id": 2279,
                                "name": "ParameterList",
                                "src": "4272:130:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2280,
                                "name": "ParameterList",
                                "src": "4442:0:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2282
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "payloadHash",
                                                    "scope": 2465,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bytes32",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bytes32",
                                                            "type": "bytes32"
                                                        },
                                                        "id": 2281,
                                                        "name": "ElementaryTypeName",
                                                        "src": "4453:7:17"
                                                    }
                                                ],
                                                "id": 2282,
                                                "name": "VariableDeclaration",
                                                "src": "4453:19:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "bytes32",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                                    "typeString": "bytes memory"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 9418,
                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                            "value": "keccak256"
                                                        },
                                                        "id": 2283,
                                                        "name": "Identifier",
                                                        "src": "4475:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "bytes memory",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_stringliteral_a642929fe0ec57585e72a67355d0d02840f474582764f73bbf501283ca413332",
                                                                            "typeString": "literal_string \"L2toL1\""
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "member_name": "encode",
                                                                    "referencedDeclaration": null,
                                                                    "type": "function () pure returns (bytes memory)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 9411,
                                                                            "type": "abi",
                                                                            "value": "abi"
                                                                        },
                                                                        "id": 2284,
                                                                        "name": "Identifier",
                                                                        "src": "4485:3:17"
                                                                    }
                                                                ],
                                                                "id": 2285,
                                                                "name": "MemberAccess",
                                                                "src": "4485:10:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2272,
                                                                    "type": "bytes32",
                                                                    "value": "_hashedMessage"
                                                                },
                                                                "id": 2286,
                                                                "name": "Identifier",
                                                                "src": "4496:14:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "4c32746f4c31",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"L2toL1\"",
                                                                    "value": "L2toL1"
                                                                },
                                                                "id": 2287,
                                                                "name": "Literal",
                                                                "src": "4512:8:17"
                                                            }
                                                        ],
                                                        "id": 2288,
                                                        "name": "FunctionCall",
                                                        "src": "4485:36:17"
                                                    }
                                                ],
                                                "id": 2289,
                                                "name": "FunctionCall",
                                                "src": "4475:47:17"
                                            }
                                        ],
                                        "id": 2290,
                                        "name": "VariableDeclarationStatement",
                                        "src": "4453:69:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2292
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "messageHash",
                                                    "scope": 2465,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bytes32",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bytes32",
                                                            "type": "bytes32"
                                                        },
                                                        "id": 2291,
                                                        "name": "ElementaryTypeName",
                                                        "src": "4533:7:17"
                                                    }
                                                ],
                                                "id": 2292,
                                                "name": "VariableDeclaration",
                                                "src": "4533:19:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "bytes32",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_bytes_memory_ptr",
                                                                    "typeString": "bytes memory"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 9418,
                                                            "type": "function (bytes memory) pure returns (bytes32)",
                                                            "value": "keccak256"
                                                        },
                                                        "id": 2293,
                                                        "name": "Identifier",
                                                        "src": "4555:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "isStructConstructorCall": false,
                                                            "lValueRequested": false,
                                                            "names": [
                                                                null
                                                            ],
                                                            "type": "bytes memory",
                                                            "type_conversion": false
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": [
                                                                        {
                                                                            "typeIdentifier": "t_stringliteral_178a2411ab6fbc1ba11064408972259c558d0e82fd48b0aba3ad81d14f065e73",
                                                                            "typeString": "literal_string \"\u0019Ethereum Signed Message:\n32\""
                                                                        },
                                                                        {
                                                                            "typeIdentifier": "t_bytes32",
                                                                            "typeString": "bytes32"
                                                                        }
                                                                    ],
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "member_name": "encodePacked",
                                                                    "referencedDeclaration": null,
                                                                    "type": "function () pure returns (bytes memory)"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 9411,
                                                                            "type": "abi",
                                                                            "value": "abi"
                                                                        },
                                                                        "id": 2294,
                                                                        "name": "Identifier",
                                                                        "src": "4565:3:17"
                                                                    }
                                                                ],
                                                                "id": 2295,
                                                                "name": "MemberAccess",
                                                                "src": "4565:16:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "19457468657265756d205369676e6564204d6573736167653a0a3332",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "string",
                                                                    "type": "literal_string \"\u0019Ethereum Signed Message:\n32\"",
                                                                    "value": "\u0019Ethereum Signed Message:\n32"
                                                                },
                                                                "id": 2296,
                                                                "name": "Literal",
                                                                "src": "4582:34:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2282,
                                                                    "type": "bytes32",
                                                                    "value": "payloadHash"
                                                                },
                                                                "id": 2297,
                                                                "name": "Identifier",
                                                                "src": "4618:11:17"
                                                            }
                                                        ],
                                                        "id": 2298,
                                                        "name": "FunctionCall",
                                                        "src": "4565:65:17"
                                                    }
                                                ],
                                                "id": 2299,
                                                "name": "FunctionCall",
                                                "src": "4555:76:17"
                                            }
                                        ],
                                        "id": 2300,
                                        "name": "VariableDeclarationStatement",
                                        "src": "4533:98:17"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2301,
                                                        "name": "Identifier",
                                                        "src": "4642:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "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,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "address",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_bytes32",
                                                                                            "typeString": "bytes32"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_uint8",
                                                                                            "typeString": "uint8"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_bytes32",
                                                                                            "typeString": "bytes32"
                                                                                        },
                                                                                        {
                                                                                            "typeIdentifier": "t_bytes32",
                                                                                            "typeString": "bytes32"
                                                                                        }
                                                                                    ],
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9416,
                                                                                    "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)",
                                                                                    "value": "ecrecover"
                                                                                },
                                                                                "id": 2302,
                                                                                "name": "Identifier",
                                                                                "src": "4650:9:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2292,
                                                                                    "type": "bytes32",
                                                                                    "value": "messageHash"
                                                                                },
                                                                                "id": 2303,
                                                                                "name": "Identifier",
                                                                                "src": "4660:11:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2274,
                                                                                    "type": "uint8",
                                                                                    "value": "_v"
                                                                                },
                                                                                "id": 2304,
                                                                                "name": "Identifier",
                                                                                "src": "4673:2:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2276,
                                                                                    "type": "bytes32",
                                                                                    "value": "_r"
                                                                                },
                                                                                "id": 2305,
                                                                                "name": "Identifier",
                                                                                "src": "4677:2:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2278,
                                                                                    "type": "bytes32",
                                                                                    "value": "_s"
                                                                                },
                                                                                "id": 2306,
                                                                                "name": "Identifier",
                                                                                "src": "4681:2:17"
                                                                            }
                                                                        ],
                                                                        "id": 2307,
                                                                        "name": "FunctionCall",
                                                                        "src": "4650:34:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "arguments": [
                                                                                null
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "address",
                                                                            "type_conversion": false
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        null
                                                                                    ],
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 328,
                                                                                    "type": "function () view returns (address)",
                                                                                    "value": "owner"
                                                                                },
                                                                                "id": 2308,
                                                                                "name": "Identifier",
                                                                                "src": "4687:5:17"
                                                                            }
                                                                        ],
                                                                        "id": 2309,
                                                                        "name": "FunctionCall",
                                                                        "src": "4687:7:17"
                                                                    }
                                                                ],
                                                                "id": 2310,
                                                                "name": "BinaryOperation",
                                                                "src": "4650:44:17"
                                                            },
                                                            {
                                                                "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 payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 2311,
                                                                                "name": "Identifier",
                                                                                "src": "4698:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 2312,
                                                                        "name": "MemberAccess",
                                                                        "src": "4698:10:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1870,
                                                                            "type": "address",
                                                                            "value": "bridge"
                                                                        },
                                                                        "id": 2313,
                                                                        "name": "Identifier",
                                                                        "src": "4710:6:17"
                                                                    }
                                                                ],
                                                                "id": 2314,
                                                                "name": "BinaryOperation",
                                                                "src": "4698:18:17"
                                                            }
                                                        ],
                                                        "id": 2315,
                                                        "name": "BinaryOperation",
                                                        "src": "4650:66:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 2316,
                                                        "name": "Literal",
                                                        "src": "4718:21:17"
                                                    }
                                                ],
                                                "id": 2317,
                                                "name": "FunctionCall",
                                                "src": "4642:98:17"
                                            }
                                        ],
                                        "id": 2318,
                                        "name": "ExpressionStatement",
                                        "src": "4642:98:17"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_568e6570640e78f9333d18a9162f4803ba213915bb9c5faa9e2651860d6b0866",
                                                                    "typeString": "literal_string \"Invalid manager type\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2319,
                                                        "name": "Identifier",
                                                        "src": "4751:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "||",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "||",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bool",
                                                                                        "typeString": "bool"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "||",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "==",
                                                                                            "type": "bool"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2270,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_role"
                                                                                                },
                                                                                                "id": 2320,
                                                                                                "name": "Identifier",
                                                                                                "src": "4759:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "hexvalue": "437573746f6469616e",
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "subdenomination": null,
                                                                                                    "token": "string",
                                                                                                    "type": "literal_string \"Custodian\"",
                                                                                                    "value": "Custodian"
                                                                                                },
                                                                                                "id": 2321,
                                                                                                "name": "Literal",
                                                                                                "src": "4766:11:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2322,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "4759:18:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "==",
                                                                                            "type": "bool"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2270,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_role"
                                                                                                },
                                                                                                "id": 2323,
                                                                                                "name": "Identifier",
                                                                                                "src": "4781:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "hexvalue": "414d",
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "subdenomination": null,
                                                                                                    "token": "string",
                                                                                                    "type": "literal_string \"AM\"",
                                                                                                    "value": "AM"
                                                                                                },
                                                                                                "id": 2324,
                                                                                                "name": "Literal",
                                                                                                "src": "4788:4:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2325,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "4781:11:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2326,
                                                                                "name": "BinaryOperation",
                                                                                "src": "4759:33:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "==",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2270,
                                                                                            "type": "bytes32",
                                                                                            "value": "_role"
                                                                                        },
                                                                                        "id": 2327,
                                                                                        "name": "Identifier",
                                                                                        "src": "4796:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "4450",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "string",
                                                                                            "type": "literal_string \"DP\"",
                                                                                            "value": "DP"
                                                                                        },
                                                                                        "id": 2328,
                                                                                        "name": "Literal",
                                                                                        "src": "4803:4:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2329,
                                                                                "name": "BinaryOperation",
                                                                                "src": "4796:11:17"
                                                                            }
                                                                        ],
                                                                        "id": 2330,
                                                                        "name": "BinaryOperation",
                                                                        "src": "4759:48:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2270,
                                                                                    "type": "bytes32",
                                                                                    "value": "_role"
                                                                                },
                                                                                "id": 2331,
                                                                                "name": "Identifier",
                                                                                "src": "4811:5:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "4b5943414d4c",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "string",
                                                                                    "type": "literal_string \"KYCAML\"",
                                                                                    "value": "KYCAML"
                                                                                },
                                                                                "id": 2332,
                                                                                "name": "Literal",
                                                                                "src": "4818:8:17"
                                                                            }
                                                                        ],
                                                                        "id": 2333,
                                                                        "name": "BinaryOperation",
                                                                        "src": "4811:15:17"
                                                                    }
                                                                ],
                                                                "id": 2334,
                                                                "name": "BinaryOperation",
                                                                "src": "4759:67:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2270,
                                                                            "type": "bytes32",
                                                                            "value": "_role"
                                                                        },
                                                                        "id": 2335,
                                                                        "name": "Identifier",
                                                                        "src": "4830:5:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "497373756572",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"Issuer\"",
                                                                            "value": "Issuer"
                                                                        },
                                                                        "id": 2336,
                                                                        "name": "Literal",
                                                                        "src": "4837:8:17"
                                                                    }
                                                                ],
                                                                "id": 2337,
                                                                "name": "BinaryOperation",
                                                                "src": "4830:15:17"
                                                            }
                                                        ],
                                                        "id": 2338,
                                                        "name": "BinaryOperation",
                                                        "src": "4759:86:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "496e76616c6964206d616e616765722074797065",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Invalid manager type\"",
                                                            "value": "Invalid manager type"
                                                        },
                                                        "id": 2339,
                                                        "name": "Literal",
                                                        "src": "4847:22:17"
                                                    }
                                                ],
                                                "id": 2340,
                                                "name": "FunctionCall",
                                                "src": "4751:119:17"
                                            }
                                        ],
                                        "id": 2341,
                                        "name": "ExpressionStatement",
                                        "src": "4751:119:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2343
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "position",
                                                    "scope": 2465,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 2342,
                                                        "name": "ElementaryTypeName",
                                                        "src": "4881:7:17"
                                                    }
                                                ],
                                                "id": 2343,
                                                "name": "VariableDeclaration",
                                                "src": "4881:16:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1931,
                                                            "type": "mapping(address => uint256)",
                                                            "value": "managerIndex"
                                                        },
                                                        "id": 2344,
                                                        "name": "Identifier",
                                                        "src": "4900:12:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2266,
                                                            "type": "address",
                                                            "value": "_submanager"
                                                        },
                                                        "id": 2345,
                                                        "name": "Identifier",
                                                        "src": "4913:11:17"
                                                    }
                                                ],
                                                "id": 2346,
                                                "name": "IndexAccess",
                                                "src": "4900:25:17"
                                            }
                                        ],
                                        "id": 2347,
                                        "name": "VariableDeclarationStatement",
                                        "src": "4881:44:17"
                                    },
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": ">",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2343,
                                                            "type": "uint256",
                                                            "value": "position"
                                                        },
                                                        "id": 2348,
                                                        "name": "Identifier",
                                                        "src": "4939:8:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 2349,
                                                        "name": "Literal",
                                                        "src": "4948:1:17"
                                                    }
                                                ],
                                                "id": 2350,
                                                "name": "BinaryOperation",
                                                "src": "4939:10:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "&&",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "&&",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bool",
                                                                                        "typeString": "bool"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "&&",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "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": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1927,
                                                                                                            "type": "address[] storage ref",
                                                                                                            "value": "submanagers"
                                                                                                        },
                                                                                                        "id": 2351,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "4969:11:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "commonType": {
                                                                                                                "typeIdentifier": "t_uint256",
                                                                                                                "typeString": "uint256"
                                                                                                            },
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "operator": "-",
                                                                                                            "type": "uint256"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 2343,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "position"
                                                                                                                },
                                                                                                                "id": 2352,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "4981:8:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "hexvalue": "31",
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": true,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "subdenomination": null,
                                                                                                                    "token": "number",
                                                                                                                    "type": "int_const 1",
                                                                                                                    "value": "1"
                                                                                                                },
                                                                                                                "id": 2353,
                                                                                                                "name": "Literal",
                                                                                                                "src": "4990:1:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2354,
                                                                                                        "name": "BinaryOperation",
                                                                                                        "src": "4981:10:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2355,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "4969:23:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2266,
                                                                                                    "type": "address",
                                                                                                    "value": "_submanager"
                                                                                                },
                                                                                                "id": 2356,
                                                                                                "name": "Identifier",
                                                                                                "src": "4994:11:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2357,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "4969:36:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "==",
                                                                                            "type": "bool"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "role",
                                                                                                    "referencedDeclaration": 1876,
                                                                                                    "type": "bytes32"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct Client.role storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1924,
                                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                                    "value": "roles"
                                                                                                                },
                                                                                                                "id": 2358,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5026:5:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "type": "address"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1927,
                                                                                                                            "type": "address[] storage ref",
                                                                                                                            "value": "submanagers"
                                                                                                                        },
                                                                                                                        "id": 2359,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "5032:11:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "commonType": {
                                                                                                                                "typeIdentifier": "t_uint256",
                                                                                                                                "typeString": "uint256"
                                                                                                                            },
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "operator": "-",
                                                                                                                            "type": "uint256"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 2343,
                                                                                                                                    "type": "uint256",
                                                                                                                                    "value": "position"
                                                                                                                                },
                                                                                                                                "id": 2360,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "5044:8:17"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "hexvalue": "31",
                                                                                                                                    "isConstant": false,
                                                                                                                                    "isLValue": false,
                                                                                                                                    "isPure": true,
                                                                                                                                    "lValueRequested": false,
                                                                                                                                    "subdenomination": null,
                                                                                                                                    "token": "number",
                                                                                                                                    "type": "int_const 1",
                                                                                                                                    "value": "1"
                                                                                                                                },
                                                                                                                                "id": 2361,
                                                                                                                                "name": "Literal",
                                                                                                                                "src": "5053:1:17"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 2362,
                                                                                                                        "name": "BinaryOperation",
                                                                                                                        "src": "5044:10:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2363,
                                                                                                                "name": "IndexAccess",
                                                                                                                "src": "5032:23:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2364,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "5026:30:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2365,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "5026:35:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2270,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_role"
                                                                                                },
                                                                                                "id": 2366,
                                                                                                "name": "Identifier",
                                                                                                "src": "5063:5:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2367,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "5026:42:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2368,
                                                                                "name": "BinaryOperation",
                                                                                "src": "4969:99:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "==",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "country",
                                                                                            "referencedDeclaration": 1874,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2369,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5090:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2370,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5096:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2343,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2371,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "5108:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2372,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "5117:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2373,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "5108:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2374,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "5096:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2375,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5090:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2376,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "5090:38:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2268,
                                                                                            "type": "bytes32",
                                                                                            "value": "_country"
                                                                                        },
                                                                                        "id": 2377,
                                                                                        "name": "Identifier",
                                                                                        "src": "5130:8:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2378,
                                                                                "name": "BinaryOperation",
                                                                                "src": "5090:48:17"
                                                                            }
                                                                        ],
                                                                        "id": 2379,
                                                                        "name": "BinaryOperation",
                                                                        "src": "4969:169:17"
                                                                    },
                                                                    {
                                                                        "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": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "manager",
                                                                                    "referencedDeclaration": 1872,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Client.role storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1924,
                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                    "value": "roles"
                                                                                                },
                                                                                                "id": 2380,
                                                                                                "name": "Identifier",
                                                                                                "src": "5159:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1927,
                                                                                                            "type": "address[] storage ref",
                                                                                                            "value": "submanagers"
                                                                                                        },
                                                                                                        "id": 2381,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5165:11:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "commonType": {
                                                                                                                "typeIdentifier": "t_uint256",
                                                                                                                "typeString": "uint256"
                                                                                                            },
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "operator": "-",
                                                                                                            "type": "uint256"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 2343,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "position"
                                                                                                                },
                                                                                                                "id": 2382,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5177:8:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "hexvalue": "31",
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": true,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "subdenomination": null,
                                                                                                                    "token": "number",
                                                                                                                    "type": "int_const 1",
                                                                                                                    "value": "1"
                                                                                                                },
                                                                                                                "id": 2383,
                                                                                                                "name": "Literal",
                                                                                                                "src": "5186:1:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2384,
                                                                                                        "name": "BinaryOperation",
                                                                                                        "src": "5177:10:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2385,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5165:23:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2386,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "5159:30:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2387,
                                                                                "name": "MemberAccess",
                                                                                "src": "5159:38:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2264,
                                                                                    "type": "address",
                                                                                    "value": "_manager"
                                                                                },
                                                                                "id": 2388,
                                                                                "name": "Identifier",
                                                                                "src": "5199:8:17"
                                                                            }
                                                                        ],
                                                                        "id": 2389,
                                                                        "name": "BinaryOperation",
                                                                        "src": "5159:48:17"
                                                                    }
                                                                ],
                                                                "id": 2390,
                                                                "name": "BinaryOperation",
                                                                "src": "4969:238:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "member_name": "manager",
                                                                                            "referencedDeclaration": 1872,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2391,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5247:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2392,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5253:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2343,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2393,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "5265:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2394,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "5274:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2395,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "5265:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2396,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "5253:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2397,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5247:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2398,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "5247:38:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "isStructConstructorCall": false,
                                                                                            "lValueRequested": false,
                                                                                            "names": [
                                                                                                null
                                                                                            ],
                                                                                            "type": "address payable",
                                                                                            "type_conversion": true
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": [
                                                                                                        {
                                                                                                            "typeIdentifier": "t_rational_0_by_1",
                                                                                                            "typeString": "int_const 0"
                                                                                                        }
                                                                                                    ],
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "type(address)",
                                                                                                    "value": "address"
                                                                                                },
                                                                                                "id": 2399,
                                                                                                "name": "ElementaryTypeNameExpression",
                                                                                                "src": "5288:7:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "hexvalue": "307830",
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "subdenomination": null,
                                                                                                    "token": "number",
                                                                                                    "type": "int_const 0",
                                                                                                    "value": "0x0"
                                                                                                },
                                                                                                "id": 2400,
                                                                                                "name": "Literal",
                                                                                                "src": "5296:3:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2401,
                                                                                        "name": "FunctionCall",
                                                                                        "src": "5288:12:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2402,
                                                                                "name": "Assignment",
                                                                                "src": "5247:53:17"
                                                                            }
                                                                        ],
                                                                        "id": 2403,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "5247:53:17"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "member_name": "country",
                                                                                            "referencedDeclaration": 1874,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2404,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5323:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2405,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5329:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2343,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2406,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "5341:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2407,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "5350:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2408,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "5341:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2409,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "5329:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2410,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5323:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2411,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "5323:38:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "string",
                                                                                            "type": "literal_string \"\"",
                                                                                            "value": ""
                                                                                        },
                                                                                        "id": 2412,
                                                                                        "name": "Literal",
                                                                                        "src": "5364:2:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2413,
                                                                                "name": "Assignment",
                                                                                "src": "5323:43:17"
                                                                            }
                                                                        ],
                                                                        "id": 2414,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "5323:43:17"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "member_name": "role",
                                                                                            "referencedDeclaration": 1876,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2415,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5389:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2416,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5395:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2343,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2417,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "5407:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2418,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "5416:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2419,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "5407:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2420,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "5395:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2421,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5389:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2422,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "5389:35:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "string",
                                                                                            "type": "literal_string \"\"",
                                                                                            "value": ""
                                                                                        },
                                                                                        "id": 2423,
                                                                                        "name": "Literal",
                                                                                        "src": "5427:2:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2424,
                                                                                "name": "Assignment",
                                                                                "src": "5389:40:17"
                                                                            }
                                                                        ],
                                                                        "id": 2425,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "5389:40:17"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "member_name": "id",
                                                                                            "referencedDeclaration": 1878,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2426,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5452:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "address"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1927,
                                                                                                                    "type": "address[] storage ref",
                                                                                                                    "value": "submanagers"
                                                                                                                },
                                                                                                                "id": 2427,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5458:11:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "commonType": {
                                                                                                                        "typeIdentifier": "t_uint256",
                                                                                                                        "typeString": "uint256"
                                                                                                                    },
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "operator": "-",
                                                                                                                    "type": "uint256"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2343,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "position"
                                                                                                                        },
                                                                                                                        "id": 2428,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "5470:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "hexvalue": "31",
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": true,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "subdenomination": null,
                                                                                                                            "token": "number",
                                                                                                                            "type": "int_const 1",
                                                                                                                            "value": "1"
                                                                                                                        },
                                                                                                                        "id": 2429,
                                                                                                                        "name": "Literal",
                                                                                                                        "src": "5479:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2430,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "5470:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2431,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "5458:23:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2432,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5452:30:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2433,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "5452:33:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "string",
                                                                                            "type": "literal_string \"\"",
                                                                                            "value": ""
                                                                                        },
                                                                                        "id": 2434,
                                                                                        "name": "Literal",
                                                                                        "src": "5488:2:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2435,
                                                                                "name": "Assignment",
                                                                                "src": "5452:38:17"
                                                                            }
                                                                        ],
                                                                        "id": 2436,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "5452:38:17"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "delete",
                                                                                    "prefix": true,
                                                                                    "type": "tuple()"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isInlineArray": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": true,
                                                                                                    "type": "address"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1927,
                                                                                                            "type": "address[] storage ref",
                                                                                                            "value": "submanagers"
                                                                                                        },
                                                                                                        "id": 2437,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "5520:11:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "commonType": {
                                                                                                                "typeIdentifier": "t_uint256",
                                                                                                                "typeString": "uint256"
                                                                                                            },
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "operator": "-",
                                                                                                            "type": "uint256"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 2343,
                                                                                                                    "type": "uint256",
                                                                                                                    "value": "position"
                                                                                                                },
                                                                                                                "id": 2438,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "5532:8:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "hexvalue": "31",
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": true,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "subdenomination": null,
                                                                                                                    "token": "number",
                                                                                                                    "type": "int_const 1",
                                                                                                                    "value": "1"
                                                                                                                },
                                                                                                                "id": 2439,
                                                                                                                "name": "Literal",
                                                                                                                "src": "5541:1:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2440,
                                                                                                        "name": "BinaryOperation",
                                                                                                        "src": "5532:10:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2441,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "5520:23:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2442,
                                                                                        "name": "TupleExpression",
                                                                                        "src": "5519:25:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2443,
                                                                                "name": "UnaryOperation",
                                                                                "src": "5513:31:17"
                                                                            }
                                                                        ],
                                                                        "id": 2444,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "5513:31:17"
                                                                    }
                                                                ],
                                                                "id": 2445,
                                                                "name": "Block",
                                                                "src": "5208:352:17"
                                                            }
                                                        ],
                                                        "id": 2446,
                                                        "name": "IfStatement",
                                                        "src": "4965:595:17"
                                                    }
                                                ],
                                                "id": 2447,
                                                "name": "Block",
                                                "src": "4950:621:17"
                                            }
                                        ],
                                        "id": 2448,
                                        "name": "IfStatement",
                                        "src": "4936:635:17"
                                    },
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "==",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2270,
                                                            "type": "bytes32",
                                                            "value": "_role"
                                                        },
                                                        "id": 2449,
                                                        "name": "Identifier",
                                                        "src": "5584:5:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "4b5943414d4c",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"KYCAML\"",
                                                            "value": "KYCAML"
                                                        },
                                                        "id": 2450,
                                                        "name": "Literal",
                                                        "src": "5591:8:17"
                                                    }
                                                ],
                                                "id": 2451,
                                                "name": "BinaryOperation",
                                                "src": "5584:15:17"
                                            },
                                            {
                                                "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": 2994,
                                                                    "type": "function (address,bytes32)",
                                                                    "value": "unassignManagerFromUser"
                                                                },
                                                                "id": 2452,
                                                                "name": "Identifier",
                                                                "src": "5614:23:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2266,
                                                                    "type": "address",
                                                                    "value": "_submanager"
                                                                },
                                                                "id": 2453,
                                                                "name": "Identifier",
                                                                "src": "5638:11:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2268,
                                                                    "type": "bytes32",
                                                                    "value": "_country"
                                                                },
                                                                "id": 2454,
                                                                "name": "Identifier",
                                                                "src": "5651:8:17"
                                                            }
                                                        ],
                                                        "id": 2455,
                                                        "name": "FunctionCall",
                                                        "src": "5614:46:17"
                                                    }
                                                ],
                                                "id": 2456,
                                                "name": "ExpressionStatement",
                                                "src": "5614:46:17"
                                            }
                                        ],
                                        "id": 2457,
                                        "name": "IfStatement",
                                        "src": "5581:79:17"
                                    },
                                    {
                                        "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_address",
                                                                    "typeString": "address"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1962,
                                                            "type": "function (address,address,bytes32,bytes32)",
                                                            "value": "ManagerRemoved"
                                                        },
                                                        "id": 2458,
                                                        "name": "Identifier",
                                                        "src": "5676:14:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2264,
                                                            "type": "address",
                                                            "value": "_manager"
                                                        },
                                                        "id": 2459,
                                                        "name": "Identifier",
                                                        "src": "5691:8:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2266,
                                                            "type": "address",
                                                            "value": "_submanager"
                                                        },
                                                        "id": 2460,
                                                        "name": "Identifier",
                                                        "src": "5701:11:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2270,
                                                            "type": "bytes32",
                                                            "value": "_role"
                                                        },
                                                        "id": 2461,
                                                        "name": "Identifier",
                                                        "src": "5714:5:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2268,
                                                            "type": "bytes32",
                                                            "value": "_country"
                                                        },
                                                        "id": 2462,
                                                        "name": "Identifier",
                                                        "src": "5721:8:17"
                                                    }
                                                ],
                                                "id": 2463,
                                                "name": "FunctionCall",
                                                "src": "5676:54:17"
                                            }
                                        ],
                                        "id": 2464,
                                        "name": "EmitStatement",
                                        "src": "5671:59:17"
                                    }
                                ],
                                "id": 2465,
                                "name": "Block",
                                "src": "4442:1296:17"
                            }
                        ],
                        "id": 2466,
                        "name": "FunctionDefinition",
                        "src": "4253:1485:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "setAmlScore",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6784,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2496,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2467,
                                                "name": "ElementaryTypeName",
                                                "src": "5770:7:17"
                                            }
                                        ],
                                        "id": 2468,
                                        "name": "VariableDeclaration",
                                        "src": "5770:14:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "score",
                                            "scope": 2496,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 2469,
                                                "name": "ElementaryTypeName",
                                                "src": "5786:7:17"
                                            }
                                        ],
                                        "id": 2470,
                                        "name": "VariableDeclaration",
                                        "src": "5786:13:17"
                                    }
                                ],
                                "id": 2471,
                                "name": "ParameterList",
                                "src": "5769:31:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2472,
                                "name": "ParameterList",
                                "src": "5810:0:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2473,
                                                        "name": "Identifier",
                                                        "src": "5821:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1870,
                                                                            "type": "address",
                                                                            "value": "bridge"
                                                                        },
                                                                        "id": 2474,
                                                                        "name": "Identifier",
                                                                        "src": "5829:6:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "sender",
                                                                            "referencedDeclaration": null,
                                                                            "type": "address payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 2475,
                                                                                "name": "Identifier",
                                                                                "src": "5837:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 2476,
                                                                        "name": "MemberAccess",
                                                                        "src": "5837:10:17"
                                                                    }
                                                                ],
                                                                "id": 2477,
                                                                "name": "BinaryOperation",
                                                                "src": "5829:18:17"
                                                            },
                                                            {
                                                                "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": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1920,
                                                                                    "type": "mapping(address => address)",
                                                                                    "value": "managers"
                                                                                },
                                                                                "id": 2478,
                                                                                "name": "Identifier",
                                                                                "src": "5851:8:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2468,
                                                                                    "type": "address",
                                                                                    "value": "client"
                                                                                },
                                                                                "id": 2479,
                                                                                "name": "Identifier",
                                                                                "src": "5860:6:17"
                                                                            }
                                                                        ],
                                                                        "id": 2480,
                                                                        "name": "IndexAccess",
                                                                        "src": "5851:16:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "sender",
                                                                            "referencedDeclaration": null,
                                                                            "type": "address payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 2481,
                                                                                "name": "Identifier",
                                                                                "src": "5869:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 2482,
                                                                        "name": "MemberAccess",
                                                                        "src": "5869:10:17"
                                                                    }
                                                                ],
                                                                "id": 2483,
                                                                "name": "BinaryOperation",
                                                                "src": "5851:28:17"
                                                            }
                                                        ],
                                                        "id": 2484,
                                                        "name": "BinaryOperation",
                                                        "src": "5829:50:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 2485,
                                                        "name": "Literal",
                                                        "src": "5881:21:17"
                                                    }
                                                ],
                                                "id": 2486,
                                                "name": "FunctionCall",
                                                "src": "5821:82:17"
                                            }
                                        ],
                                        "id": 2487,
                                        "name": "ExpressionStatement",
                                        "src": "5821:82:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "amlscore",
                                                            "referencedDeclaration": 1889,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2488,
                                                                        "name": "Identifier",
                                                                        "src": "5914:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2468,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2489,
                                                                        "name": "Identifier",
                                                                        "src": "5922:6:17"
                                                                    }
                                                                ],
                                                                "id": 2490,
                                                                "name": "IndexAccess",
                                                                "src": "5914:15:17"
                                                            }
                                                        ],
                                                        "id": 2491,
                                                        "name": "MemberAccess",
                                                        "src": "5914:24:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2470,
                                                            "type": "uint256",
                                                            "value": "score"
                                                        },
                                                        "id": 2492,
                                                        "name": "Identifier",
                                                        "src": "5941:5:17"
                                                    }
                                                ],
                                                "id": 2493,
                                                "name": "Assignment",
                                                "src": "5914:32:17"
                                            }
                                        ],
                                        "id": 2494,
                                        "name": "ExpressionStatement",
                                        "src": "5914:32:17"
                                    }
                                ],
                                "id": 2495,
                                "name": "Block",
                                "src": "5810:144:17"
                            }
                        ],
                        "id": 2496,
                        "name": "FunctionDefinition",
                        "src": "5749:205:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "setAmlPassScore",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_score",
                                            "scope": 2514,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 2497,
                                                "name": "ElementaryTypeName",
                                                "src": "5987:7:17"
                                            }
                                        ],
                                        "id": 2498,
                                        "name": "VariableDeclaration",
                                        "src": "5987:14:17"
                                    }
                                ],
                                "id": 2499,
                                "name": "ParameterList",
                                "src": "5986:16:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2500,
                                "name": "ParameterList",
                                "src": "6012:0:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2501,
                                                        "name": "Identifier",
                                                        "src": "6023:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_address",
                                                                "typeString": "address"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "==",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1870,
                                                                    "type": "address",
                                                                    "value": "bridge"
                                                                },
                                                                "id": 2502,
                                                                "name": "Identifier",
                                                                "src": "6031:6:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "sender",
                                                                    "referencedDeclaration": null,
                                                                    "type": "address payable"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 9424,
                                                                            "type": "msg",
                                                                            "value": "msg"
                                                                        },
                                                                        "id": 2503,
                                                                        "name": "Identifier",
                                                                        "src": "6039:3:17"
                                                                    }
                                                                ],
                                                                "id": 2504,
                                                                "name": "MemberAccess",
                                                                "src": "6039:10:17"
                                                            }
                                                        ],
                                                        "id": 2505,
                                                        "name": "BinaryOperation",
                                                        "src": "6031:18:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 2506,
                                                        "name": "Literal",
                                                        "src": "6051:21:17"
                                                    }
                                                ],
                                                "id": 2507,
                                                "name": "FunctionCall",
                                                "src": "6023:50:17"
                                            }
                                        ],
                                        "id": 2508,
                                        "name": "ExpressionStatement",
                                        "src": "6023:50:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1903,
                                                            "type": "uint256",
                                                            "value": "passScore"
                                                        },
                                                        "id": 2509,
                                                        "name": "Identifier",
                                                        "src": "6084:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2498,
                                                            "type": "uint256",
                                                            "value": "_score"
                                                        },
                                                        "id": 2510,
                                                        "name": "Identifier",
                                                        "src": "6096:6:17"
                                                    }
                                                ],
                                                "id": 2511,
                                                "name": "Assignment",
                                                "src": "6084:18:17"
                                            }
                                        ],
                                        "id": 2512,
                                        "name": "ExpressionStatement",
                                        "src": "6084:18:17"
                                    }
                                ],
                                "id": 2513,
                                "name": "Block",
                                "src": "6012:98:17"
                            }
                        ],
                        "id": 2514,
                        "name": "FunctionDefinition",
                        "src": "5962:148:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getAMLStatus",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": 6791,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2541,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2515,
                                                "name": "ElementaryTypeName",
                                                "src": "6143:7:17"
                                            }
                                        ],
                                        "id": 2516,
                                        "name": "VariableDeclaration",
                                        "src": "6143:14:17"
                                    }
                                ],
                                "id": 2517,
                                "name": "ParameterList",
                                "src": "6142:16:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2541,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bool",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bool",
                                                    "type": "bool"
                                                },
                                                "id": 2518,
                                                "name": "ElementaryTypeName",
                                                "src": "6181:4:17"
                                            }
                                        ],
                                        "id": 2519,
                                        "name": "VariableDeclaration",
                                        "src": "6181:4:17"
                                    }
                                ],
                                "id": 2520,
                                "name": "ParameterList",
                                "src": "6180:6:17"
                            },
                            {
                                "children": [
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "!=",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "amlscore",
                                                            "referencedDeclaration": 1889,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2521,
                                                                        "name": "Identifier",
                                                                        "src": "6200:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2516,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2522,
                                                                        "name": "Identifier",
                                                                        "src": "6208:6:17"
                                                                    }
                                                                ],
                                                                "id": 2523,
                                                                "name": "IndexAccess",
                                                                "src": "6200:15:17"
                                                            }
                                                        ],
                                                        "id": 2524,
                                                        "name": "MemberAccess",
                                                        "src": "6200:24:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 2525,
                                                        "name": "Literal",
                                                        "src": "6226:1:17"
                                                    }
                                                ],
                                                "id": 2526,
                                                "name": "BinaryOperation",
                                                "src": "6200:27:17"
                                            },
                                            {
                                                "attributes": {
                                                    "functionReturnParameters": 2520
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": ">=",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "amlscore",
                                                                            "referencedDeclaration": 1889,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.user storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1907,
                                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                                            "value": "clients"
                                                                                        },
                                                                                        "id": 2527,
                                                                                        "name": "Identifier",
                                                                                        "src": "6249:7:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2516,
                                                                                            "type": "address",
                                                                                            "value": "client"
                                                                                        },
                                                                                        "id": 2528,
                                                                                        "name": "Identifier",
                                                                                        "src": "6257:6:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2529,
                                                                                "name": "IndexAccess",
                                                                                "src": "6249:15:17"
                                                                            }
                                                                        ],
                                                                        "id": 2530,
                                                                        "name": "MemberAccess",
                                                                        "src": "6249:24:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1903,
                                                                            "type": "uint256",
                                                                            "value": "passScore"
                                                                        },
                                                                        "id": 2531,
                                                                        "name": "Identifier",
                                                                        "src": "6277:9:17"
                                                                    }
                                                                ],
                                                                "id": 2532,
                                                                "name": "BinaryOperation",
                                                                "src": "6249:37:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "74727565",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "bool",
                                                                    "type": "bool",
                                                                    "value": "true"
                                                                },
                                                                "id": 2533,
                                                                "name": "Literal",
                                                                "src": "6289:4:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "hexvalue": "66616c7365",
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": true,
                                                                    "lValueRequested": false,
                                                                    "subdenomination": null,
                                                                    "token": "bool",
                                                                    "type": "bool",
                                                                    "value": "false"
                                                                },
                                                                "id": 2534,
                                                                "name": "Literal",
                                                                "src": "6296:5:17"
                                                            }
                                                        ],
                                                        "id": 2535,
                                                        "name": "Conditional",
                                                        "src": "6249:52:17"
                                                    }
                                                ],
                                                "id": 2536,
                                                "name": "Return",
                                                "src": "6242:59:17"
                                            },
                                            {
                                                "attributes": {
                                                    "functionReturnParameters": 2520
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "74727565",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "bool",
                                                            "type": "bool",
                                                            "value": "true"
                                                        },
                                                        "id": 2537,
                                                        "name": "Literal",
                                                        "src": "6337:4:17"
                                                    }
                                                ],
                                                "id": 2538,
                                                "name": "Return",
                                                "src": "6330:11:17"
                                            }
                                        ],
                                        "id": 2539,
                                        "name": "IfStatement",
                                        "src": "6197:144:17"
                                    }
                                ],
                                "id": 2540,
                                "name": "Block",
                                "src": "6186:163:17"
                            }
                        ],
                        "id": 2541,
                        "name": "FunctionDefinition",
                        "src": "6121:228:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "setCreditScore",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6777,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2571,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2542,
                                                "name": "ElementaryTypeName",
                                                "src": "6381:7:17"
                                            }
                                        ],
                                        "id": 2543,
                                        "name": "VariableDeclaration",
                                        "src": "6381:14:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "score",
                                            "scope": 2571,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 2544,
                                                "name": "ElementaryTypeName",
                                                "src": "6397:7:17"
                                            }
                                        ],
                                        "id": 2545,
                                        "name": "VariableDeclaration",
                                        "src": "6397:13:17"
                                    }
                                ],
                                "id": 2546,
                                "name": "ParameterList",
                                "src": "6380:31:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2547,
                                "name": "ParameterList",
                                "src": "6421:0:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2548,
                                                        "name": "Identifier",
                                                        "src": "6432:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_address",
                                                                        "typeString": "address"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1870,
                                                                            "type": "address",
                                                                            "value": "bridge"
                                                                        },
                                                                        "id": 2549,
                                                                        "name": "Identifier",
                                                                        "src": "6440:6:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "sender",
                                                                            "referencedDeclaration": null,
                                                                            "type": "address payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 2550,
                                                                                "name": "Identifier",
                                                                                "src": "6448:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 2551,
                                                                        "name": "MemberAccess",
                                                                        "src": "6448:10:17"
                                                                    }
                                                                ],
                                                                "id": 2552,
                                                                "name": "BinaryOperation",
                                                                "src": "6440:18:17"
                                                            },
                                                            {
                                                                "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": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1920,
                                                                                    "type": "mapping(address => address)",
                                                                                    "value": "managers"
                                                                                },
                                                                                "id": 2553,
                                                                                "name": "Identifier",
                                                                                "src": "6462:8:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2543,
                                                                                    "type": "address",
                                                                                    "value": "client"
                                                                                },
                                                                                "id": 2554,
                                                                                "name": "Identifier",
                                                                                "src": "6471:6:17"
                                                                            }
                                                                        ],
                                                                        "id": 2555,
                                                                        "name": "IndexAccess",
                                                                        "src": "6462:16:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "sender",
                                                                            "referencedDeclaration": null,
                                                                            "type": "address payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 2556,
                                                                                "name": "Identifier",
                                                                                "src": "6480:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 2557,
                                                                        "name": "MemberAccess",
                                                                        "src": "6480:10:17"
                                                                    }
                                                                ],
                                                                "id": 2558,
                                                                "name": "BinaryOperation",
                                                                "src": "6462:28:17"
                                                            }
                                                        ],
                                                        "id": 2559,
                                                        "name": "BinaryOperation",
                                                        "src": "6440:50:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 2560,
                                                        "name": "Literal",
                                                        "src": "6492:21:17"
                                                    }
                                                ],
                                                "id": 2561,
                                                "name": "FunctionCall",
                                                "src": "6432:82:17"
                                            }
                                        ],
                                        "id": 2562,
                                        "name": "ExpressionStatement",
                                        "src": "6432:82:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "amlscore",
                                                            "referencedDeclaration": 1889,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2563,
                                                                        "name": "Identifier",
                                                                        "src": "6525:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2543,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2564,
                                                                        "name": "Identifier",
                                                                        "src": "6533:6:17"
                                                                    }
                                                                ],
                                                                "id": 2565,
                                                                "name": "IndexAccess",
                                                                "src": "6525:15:17"
                                                            }
                                                        ],
                                                        "id": 2566,
                                                        "name": "MemberAccess",
                                                        "src": "6525:24:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2545,
                                                            "type": "uint256",
                                                            "value": "score"
                                                        },
                                                        "id": 2567,
                                                        "name": "Identifier",
                                                        "src": "6552:5:17"
                                                    }
                                                ],
                                                "id": 2568,
                                                "name": "Assignment",
                                                "src": "6525:32:17"
                                            }
                                        ],
                                        "id": 2569,
                                        "name": "ExpressionStatement",
                                        "src": "6525:32:17"
                                    }
                                ],
                                "id": 2570,
                                "name": "Block",
                                "src": "6421:144:17"
                            }
                        ],
                        "id": 2571,
                        "name": "FunctionDefinition",
                        "src": "6357:208:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "KycUpdate",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6770,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2665,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2572,
                                                "name": "ElementaryTypeName",
                                                "src": "6592:7:17"
                                            }
                                        ],
                                        "id": 2573,
                                        "name": "VariableDeclaration",
                                        "src": "6592:14:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "name",
                                            "scope": 2665,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2574,
                                                "name": "ElementaryTypeName",
                                                "src": "6608:7:17"
                                            }
                                        ],
                                        "id": 2575,
                                        "name": "VariableDeclaration",
                                        "src": "6608:12:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "accountid",
                                            "scope": 2665,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2576,
                                                "name": "ElementaryTypeName",
                                                "src": "6622:7:17"
                                            }
                                        ],
                                        "id": 2577,
                                        "name": "VariableDeclaration",
                                        "src": "6622:17:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "country",
                                            "scope": 2665,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2578,
                                                "name": "ElementaryTypeName",
                                                "src": "6641:7:17"
                                            }
                                        ],
                                        "id": 2579,
                                        "name": "VariableDeclaration",
                                        "src": "6641:15:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "contact",
                                            "scope": 2665,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2580,
                                                "name": "ElementaryTypeName",
                                                "src": "6658:7:17"
                                            }
                                        ],
                                        "id": 2581,
                                        "name": "VariableDeclaration",
                                        "src": "6658:15:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "status",
                                            "scope": 2665,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint",
                                                    "type": "uint256"
                                                },
                                                "id": 2582,
                                                "name": "ElementaryTypeName",
                                                "src": "6675:4:17"
                                            }
                                        ],
                                        "id": 2583,
                                        "name": "VariableDeclaration",
                                        "src": "6675:11:17"
                                    }
                                ],
                                "id": 2584,
                                "name": "ParameterList",
                                "src": "6591:96:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2585,
                                "name": "ParameterList",
                                "src": "6697:0:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2586,
                                                        "name": "Identifier",
                                                        "src": "6974:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "||",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "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 payable"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 9424,
                                                                                            "type": "msg",
                                                                                            "value": "msg"
                                                                                        },
                                                                                        "id": 2587,
                                                                                        "name": "Identifier",
                                                                                        "src": "7030:3:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2588,
                                                                                "name": "MemberAccess",
                                                                                "src": "7030:10:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1870,
                                                                                    "type": "address",
                                                                                    "value": "bridge"
                                                                                },
                                                                                "id": 2589,
                                                                                "name": "Identifier",
                                                                                "src": "7042:6:17"
                                                                            }
                                                                        ],
                                                                        "id": 2590,
                                                                        "name": "BinaryOperation",
                                                                        "src": "7030:18:17"
                                                                    },
                                                                    {
                                                                        "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": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1920,
                                                                                            "type": "mapping(address => address)",
                                                                                            "value": "managers"
                                                                                        },
                                                                                        "id": 2591,
                                                                                        "name": "Identifier",
                                                                                        "src": "7052:8:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2573,
                                                                                            "type": "address",
                                                                                            "value": "client"
                                                                                        },
                                                                                        "id": 2592,
                                                                                        "name": "Identifier",
                                                                                        "src": "7061:6:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2593,
                                                                                "name": "IndexAccess",
                                                                                "src": "7052:16:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "sender",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "address payable"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 9424,
                                                                                            "type": "msg",
                                                                                            "value": "msg"
                                                                                        },
                                                                                        "id": 2594,
                                                                                        "name": "Identifier",
                                                                                        "src": "7070:3:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2595,
                                                                                "name": "MemberAccess",
                                                                                "src": "7070:10:17"
                                                                            }
                                                                        ],
                                                                        "id": 2596,
                                                                        "name": "BinaryOperation",
                                                                        "src": "7052:28:17"
                                                                    }
                                                                ],
                                                                "id": 2597,
                                                                "name": "BinaryOperation",
                                                                "src": "7030:50:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "role",
                                                                            "referencedDeclaration": 1876,
                                                                            "type": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2598,
                                                                                        "name": "Identifier",
                                                                                        "src": "7084:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "sender",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "address payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 9424,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 2599,
                                                                                                "name": "Identifier",
                                                                                                "src": "7090:3:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2600,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "7090:10:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2601,
                                                                                "name": "IndexAccess",
                                                                                "src": "7084:17:17"
                                                                            }
                                                                        ],
                                                                        "id": 2602,
                                                                        "name": "MemberAccess",
                                                                        "src": "7084:22:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "4b5943414d4c",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"KYCAML\"",
                                                                            "value": "KYCAML"
                                                                        },
                                                                        "id": 2603,
                                                                        "name": "Literal",
                                                                        "src": "7108:8:17"
                                                                    }
                                                                ],
                                                                "id": 2604,
                                                                "name": "BinaryOperation",
                                                                "src": "7084:32:17"
                                                            }
                                                        ],
                                                        "id": 2605,
                                                        "name": "BinaryOperation",
                                                        "src": "7030:86:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 2606,
                                                        "name": "Literal",
                                                        "src": "7197:21:17"
                                                    }
                                                ],
                                                "id": 2607,
                                                "name": "FunctionCall",
                                                "src": "6974:245:17"
                                            }
                                        ],
                                        "id": 2608,
                                        "name": "ExpressionStatement",
                                        "src": "6974:245:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "bytes32"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "name",
                                                            "referencedDeclaration": 1881,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2609,
                                                                        "name": "Identifier",
                                                                        "src": "7230:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2573,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2610,
                                                                        "name": "Identifier",
                                                                        "src": "7238:6:17"
                                                                    }
                                                                ],
                                                                "id": 2611,
                                                                "name": "IndexAccess",
                                                                "src": "7230:15:17"
                                                            }
                                                        ],
                                                        "id": 2612,
                                                        "name": "MemberAccess",
                                                        "src": "7230:20:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2575,
                                                            "type": "bytes32",
                                                            "value": "name"
                                                        },
                                                        "id": 2613,
                                                        "name": "Identifier",
                                                        "src": "7253:4:17"
                                                    }
                                                ],
                                                "id": 2614,
                                                "name": "Assignment",
                                                "src": "7230:27:17"
                                            }
                                        ],
                                        "id": 2615,
                                        "name": "ExpressionStatement",
                                        "src": "7230:27:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "bytes32"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "accountid",
                                                            "referencedDeclaration": 1883,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2616,
                                                                        "name": "Identifier",
                                                                        "src": "7268:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2573,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2617,
                                                                        "name": "Identifier",
                                                                        "src": "7276:6:17"
                                                                    }
                                                                ],
                                                                "id": 2618,
                                                                "name": "IndexAccess",
                                                                "src": "7268:15:17"
                                                            }
                                                        ],
                                                        "id": 2619,
                                                        "name": "MemberAccess",
                                                        "src": "7268:25:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2577,
                                                            "type": "bytes32",
                                                            "value": "accountid"
                                                        },
                                                        "id": 2620,
                                                        "name": "Identifier",
                                                        "src": "7296:9:17"
                                                    }
                                                ],
                                                "id": 2621,
                                                "name": "Assignment",
                                                "src": "7268:37:17"
                                            }
                                        ],
                                        "id": 2622,
                                        "name": "ExpressionStatement",
                                        "src": "7268:37:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "kycstatus",
                                                            "referencedDeclaration": 1885,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2623,
                                                                        "name": "Identifier",
                                                                        "src": "7316:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2573,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2624,
                                                                        "name": "Identifier",
                                                                        "src": "7324:6:17"
                                                                    }
                                                                ],
                                                                "id": 2625,
                                                                "name": "IndexAccess",
                                                                "src": "7316:15:17"
                                                            }
                                                        ],
                                                        "id": 2626,
                                                        "name": "MemberAccess",
                                                        "src": "7316:25:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2583,
                                                            "type": "uint256",
                                                            "value": "status"
                                                        },
                                                        "id": 2627,
                                                        "name": "Identifier",
                                                        "src": "7344:6:17"
                                                    }
                                                ],
                                                "id": 2628,
                                                "name": "Assignment",
                                                "src": "7316:34:17"
                                            }
                                        ],
                                        "id": 2629,
                                        "name": "ExpressionStatement",
                                        "src": "7316:34:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "bytes32"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "country",
                                                            "referencedDeclaration": 1887,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2630,
                                                                        "name": "Identifier",
                                                                        "src": "7361:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2573,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2631,
                                                                        "name": "Identifier",
                                                                        "src": "7369:6:17"
                                                                    }
                                                                ],
                                                                "id": 2632,
                                                                "name": "IndexAccess",
                                                                "src": "7361:15:17"
                                                            }
                                                        ],
                                                        "id": 2633,
                                                        "name": "MemberAccess",
                                                        "src": "7361:23:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2579,
                                                            "type": "bytes32",
                                                            "value": "country"
                                                        },
                                                        "id": 2634,
                                                        "name": "Identifier",
                                                        "src": "7387:7:17"
                                                    }
                                                ],
                                                "id": 2635,
                                                "name": "Assignment",
                                                "src": "7361:33:17"
                                            }
                                        ],
                                        "id": 2636,
                                        "name": "ExpressionStatement",
                                        "src": "7361:33:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "bytes32"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "contact",
                                                            "referencedDeclaration": 1893,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2637,
                                                                        "name": "Identifier",
                                                                        "src": "7405:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2573,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2638,
                                                                        "name": "Identifier",
                                                                        "src": "7413:6:17"
                                                                    }
                                                                ],
                                                                "id": 2639,
                                                                "name": "IndexAccess",
                                                                "src": "7405:15:17"
                                                            }
                                                        ],
                                                        "id": 2640,
                                                        "name": "MemberAccess",
                                                        "src": "7405:23:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2581,
                                                            "type": "bytes32",
                                                            "value": "contact"
                                                        },
                                                        "id": 2641,
                                                        "name": "Identifier",
                                                        "src": "7431:7:17"
                                                    }
                                                ],
                                                "id": 2642,
                                                "name": "Assignment",
                                                "src": "7405:33:17"
                                            }
                                        ],
                                        "id": 2643,
                                        "name": "ExpressionStatement",
                                        "src": "7405:33:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "uint256",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_address",
                                                                    "typeString": "address"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "push",
                                                            "referencedDeclaration": null,
                                                            "type": "function (address) returns (uint256)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "address[] storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1916,
                                                                            "type": "mapping(bytes32 => address[] storage ref)",
                                                                            "value": "usersbyCountry"
                                                                        },
                                                                        "id": 2644,
                                                                        "name": "Identifier",
                                                                        "src": "7449:14:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2579,
                                                                            "type": "bytes32",
                                                                            "value": "country"
                                                                        },
                                                                        "id": 2645,
                                                                        "name": "Identifier",
                                                                        "src": "7464:7:17"
                                                                    }
                                                                ],
                                                                "id": 2646,
                                                                "name": "IndexAccess",
                                                                "src": "7449:23:17"
                                                            }
                                                        ],
                                                        "id": 2647,
                                                        "name": "MemberAccess",
                                                        "src": "7449:28:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2573,
                                                            "type": "address",
                                                            "value": "client"
                                                        },
                                                        "id": 2648,
                                                        "name": "Identifier",
                                                        "src": "7478:6:17"
                                                    }
                                                ],
                                                "id": 2649,
                                                "name": "FunctionCall",
                                                "src": "7449:36:17"
                                            }
                                        ],
                                        "id": 2650,
                                        "name": "ExpressionStatement",
                                        "src": "7449:36:17"
                                    },
                                    {
                                        "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": 2945,
                                                            "type": "function (address,bytes32)",
                                                            "value": "matchManagerToClient"
                                                        },
                                                        "id": 2651,
                                                        "name": "Identifier",
                                                        "src": "7496:20:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2573,
                                                            "type": "address",
                                                            "value": "client"
                                                        },
                                                        "id": 2652,
                                                        "name": "Identifier",
                                                        "src": "7517:6:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2579,
                                                            "type": "bytes32",
                                                            "value": "country"
                                                        },
                                                        "id": 2653,
                                                        "name": "Identifier",
                                                        "src": "7525:7:17"
                                                    }
                                                ],
                                                "id": 2654,
                                                "name": "FunctionCall",
                                                "src": "7496:37:17"
                                            }
                                        ],
                                        "id": 2655,
                                        "name": "ExpressionStatement",
                                        "src": "7496:37:17"
                                    },
                                    {
                                        "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_bytes32",
                                                                    "typeString": "bytes32"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1974,
                                                            "type": "function (address,bytes32,bytes32,bytes32,uint256)",
                                                            "value": "UserAdded"
                                                        },
                                                        "id": 2656,
                                                        "name": "Identifier",
                                                        "src": "7549:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2573,
                                                            "type": "address",
                                                            "value": "client"
                                                        },
                                                        "id": 2657,
                                                        "name": "Identifier",
                                                        "src": "7559:6:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2575,
                                                            "type": "bytes32",
                                                            "value": "name"
                                                        },
                                                        "id": 2658,
                                                        "name": "Identifier",
                                                        "src": "7567:4:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2577,
                                                            "type": "bytes32",
                                                            "value": "accountid"
                                                        },
                                                        "id": 2659,
                                                        "name": "Identifier",
                                                        "src": "7573:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2579,
                                                            "type": "bytes32",
                                                            "value": "country"
                                                        },
                                                        "id": 2660,
                                                        "name": "Identifier",
                                                        "src": "7584:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2583,
                                                            "type": "uint256",
                                                            "value": "status"
                                                        },
                                                        "id": 2661,
                                                        "name": "Identifier",
                                                        "src": "7593:6:17"
                                                    }
                                                ],
                                                "id": 2662,
                                                "name": "FunctionCall",
                                                "src": "7549:51:17"
                                            }
                                        ],
                                        "id": 2663,
                                        "name": "EmitStatement",
                                        "src": "7544:56:17"
                                    }
                                ],
                                "id": 2664,
                                "name": "Block",
                                "src": "6697:911:17"
                            }
                        ],
                        "id": 2665,
                        "name": "FunctionDefinition",
                        "src": "6573:1035:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getClientKYC",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": 6817,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2666,
                                                "name": "ElementaryTypeName",
                                                "src": "7638:7:17"
                                            }
                                        ],
                                        "id": 2667,
                                        "name": "VariableDeclaration",
                                        "src": "7638:14:17"
                                    }
                                ],
                                "id": 2668,
                                "name": "ParameterList",
                                "src": "7637:16:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2669,
                                                "name": "ElementaryTypeName",
                                                "src": "7676:7:17"
                                            }
                                        ],
                                        "id": 2670,
                                        "name": "VariableDeclaration",
                                        "src": "7676:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2671,
                                                "name": "ElementaryTypeName",
                                                "src": "7685:7:17"
                                            }
                                        ],
                                        "id": 2672,
                                        "name": "VariableDeclaration",
                                        "src": "7685:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2673,
                                                "name": "ElementaryTypeName",
                                                "src": "7694:7:17"
                                            }
                                        ],
                                        "id": 2674,
                                        "name": "VariableDeclaration",
                                        "src": "7694:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 2675,
                                                "name": "ElementaryTypeName",
                                                "src": "7703:7:17"
                                            }
                                        ],
                                        "id": 2676,
                                        "name": "VariableDeclaration",
                                        "src": "7703:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2677,
                                                "name": "ElementaryTypeName",
                                                "src": "7712:7:17"
                                            }
                                        ],
                                        "id": 2678,
                                        "name": "VariableDeclaration",
                                        "src": "7712:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 2679,
                                                "name": "ElementaryTypeName",
                                                "src": "7721:7:17"
                                            }
                                        ],
                                        "id": 2680,
                                        "name": "VariableDeclaration",
                                        "src": "7721:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2776,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "uint256",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "uint256",
                                                    "type": "uint256"
                                                },
                                                "id": 2681,
                                                "name": "ElementaryTypeName",
                                                "src": "7730:7:17"
                                            }
                                        ],
                                        "id": 2682,
                                        "name": "VariableDeclaration",
                                        "src": "7730:7:17"
                                    }
                                ],
                                "id": 2683,
                                "name": "ParameterList",
                                "src": "7675:63:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_7d9d58c0d5b517f40095afe21460fcb8970c71dfa3585d027279fa80e555b6d2",
                                                                    "typeString": "literal_string \"Unauthorized access to check KYC\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2684,
                                                        "name": "Identifier",
                                                        "src": "7749:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "||",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "||",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bool",
                                                                                        "typeString": "bool"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "||",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_bool",
                                                                                                "typeString": "bool"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "||",
                                                                                            "type": "bool"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "commonType": {
                                                                                                        "typeIdentifier": "t_bool",
                                                                                                        "typeString": "bool"
                                                                                                    },
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "||",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "commonType": {
                                                                                                                "typeIdentifier": "t_bool",
                                                                                                                "typeString": "bool"
                                                                                                            },
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "operator": "||",
                                                                                                            "type": "bool"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "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 payable"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 9424,
                                                                                                                                    "type": "msg",
                                                                                                                                    "value": "msg"
                                                                                                                                },
                                                                                                                                "id": 2685,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "7757:3:17"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 2686,
                                                                                                                        "name": "MemberAccess",
                                                                                                                        "src": "7757:10:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "arguments": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": false,
                                                                                                                            "isStructConstructorCall": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "names": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "type": "address",
                                                                                                                            "type_conversion": false
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 328,
                                                                                                                                    "type": "function () view returns (address)",
                                                                                                                                    "value": "owner"
                                                                                                                                },
                                                                                                                                "id": 2687,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "7769:5:17"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 2688,
                                                                                                                        "name": "FunctionCall",
                                                                                                                        "src": "7769:7:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2689,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "7757:19:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "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 payable"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 9424,
                                                                                                                                    "type": "msg",
                                                                                                                                    "value": "msg"
                                                                                                                                },
                                                                                                                                "id": 2690,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "7780:3:17"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 2691,
                                                                                                                        "name": "MemberAccess",
                                                                                                                        "src": "7780:10:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2667,
                                                                                                                            "type": "address",
                                                                                                                            "value": "client"
                                                                                                                        },
                                                                                                                        "id": 2692,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "7792:6:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2693,
                                                                                                                "name": "BinaryOperation",
                                                                                                                "src": "7780:18:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2694,
                                                                                                        "name": "BinaryOperation",
                                                                                                        "src": "7757:41:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "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": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "type": "address"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1920,
                                                                                                                            "type": "mapping(address => address)",
                                                                                                                            "value": "managers"
                                                                                                                        },
                                                                                                                        "id": 2695,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "7802:8:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 2667,
                                                                                                                            "type": "address",
                                                                                                                            "value": "client"
                                                                                                                        },
                                                                                                                        "id": 2696,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "7811:6:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2697,
                                                                                                                "name": "IndexAccess",
                                                                                                                "src": "7802:16:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "member_name": "sender",
                                                                                                                    "referencedDeclaration": null,
                                                                                                                    "type": "address payable"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 9424,
                                                                                                                            "type": "msg",
                                                                                                                            "value": "msg"
                                                                                                                        },
                                                                                                                        "id": 2698,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "7820:3:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2699,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "7820:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2700,
                                                                                                        "name": "BinaryOperation",
                                                                                                        "src": "7802:28:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2701,
                                                                                                "name": "BinaryOperation",
                                                                                                "src": "7757:73:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "commonType": {
                                                                                                        "typeIdentifier": "t_bytes32",
                                                                                                        "typeString": "bytes32"
                                                                                                    },
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "==",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "member_name": "role",
                                                                                                            "referencedDeclaration": 1876,
                                                                                                            "type": "bytes32"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "type": "struct Client.role storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 1924,
                                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                                            "value": "roles"
                                                                                                                        },
                                                                                                                        "id": 2702,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "7834:5:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": false,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "member_name": "sender",
                                                                                                                            "referencedDeclaration": null,
                                                                                                                            "type": "address payable"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 9424,
                                                                                                                                    "type": "msg",
                                                                                                                                    "value": "msg"
                                                                                                                                },
                                                                                                                                "id": 2703,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "7840:3:17"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 2704,
                                                                                                                        "name": "MemberAccess",
                                                                                                                        "src": "7840:10:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2705,
                                                                                                                "name": "IndexAccess",
                                                                                                                "src": "7834:17:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2706,
                                                                                                        "name": "MemberAccess",
                                                                                                        "src": "7834:22:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "hexvalue": "4b5943414d4c",
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": true,
                                                                                                            "lValueRequested": false,
                                                                                                            "subdenomination": null,
                                                                                                            "token": "string",
                                                                                                            "type": "literal_string \"KYCAML\"",
                                                                                                            "value": "KYCAML"
                                                                                                        },
                                                                                                        "id": 2707,
                                                                                                        "name": "Literal",
                                                                                                        "src": "7858:8:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2708,
                                                                                                "name": "BinaryOperation",
                                                                                                "src": "7834:32:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2709,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "7757:109:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_bytes32",
                                                                                                "typeString": "bytes32"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "==",
                                                                                            "type": "bool"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "role",
                                                                                                    "referencedDeclaration": 1876,
                                                                                                    "type": "bytes32"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct Client.role storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1924,
                                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                                    "value": "roles"
                                                                                                                },
                                                                                                                "id": 2710,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "7888:5:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": false,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "member_name": "sender",
                                                                                                                    "referencedDeclaration": null,
                                                                                                                    "type": "address payable"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 9424,
                                                                                                                            "type": "msg",
                                                                                                                            "value": "msg"
                                                                                                                        },
                                                                                                                        "id": 2711,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "7894:3:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 2712,
                                                                                                                "name": "MemberAccess",
                                                                                                                "src": "7894:10:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2713,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "7888:17:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2714,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "7888:22:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "hexvalue": "414d",
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "subdenomination": null,
                                                                                                    "token": "string",
                                                                                                    "type": "literal_string \"AM\"",
                                                                                                    "value": "AM"
                                                                                                },
                                                                                                "id": 2715,
                                                                                                "name": "Literal",
                                                                                                "src": "7912:4:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2716,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "7888:28:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2717,
                                                                                "name": "BinaryOperation",
                                                                                "src": "7757:159:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "==",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "role",
                                                                                            "referencedDeclaration": 1876,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct Client.role storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1924,
                                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                                            "value": "roles"
                                                                                                        },
                                                                                                        "id": 2718,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "7920:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "member_name": "sender",
                                                                                                            "referencedDeclaration": null,
                                                                                                            "type": "address payable"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 9424,
                                                                                                                    "type": "msg",
                                                                                                                    "value": "msg"
                                                                                                                },
                                                                                                                "id": 2719,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "7926:3:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 2720,
                                                                                                        "name": "MemberAccess",
                                                                                                        "src": "7926:10:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2721,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "7920:17:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2722,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "7920:22:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "4450",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "string",
                                                                                            "type": "literal_string \"DP\"",
                                                                                            "value": "DP"
                                                                                        },
                                                                                        "id": 2723,
                                                                                        "name": "Literal",
                                                                                        "src": "7944:4:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2724,
                                                                                "name": "BinaryOperation",
                                                                                "src": "7920:28:17"
                                                                            }
                                                                        ],
                                                                        "id": 2725,
                                                                        "name": "BinaryOperation",
                                                                        "src": "7757:191:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "role",
                                                                                    "referencedDeclaration": 1876,
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Client.role storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1924,
                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                    "value": "roles"
                                                                                                },
                                                                                                "id": 2726,
                                                                                                "name": "Identifier",
                                                                                                "src": "7952:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "member_name": "sender",
                                                                                                    "referencedDeclaration": null,
                                                                                                    "type": "address payable"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 9424,
                                                                                                            "type": "msg",
                                                                                                            "value": "msg"
                                                                                                        },
                                                                                                        "id": 2727,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "7958:3:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2728,
                                                                                                "name": "MemberAccess",
                                                                                                "src": "7958:10:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2729,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "7952:17:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2730,
                                                                                "name": "MemberAccess",
                                                                                "src": "7952:22:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "497373756572",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "string",
                                                                                    "type": "literal_string \"Issuer\"",
                                                                                    "value": "Issuer"
                                                                                },
                                                                                "id": 2731,
                                                                                "name": "Literal",
                                                                                "src": "7976:8:17"
                                                                            }
                                                                        ],
                                                                        "id": 2732,
                                                                        "name": "BinaryOperation",
                                                                        "src": "7952:32:17"
                                                                    }
                                                                ],
                                                                "id": 2733,
                                                                "name": "BinaryOperation",
                                                                "src": "7757:227:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "role",
                                                                            "referencedDeclaration": 1876,
                                                                            "type": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2734,
                                                                                        "name": "Identifier",
                                                                                        "src": "7988:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "sender",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "address payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 9424,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 2735,
                                                                                                "name": "Identifier",
                                                                                                "src": "7994:3:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2736,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "7994:10:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2737,
                                                                                "name": "IndexAccess",
                                                                                "src": "7988:17:17"
                                                                            }
                                                                        ],
                                                                        "id": 2738,
                                                                        "name": "MemberAccess",
                                                                        "src": "7988:22:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "437573746f6469616e",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"Custodian\"",
                                                                            "value": "Custodian"
                                                                        },
                                                                        "id": 2739,
                                                                        "name": "Literal",
                                                                        "src": "8012:11:17"
                                                                    }
                                                                ],
                                                                "id": 2740,
                                                                "name": "BinaryOperation",
                                                                "src": "7988:35:17"
                                                            }
                                                        ],
                                                        "id": 2741,
                                                        "name": "BinaryOperation",
                                                        "src": "7757:266:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a65642061636365737320746f20636865636b204b5943",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access to check KYC\"",
                                                            "value": "Unauthorized access to check KYC"
                                                        },
                                                        "id": 2742,
                                                        "name": "Literal",
                                                        "src": "8025:34:17"
                                                    }
                                                ],
                                                "id": 2743,
                                                "name": "FunctionCall",
                                                "src": "7749:311:17"
                                            }
                                        ],
                                        "id": 2744,
                                        "name": "ExpressionStatement",
                                        "src": "7749:311:17"
                                    },
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 2683
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isInlineArray": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "tuple(bytes32,bytes32,bytes32,uint256,bytes32,uint256,uint256)"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "name",
                                                            "referencedDeclaration": 1881,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2745,
                                                                        "name": "Identifier",
                                                                        "src": "8079:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2667,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2746,
                                                                        "name": "Identifier",
                                                                        "src": "8087:6:17"
                                                                    }
                                                                ],
                                                                "id": 2747,
                                                                "name": "IndexAccess",
                                                                "src": "8079:15:17"
                                                            }
                                                        ],
                                                        "id": 2748,
                                                        "name": "MemberAccess",
                                                        "src": "8079:20:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "accountid",
                                                            "referencedDeclaration": 1883,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2749,
                                                                        "name": "Identifier",
                                                                        "src": "8119:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2667,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2750,
                                                                        "name": "Identifier",
                                                                        "src": "8127:6:17"
                                                                    }
                                                                ],
                                                                "id": 2751,
                                                                "name": "IndexAccess",
                                                                "src": "8119:15:17"
                                                            }
                                                        ],
                                                        "id": 2752,
                                                        "name": "MemberAccess",
                                                        "src": "8119:25:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "country",
                                                            "referencedDeclaration": 1887,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2753,
                                                                        "name": "Identifier",
                                                                        "src": "8164:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2667,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2754,
                                                                        "name": "Identifier",
                                                                        "src": "8172:6:17"
                                                                    }
                                                                ],
                                                                "id": 2755,
                                                                "name": "IndexAccess",
                                                                "src": "8164:15:17"
                                                            }
                                                        ],
                                                        "id": 2756,
                                                        "name": "MemberAccess",
                                                        "src": "8164:23:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "kycstatus",
                                                            "referencedDeclaration": 1885,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2757,
                                                                        "name": "Identifier",
                                                                        "src": "8207:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2667,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2758,
                                                                        "name": "Identifier",
                                                                        "src": "8215:6:17"
                                                                    }
                                                                ],
                                                                "id": 2759,
                                                                "name": "IndexAccess",
                                                                "src": "8207:15:17"
                                                            }
                                                        ],
                                                        "id": 2760,
                                                        "name": "MemberAccess",
                                                        "src": "8207:25:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "contact",
                                                            "referencedDeclaration": 1893,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2761,
                                                                        "name": "Identifier",
                                                                        "src": "8252:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2667,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2762,
                                                                        "name": "Identifier",
                                                                        "src": "8260:6:17"
                                                                    }
                                                                ],
                                                                "id": 2763,
                                                                "name": "IndexAccess",
                                                                "src": "8252:15:17"
                                                            }
                                                        ],
                                                        "id": 2764,
                                                        "name": "MemberAccess",
                                                        "src": "8252:23:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "creditScore",
                                                            "referencedDeclaration": 1891,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2765,
                                                                        "name": "Identifier",
                                                                        "src": "8294:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2667,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2766,
                                                                        "name": "Identifier",
                                                                        "src": "8302:6:17"
                                                                    }
                                                                ],
                                                                "id": 2767,
                                                                "name": "IndexAccess",
                                                                "src": "8294:15:17"
                                                            }
                                                        ],
                                                        "id": 2768,
                                                        "name": "MemberAccess",
                                                        "src": "8294:27:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "amlscore",
                                                            "referencedDeclaration": 1889,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2769,
                                                                        "name": "Identifier",
                                                                        "src": "8340:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2667,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2770,
                                                                        "name": "Identifier",
                                                                        "src": "8348:6:17"
                                                                    }
                                                                ],
                                                                "id": 2771,
                                                                "name": "IndexAccess",
                                                                "src": "8340:15:17"
                                                            }
                                                        ],
                                                        "id": 2772,
                                                        "name": "MemberAccess",
                                                        "src": "8340:24:17"
                                                    }
                                                ],
                                                "id": 2773,
                                                "name": "TupleExpression",
                                                "src": "8078:287:17"
                                            }
                                        ],
                                        "id": 2774,
                                        "name": "Return",
                                        "src": "8071:294:17"
                                    }
                                ],
                                "id": 2775,
                                "name": "Block",
                                "src": "7738:635:17"
                            }
                        ],
                        "id": 2776,
                        "name": "FunctionDefinition",
                        "src": "7616:757:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "fullKycUpdate",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6828,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2832,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2777,
                                                "name": "ElementaryTypeName",
                                                "src": "8404:7:17"
                                            }
                                        ],
                                        "id": 2778,
                                        "name": "VariableDeclaration",
                                        "src": "8404:14:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "identity",
                                            "scope": 2832,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 2779,
                                                "name": "ElementaryTypeName",
                                                "src": "8420:6:17"
                                            }
                                        ],
                                        "id": 2780,
                                        "name": "VariableDeclaration",
                                        "src": "8420:24:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "videokyc",
                                            "scope": 2832,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 2781,
                                                "name": "ElementaryTypeName",
                                                "src": "8446:6:17"
                                            }
                                        ],
                                        "id": 2782,
                                        "name": "VariableDeclaration",
                                        "src": "8446:24:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "docs",
                                            "scope": 2832,
                                            "stateVariable": false,
                                            "storageLocation": "calldata",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 2783,
                                                "name": "ElementaryTypeName",
                                                "src": "8472:6:17"
                                            }
                                        ],
                                        "id": 2784,
                                        "name": "VariableDeclaration",
                                        "src": "8472:20:17"
                                    }
                                ],
                                "id": 2785,
                                "name": "ParameterList",
                                "src": "8403:152:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2786,
                                "name": "ParameterList",
                                "src": "8565:0:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2787,
                                                        "name": "Identifier",
                                                        "src": "8769:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "||",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "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 payable"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 9424,
                                                                                            "type": "msg",
                                                                                            "value": "msg"
                                                                                        },
                                                                                        "id": 2788,
                                                                                        "name": "Identifier",
                                                                                        "src": "8828:3:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2789,
                                                                                "name": "MemberAccess",
                                                                                "src": "8828:10:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1870,
                                                                                    "type": "address",
                                                                                    "value": "bridge"
                                                                                },
                                                                                "id": 2790,
                                                                                "name": "Identifier",
                                                                                "src": "8840:6:17"
                                                                            }
                                                                        ],
                                                                        "id": 2791,
                                                                        "name": "BinaryOperation",
                                                                        "src": "8828:18:17"
                                                                    },
                                                                    {
                                                                        "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": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1920,
                                                                                            "type": "mapping(address => address)",
                                                                                            "value": "managers"
                                                                                        },
                                                                                        "id": 2792,
                                                                                        "name": "Identifier",
                                                                                        "src": "8850:8:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2778,
                                                                                            "type": "address",
                                                                                            "value": "client"
                                                                                        },
                                                                                        "id": 2793,
                                                                                        "name": "Identifier",
                                                                                        "src": "8859:6:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2794,
                                                                                "name": "IndexAccess",
                                                                                "src": "8850:16:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "sender",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "address payable"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 9424,
                                                                                            "type": "msg",
                                                                                            "value": "msg"
                                                                                        },
                                                                                        "id": 2795,
                                                                                        "name": "Identifier",
                                                                                        "src": "8868:3:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2796,
                                                                                "name": "MemberAccess",
                                                                                "src": "8868:10:17"
                                                                            }
                                                                        ],
                                                                        "id": 2797,
                                                                        "name": "BinaryOperation",
                                                                        "src": "8850:28:17"
                                                                    }
                                                                ],
                                                                "id": 2798,
                                                                "name": "BinaryOperation",
                                                                "src": "8828:50:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "role",
                                                                            "referencedDeclaration": 1876,
                                                                            "type": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2799,
                                                                                        "name": "Identifier",
                                                                                        "src": "8882:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "sender",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "address payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 9424,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 2800,
                                                                                                "name": "Identifier",
                                                                                                "src": "8888:3:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2801,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "8888:10:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2802,
                                                                                "name": "IndexAccess",
                                                                                "src": "8882:17:17"
                                                                            }
                                                                        ],
                                                                        "id": 2803,
                                                                        "name": "MemberAccess",
                                                                        "src": "8882:22:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "4b5943414d4c",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"KYCAML\"",
                                                                            "value": "KYCAML"
                                                                        },
                                                                        "id": 2804,
                                                                        "name": "Literal",
                                                                        "src": "8906:8:17"
                                                                    }
                                                                ],
                                                                "id": 2805,
                                                                "name": "BinaryOperation",
                                                                "src": "8882:32:17"
                                                            }
                                                        ],
                                                        "id": 2806,
                                                        "name": "BinaryOperation",
                                                        "src": "8828:86:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 2807,
                                                        "name": "Literal",
                                                        "src": "8972:21:17"
                                                    }
                                                ],
                                                "id": 2808,
                                                "name": "FunctionCall",
                                                "src": "8769:225:17"
                                            }
                                        ],
                                        "id": 2809,
                                        "name": "ExpressionStatement",
                                        "src": "8769:225:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "string storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "identity",
                                                            "referencedDeclaration": 1896,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.kyc storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1911,
                                                                            "type": "mapping(address => struct Client.kyc storage ref)",
                                                                            "value": "kycDocs"
                                                                        },
                                                                        "id": 2810,
                                                                        "name": "Identifier",
                                                                        "src": "9005:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2778,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2811,
                                                                        "name": "Identifier",
                                                                        "src": "9013:6:17"
                                                                    }
                                                                ],
                                                                "id": 2812,
                                                                "name": "IndexAccess",
                                                                "src": "9005:15:17"
                                                            }
                                                        ],
                                                        "id": 2813,
                                                        "name": "MemberAccess",
                                                        "src": "9005:24:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2780,
                                                            "type": "string calldata",
                                                            "value": "identity"
                                                        },
                                                        "id": 2814,
                                                        "name": "Identifier",
                                                        "src": "9032:8:17"
                                                    }
                                                ],
                                                "id": 2815,
                                                "name": "Assignment",
                                                "src": "9005:35:17"
                                            }
                                        ],
                                        "id": 2816,
                                        "name": "ExpressionStatement",
                                        "src": "9005:35:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "string storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "videokyc",
                                                            "referencedDeclaration": 1898,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.kyc storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1911,
                                                                            "type": "mapping(address => struct Client.kyc storage ref)",
                                                                            "value": "kycDocs"
                                                                        },
                                                                        "id": 2817,
                                                                        "name": "Identifier",
                                                                        "src": "9051:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2778,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2818,
                                                                        "name": "Identifier",
                                                                        "src": "9059:6:17"
                                                                    }
                                                                ],
                                                                "id": 2819,
                                                                "name": "IndexAccess",
                                                                "src": "9051:15:17"
                                                            }
                                                        ],
                                                        "id": 2820,
                                                        "name": "MemberAccess",
                                                        "src": "9051:24:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2782,
                                                            "type": "string calldata",
                                                            "value": "videokyc"
                                                        },
                                                        "id": 2821,
                                                        "name": "Identifier",
                                                        "src": "9078:8:17"
                                                    }
                                                ],
                                                "id": 2822,
                                                "name": "Assignment",
                                                "src": "9051:35:17"
                                            }
                                        ],
                                        "id": 2823,
                                        "name": "ExpressionStatement",
                                        "src": "9051:35:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "string storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "member_name": "docs",
                                                            "referencedDeclaration": 1900,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.kyc storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1911,
                                                                            "type": "mapping(address => struct Client.kyc storage ref)",
                                                                            "value": "kycDocs"
                                                                        },
                                                                        "id": 2824,
                                                                        "name": "Identifier",
                                                                        "src": "9097:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2778,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2825,
                                                                        "name": "Identifier",
                                                                        "src": "9105:6:17"
                                                                    }
                                                                ],
                                                                "id": 2826,
                                                                "name": "IndexAccess",
                                                                "src": "9097:15:17"
                                                            }
                                                        ],
                                                        "id": 2827,
                                                        "name": "MemberAccess",
                                                        "src": "9097:20:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2784,
                                                            "type": "string calldata",
                                                            "value": "docs"
                                                        },
                                                        "id": 2828,
                                                        "name": "Identifier",
                                                        "src": "9120:4:17"
                                                    }
                                                ],
                                                "id": 2829,
                                                "name": "Assignment",
                                                "src": "9097:27:17"
                                            }
                                        ],
                                        "id": 2830,
                                        "name": "ExpressionStatement",
                                        "src": "9097:27:17"
                                    }
                                ],
                                "id": 2831,
                                "name": "Block",
                                "src": "8565:567:17"
                            }
                        ],
                        "id": 2832,
                        "name": "FunctionDefinition",
                        "src": "8381:751:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getFullClientKYC",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": 6841,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2893,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2833,
                                                "name": "ElementaryTypeName",
                                                "src": "9166:7:17"
                                            }
                                        ],
                                        "id": 2834,
                                        "name": "VariableDeclaration",
                                        "src": "9166:14:17"
                                    }
                                ],
                                "id": 2835,
                                "name": "ParameterList",
                                "src": "9165:16:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2893,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2836,
                                                "name": "ElementaryTypeName",
                                                "src": "9204:7:17"
                                            }
                                        ],
                                        "id": 2837,
                                        "name": "VariableDeclaration",
                                        "src": "9204:7:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2893,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 2838,
                                                "name": "ElementaryTypeName",
                                                "src": "9213:6:17"
                                            }
                                        ],
                                        "id": 2839,
                                        "name": "VariableDeclaration",
                                        "src": "9213:13:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2893,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 2840,
                                                "name": "ElementaryTypeName",
                                                "src": "9228:6:17"
                                            }
                                        ],
                                        "id": 2841,
                                        "name": "VariableDeclaration",
                                        "src": "9228:13:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 2893,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "string",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "string",
                                                    "type": "string"
                                                },
                                                "id": 2842,
                                                "name": "ElementaryTypeName",
                                                "src": "9243:6:17"
                                            }
                                        ],
                                        "id": 2843,
                                        "name": "VariableDeclaration",
                                        "src": "9243:13:17"
                                    }
                                ],
                                "id": 2844,
                                "name": "ParameterList",
                                "src": "9203:54:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_7d9d58c0d5b517f40095afe21460fcb8970c71dfa3585d027279fa80e555b6d2",
                                                                    "typeString": "literal_string \"Unauthorized access to check KYC\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 2845,
                                                        "name": "Identifier",
                                                        "src": "9268:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "||",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bool",
                                                                                "typeString": "bool"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "||",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "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 payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 9424,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 2846,
                                                                                                "name": "Identifier",
                                                                                                "src": "9276:3:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2847,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "9276:10:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "arguments": [
                                                                                                null
                                                                                            ],
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "isStructConstructorCall": false,
                                                                                            "lValueRequested": false,
                                                                                            "names": [
                                                                                                null
                                                                                            ],
                                                                                            "type": "address",
                                                                                            "type_conversion": false
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 328,
                                                                                                    "type": "function () view returns (address)",
                                                                                                    "value": "owner"
                                                                                                },
                                                                                                "id": 2848,
                                                                                                "name": "Identifier",
                                                                                                "src": "9288:5:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2849,
                                                                                        "name": "FunctionCall",
                                                                                        "src": "9288:7:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2850,
                                                                                "name": "BinaryOperation",
                                                                                "src": "9276:19:17"
                                                                            },
                                                                            {
                                                                                "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 payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 9424,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 2851,
                                                                                                "name": "Identifier",
                                                                                                "src": "9299:3:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2852,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "9299:10:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2834,
                                                                                            "type": "address",
                                                                                            "value": "client"
                                                                                        },
                                                                                        "id": 2853,
                                                                                        "name": "Identifier",
                                                                                        "src": "9311:6:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2854,
                                                                                "name": "BinaryOperation",
                                                                                "src": "9299:18:17"
                                                                            }
                                                                        ],
                                                                        "id": 2855,
                                                                        "name": "BinaryOperation",
                                                                        "src": "9276:41:17"
                                                                    },
                                                                    {
                                                                        "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": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1920,
                                                                                            "type": "mapping(address => address)",
                                                                                            "value": "managers"
                                                                                        },
                                                                                        "id": 2856,
                                                                                        "name": "Identifier",
                                                                                        "src": "9321:8:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2834,
                                                                                            "type": "address",
                                                                                            "value": "client"
                                                                                        },
                                                                                        "id": 2857,
                                                                                        "name": "Identifier",
                                                                                        "src": "9330:6:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2858,
                                                                                "name": "IndexAccess",
                                                                                "src": "9321:16:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "sender",
                                                                                    "referencedDeclaration": null,
                                                                                    "type": "address payable"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 9424,
                                                                                            "type": "msg",
                                                                                            "value": "msg"
                                                                                        },
                                                                                        "id": 2859,
                                                                                        "name": "Identifier",
                                                                                        "src": "9339:3:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2860,
                                                                                "name": "MemberAccess",
                                                                                "src": "9339:10:17"
                                                                            }
                                                                        ],
                                                                        "id": 2861,
                                                                        "name": "BinaryOperation",
                                                                        "src": "9321:28:17"
                                                                    }
                                                                ],
                                                                "id": 2862,
                                                                "name": "BinaryOperation",
                                                                "src": "9276:73:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bytes32",
                                                                        "typeString": "bytes32"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "==",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "role",
                                                                            "referencedDeclaration": 1876,
                                                                            "type": "bytes32"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct Client.role storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1924,
                                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                                            "value": "roles"
                                                                                        },
                                                                                        "id": 2863,
                                                                                        "name": "Identifier",
                                                                                        "src": "9353:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "sender",
                                                                                            "referencedDeclaration": null,
                                                                                            "type": "address payable"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 9424,
                                                                                                    "type": "msg",
                                                                                                    "value": "msg"
                                                                                                },
                                                                                                "id": 2864,
                                                                                                "name": "Identifier",
                                                                                                "src": "9359:3:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2865,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "9359:10:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2866,
                                                                                "name": "IndexAccess",
                                                                                "src": "9353:17:17"
                                                                            }
                                                                        ],
                                                                        "id": 2867,
                                                                        "name": "MemberAccess",
                                                                        "src": "9353:22:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "4b5943414d4c",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "string",
                                                                            "type": "literal_string \"KYCAML\"",
                                                                            "value": "KYCAML"
                                                                        },
                                                                        "id": 2868,
                                                                        "name": "Literal",
                                                                        "src": "9377:8:17"
                                                                    }
                                                                ],
                                                                "id": 2869,
                                                                "name": "BinaryOperation",
                                                                "src": "9353:32:17"
                                                            }
                                                        ],
                                                        "id": 2870,
                                                        "name": "BinaryOperation",
                                                        "src": "9276:109:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a65642061636365737320746f20636865636b204b5943",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access to check KYC\"",
                                                            "value": "Unauthorized access to check KYC"
                                                        },
                                                        "id": 2871,
                                                        "name": "Literal",
                                                        "src": "9387:34:17"
                                                    }
                                                ],
                                                "id": 2872,
                                                "name": "FunctionCall",
                                                "src": "9268:154:17"
                                            }
                                        ],
                                        "id": 2873,
                                        "name": "ExpressionStatement",
                                        "src": "9268:154:17"
                                    },
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 2844
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isInlineArray": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "tuple(bytes32,string storage ref,string storage ref,string storage ref)"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "contact",
                                                            "referencedDeclaration": 1893,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.user storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1907,
                                                                            "type": "mapping(address => struct Client.user storage ref)",
                                                                            "value": "clients"
                                                                        },
                                                                        "id": 2874,
                                                                        "name": "Identifier",
                                                                        "src": "9459:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2834,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2875,
                                                                        "name": "Identifier",
                                                                        "src": "9467:6:17"
                                                                    }
                                                                ],
                                                                "id": 2876,
                                                                "name": "IndexAccess",
                                                                "src": "9459:15:17"
                                                            }
                                                        ],
                                                        "id": 2877,
                                                        "name": "MemberAccess",
                                                        "src": "9459:23:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "identity",
                                                            "referencedDeclaration": 1896,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.kyc storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1911,
                                                                            "type": "mapping(address => struct Client.kyc storage ref)",
                                                                            "value": "kycDocs"
                                                                        },
                                                                        "id": 2878,
                                                                        "name": "Identifier",
                                                                        "src": "9501:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2834,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2879,
                                                                        "name": "Identifier",
                                                                        "src": "9509:6:17"
                                                                    }
                                                                ],
                                                                "id": 2880,
                                                                "name": "IndexAccess",
                                                                "src": "9501:15:17"
                                                            }
                                                        ],
                                                        "id": 2881,
                                                        "name": "MemberAccess",
                                                        "src": "9501:24:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "videokyc",
                                                            "referencedDeclaration": 1898,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.kyc storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1911,
                                                                            "type": "mapping(address => struct Client.kyc storage ref)",
                                                                            "value": "kycDocs"
                                                                        },
                                                                        "id": 2882,
                                                                        "name": "Identifier",
                                                                        "src": "9544:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2834,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2883,
                                                                        "name": "Identifier",
                                                                        "src": "9552:6:17"
                                                                    }
                                                                ],
                                                                "id": 2884,
                                                                "name": "IndexAccess",
                                                                "src": "9544:15:17"
                                                            }
                                                        ],
                                                        "id": 2885,
                                                        "name": "MemberAccess",
                                                        "src": "9544:24:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "docs",
                                                            "referencedDeclaration": 1900,
                                                            "type": "string storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.kyc storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1911,
                                                                            "type": "mapping(address => struct Client.kyc storage ref)",
                                                                            "value": "kycDocs"
                                                                        },
                                                                        "id": 2886,
                                                                        "name": "Identifier",
                                                                        "src": "9587:7:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2834,
                                                                            "type": "address",
                                                                            "value": "client"
                                                                        },
                                                                        "id": 2887,
                                                                        "name": "Identifier",
                                                                        "src": "9595:6:17"
                                                                    }
                                                                ],
                                                                "id": 2888,
                                                                "name": "IndexAccess",
                                                                "src": "9587:15:17"
                                                            }
                                                        ],
                                                        "id": 2889,
                                                        "name": "MemberAccess",
                                                        "src": "9587:20:17"
                                                    }
                                                ],
                                                "id": 2890,
                                                "name": "TupleExpression",
                                                "src": "9440:182:17"
                                            }
                                        ],
                                        "id": 2891,
                                        "name": "Return",
                                        "src": "9433:189:17"
                                    }
                                ],
                                "id": 2892,
                                "name": "Block",
                                "src": "9257:373:17"
                            }
                        ],
                        "id": 2893,
                        "name": "FunctionDefinition",
                        "src": "9140:490:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "matchManagerToClient",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "client",
                                            "scope": 2945,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2894,
                                                "name": "ElementaryTypeName",
                                                "src": "9669:7:17"
                                            }
                                        ],
                                        "id": 2895,
                                        "name": "VariableDeclaration",
                                        "src": "9669:14:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "country",
                                            "scope": 2945,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2896,
                                                "name": "ElementaryTypeName",
                                                "src": "9685:7:17"
                                            }
                                        ],
                                        "id": 2897,
                                        "name": "VariableDeclaration",
                                        "src": "9685:15:17"
                                    }
                                ],
                                "id": 2898,
                                "name": "ParameterList",
                                "src": "9668:33:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2899,
                                "name": "ParameterList",
                                "src": "9710:0:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2901
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "length",
                                                    "scope": 2944,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint",
                                                            "type": "uint256"
                                                        },
                                                        "id": 2900,
                                                        "name": "ElementaryTypeName",
                                                        "src": "9721:4:17"
                                                    }
                                                ],
                                                "id": 2901,
                                                "name": "VariableDeclaration",
                                                "src": "9721:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "member_name": "length",
                                                    "referencedDeclaration": null,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1927,
                                                            "type": "address[] storage ref",
                                                            "value": "submanagers"
                                                        },
                                                        "id": 2902,
                                                        "name": "Identifier",
                                                        "src": "9735:11:17"
                                                    }
                                                ],
                                                "id": 2903,
                                                "name": "MemberAccess",
                                                "src": "9735:18:17"
                                            }
                                        ],
                                        "id": 2904,
                                        "name": "VariableDeclarationStatement",
                                        "src": "9721:32:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        2906
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 2943,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint256",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 2905,
                                                                "name": "ElementaryTypeName",
                                                                "src": "9768:7:17"
                                                            }
                                                        ],
                                                        "id": 2906,
                                                        "name": "VariableDeclaration",
                                                        "src": "9768:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 2907,
                                                        "name": "Literal",
                                                        "src": "9778:1:17"
                                                    }
                                                ],
                                                "id": 2908,
                                                "name": "VariableDeclarationStatement",
                                                "src": "9768:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2906,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 2909,
                                                        "name": "Identifier",
                                                        "src": "9781:1:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2901,
                                                            "type": "uint256",
                                                            "value": "length"
                                                        },
                                                        "id": 2910,
                                                        "name": "Identifier",
                                                        "src": "9783:6:17"
                                                    }
                                                ],
                                                "id": 2911,
                                                "name": "BinaryOperation",
                                                "src": "9781:8:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2906,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 2912,
                                                                "name": "Identifier",
                                                                "src": "9791:1:17"
                                                            }
                                                        ],
                                                        "id": 2913,
                                                        "name": "UnaryOperation",
                                                        "src": "9791:3:17"
                                                    }
                                                ],
                                                "id": 2914,
                                                "name": "ExpressionStatement",
                                                "src": "9791:3:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "&&",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "country",
                                                                                    "referencedDeclaration": 1874,
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Client.role storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1924,
                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                    "value": "roles"
                                                                                                },
                                                                                                "id": 2915,
                                                                                                "name": "Identifier",
                                                                                                "src": "9813:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1927,
                                                                                                            "type": "address[] storage ref",
                                                                                                            "value": "submanagers"
                                                                                                        },
                                                                                                        "id": 2916,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "9819:11:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 2906,
                                                                                                            "type": "uint256",
                                                                                                            "value": "i"
                                                                                                        },
                                                                                                        "id": 2917,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "9831:1:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2918,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "9819:14:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2919,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "9813:21:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2920,
                                                                                "name": "MemberAccess",
                                                                                "src": "9813:29:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2897,
                                                                                    "type": "bytes32",
                                                                                    "value": "country"
                                                                                },
                                                                                "id": 2921,
                                                                                "name": "Identifier",
                                                                                "src": "9844:7:17"
                                                                            }
                                                                        ],
                                                                        "id": 2922,
                                                                        "name": "BinaryOperation",
                                                                        "src": "9813:38:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "role",
                                                                                    "referencedDeclaration": 1876,
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Client.role storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1924,
                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                    "value": "roles"
                                                                                                },
                                                                                                "id": 2923,
                                                                                                "name": "Identifier",
                                                                                                "src": "9855:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1927,
                                                                                                            "type": "address[] storage ref",
                                                                                                            "value": "submanagers"
                                                                                                        },
                                                                                                        "id": 2924,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "9861:11:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 2906,
                                                                                                            "type": "uint256",
                                                                                                            "value": "i"
                                                                                                        },
                                                                                                        "id": 2925,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "9873:1:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2926,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "9861:14:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2927,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "9855:21:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2928,
                                                                                "name": "MemberAccess",
                                                                                "src": "9855:26:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "4b5943414d4c",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "string",
                                                                                    "type": "literal_string \"KYCAML\"",
                                                                                    "value": "KYCAML"
                                                                                },
                                                                                "id": 2929,
                                                                                "name": "Literal",
                                                                                "src": "9883:8:17"
                                                                            }
                                                                        ],
                                                                        "id": 2930,
                                                                        "name": "BinaryOperation",
                                                                        "src": "9855:36:17"
                                                                    }
                                                                ],
                                                                "id": 2931,
                                                                "name": "BinaryOperation",
                                                                "src": "9813:78:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1920,
                                                                                                    "type": "mapping(address => address)",
                                                                                                    "value": "managers"
                                                                                                },
                                                                                                "id": 2932,
                                                                                                "name": "Identifier",
                                                                                                "src": "9911:8:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2895,
                                                                                                    "type": "address",
                                                                                                    "value": "client"
                                                                                                },
                                                                                                "id": 2933,
                                                                                                "name": "Identifier",
                                                                                                "src": "9920:6:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2934,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "9911:16:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1927,
                                                                                                    "type": "address[] storage ref",
                                                                                                    "value": "submanagers"
                                                                                                },
                                                                                                "id": 2935,
                                                                                                "name": "Identifier",
                                                                                                "src": "9930:11:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2906,
                                                                                                    "type": "uint256",
                                                                                                    "value": "i"
                                                                                                },
                                                                                                "id": 2936,
                                                                                                "name": "Identifier",
                                                                                                "src": "9942:1:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2937,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "9930:14:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2938,
                                                                                "name": "Assignment",
                                                                                "src": "9911:33:17"
                                                                            }
                                                                        ],
                                                                        "id": 2939,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "9911:33:17"
                                                                    }
                                                                ],
                                                                "id": 2940,
                                                                "name": "Block",
                                                                "src": "9892:68:17"
                                                            }
                                                        ],
                                                        "id": 2941,
                                                        "name": "IfStatement",
                                                        "src": "9810:150:17"
                                                    }
                                                ],
                                                "id": 2942,
                                                "name": "Block",
                                                "src": "9795:176:17"
                                            }
                                        ],
                                        "id": 2943,
                                        "name": "ForStatement",
                                        "src": "9764:207:17"
                                    }
                                ],
                                "id": 2944,
                                "name": "Block",
                                "src": "9710:268:17"
                            }
                        ],
                        "id": 2945,
                        "name": "FunctionDefinition",
                        "src": "9639:339:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "unassignManagerFromUser",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_submanager",
                                            "scope": 2994,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2946,
                                                "name": "ElementaryTypeName",
                                                "src": "10019:7:17"
                                            }
                                        ],
                                        "id": 2947,
                                        "name": "VariableDeclaration",
                                        "src": "10019:19:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_country",
                                            "scope": 2994,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2948,
                                                "name": "ElementaryTypeName",
                                                "src": "10040:7:17"
                                            }
                                        ],
                                        "id": 2949,
                                        "name": "VariableDeclaration",
                                        "src": "10040:16:17"
                                    }
                                ],
                                "id": 2950,
                                "name": "ParameterList",
                                "src": "10018:39:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 2951,
                                "name": "ParameterList",
                                "src": "10066:0:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                2953
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "length",
                                                    "scope": 2993,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint",
                                                            "type": "uint256"
                                                        },
                                                        "id": 2952,
                                                        "name": "ElementaryTypeName",
                                                        "src": "10077:4:17"
                                                    }
                                                ],
                                                "id": 2953,
                                                "name": "VariableDeclaration",
                                                "src": "10077:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "member_name": "length",
                                                    "referencedDeclaration": null,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "type": "address[] storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1916,
                                                                    "type": "mapping(bytes32 => address[] storage ref)",
                                                                    "value": "usersbyCountry"
                                                                },
                                                                "id": 2954,
                                                                "name": "Identifier",
                                                                "src": "10091:14:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2949,
                                                                    "type": "bytes32",
                                                                    "value": "_country"
                                                                },
                                                                "id": 2955,
                                                                "name": "Identifier",
                                                                "src": "10106:8:17"
                                                            }
                                                        ],
                                                        "id": 2956,
                                                        "name": "IndexAccess",
                                                        "src": "10091:24:17"
                                                    }
                                                ],
                                                "id": 2957,
                                                "name": "MemberAccess",
                                                "src": "10091:31:17"
                                            }
                                        ],
                                        "id": 2958,
                                        "name": "VariableDeclarationStatement",
                                        "src": "10077:45:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        2960
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 2992,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint256",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 2959,
                                                                "name": "ElementaryTypeName",
                                                                "src": "10137:7:17"
                                                            }
                                                        ],
                                                        "id": 2960,
                                                        "name": "VariableDeclaration",
                                                        "src": "10137:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 2961,
                                                        "name": "Literal",
                                                        "src": "10147:1:17"
                                                    }
                                                ],
                                                "id": 2962,
                                                "name": "VariableDeclarationStatement",
                                                "src": "10137:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2960,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 2963,
                                                        "name": "Identifier",
                                                        "src": "10150:1:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 2953,
                                                            "type": "uint256",
                                                            "value": "length"
                                                        },
                                                        "id": 2964,
                                                        "name": "Identifier",
                                                        "src": "10152:6:17"
                                                    }
                                                ],
                                                "id": 2965,
                                                "name": "BinaryOperation",
                                                "src": "10150:8:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2960,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 2966,
                                                                "name": "Identifier",
                                                                "src": "10160:1:17"
                                                            }
                                                        ],
                                                        "id": 2967,
                                                        "name": "UnaryOperation",
                                                        "src": "10160:3:17"
                                                    }
                                                ],
                                                "id": 2968,
                                                "name": "ExpressionStatement",
                                                "src": "10160:3:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "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": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1920,
                                                                                    "type": "mapping(address => address)",
                                                                                    "value": "managers"
                                                                                },
                                                                                "id": 2969,
                                                                                "name": "Identifier",
                                                                                "src": "10182:8:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "address[] storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1916,
                                                                                                    "type": "mapping(bytes32 => address[] storage ref)",
                                                                                                    "value": "usersbyCountry"
                                                                                                },
                                                                                                "id": 2970,
                                                                                                "name": "Identifier",
                                                                                                "src": "10191:14:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2949,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_country"
                                                                                                },
                                                                                                "id": 2971,
                                                                                                "name": "Identifier",
                                                                                                "src": "10206:8:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2972,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "10191:24:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 2960,
                                                                                            "type": "uint256",
                                                                                            "value": "i"
                                                                                        },
                                                                                        "id": 2973,
                                                                                        "name": "Identifier",
                                                                                        "src": "10216:1:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2974,
                                                                                "name": "IndexAccess",
                                                                                "src": "10191:27:17"
                                                                            }
                                                                        ],
                                                                        "id": 2975,
                                                                        "name": "IndexAccess",
                                                                        "src": "10182:37:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 2947,
                                                                            "type": "address",
                                                                            "value": "_submanager"
                                                                        },
                                                                        "id": 2976,
                                                                        "name": "Identifier",
                                                                        "src": "10221:11:17"
                                                                    }
                                                                ],
                                                                "id": 2977,
                                                                "name": "BinaryOperation",
                                                                "src": "10182:50:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "=",
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": true,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1920,
                                                                                            "type": "mapping(address => address)",
                                                                                            "value": "managers"
                                                                                        },
                                                                                        "id": 2978,
                                                                                        "name": "Identifier",
                                                                                        "src": "10251:8:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address[] storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1916,
                                                                                                            "type": "mapping(bytes32 => address[] storage ref)",
                                                                                                            "value": "usersbyCountry"
                                                                                                        },
                                                                                                        "id": 2979,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "10260:14:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 2949,
                                                                                                            "type": "bytes32",
                                                                                                            "value": "_country"
                                                                                                        },
                                                                                                        "id": 2980,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "10275:8:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 2981,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "10260:24:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2960,
                                                                                                    "type": "uint256",
                                                                                                    "value": "i"
                                                                                                },
                                                                                                "id": 2982,
                                                                                                "name": "Identifier",
                                                                                                "src": "10285:1:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 2983,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "10260:27:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2984,
                                                                                "name": "IndexAccess",
                                                                                "src": "10251:37:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "isStructConstructorCall": false,
                                                                                    "lValueRequested": false,
                                                                                    "names": [
                                                                                        null
                                                                                    ],
                                                                                    "type": "address payable",
                                                                                    "type_conversion": true
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": [
                                                                                                {
                                                                                                    "typeIdentifier": "t_rational_0_by_1",
                                                                                                    "typeString": "int_const 0"
                                                                                                }
                                                                                            ],
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "type": "type(address)",
                                                                                            "value": "address"
                                                                                        },
                                                                                        "id": 2985,
                                                                                        "name": "ElementaryTypeNameExpression",
                                                                                        "src": "10291:7:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "hexvalue": "307830",
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": true,
                                                                                            "lValueRequested": false,
                                                                                            "subdenomination": null,
                                                                                            "token": "number",
                                                                                            "type": "int_const 0",
                                                                                            "value": "0x0"
                                                                                        },
                                                                                        "id": 2986,
                                                                                        "name": "Literal",
                                                                                        "src": "10299:3:17"
                                                                                    }
                                                                                ],
                                                                                "id": 2987,
                                                                                "name": "FunctionCall",
                                                                                "src": "10291:12:17"
                                                                            }
                                                                        ],
                                                                        "id": 2988,
                                                                        "name": "Assignment",
                                                                        "src": "10251:52:17"
                                                                    }
                                                                ],
                                                                "id": 2989,
                                                                "name": "ExpressionStatement",
                                                                "src": "10251:52:17"
                                                            }
                                                        ],
                                                        "id": 2990,
                                                        "name": "IfStatement",
                                                        "src": "10179:124:17"
                                                    }
                                                ],
                                                "id": 2991,
                                                "name": "Block",
                                                "src": "10164:151:17"
                                            }
                                        ],
                                        "id": 2992,
                                        "name": "ForStatement",
                                        "src": "10133:182:17"
                                    }
                                ],
                                "id": 2993,
                                "name": "Block",
                                "src": "10066:256:17"
                            }
                        ],
                        "id": 2994,
                        "name": "FunctionDefinition",
                        "src": "9986:336:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "assignManagerToUser",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": null,
                            "visibility": "private"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_submanager",
                                            "scope": 3043,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 2995,
                                                "name": "ElementaryTypeName",
                                                "src": "10359:7:17"
                                            }
                                        ],
                                        "id": 2996,
                                        "name": "VariableDeclaration",
                                        "src": "10359:19:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_country",
                                            "scope": 3043,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 2997,
                                                "name": "ElementaryTypeName",
                                                "src": "10380:7:17"
                                            }
                                        ],
                                        "id": 2998,
                                        "name": "VariableDeclaration",
                                        "src": "10380:16:17"
                                    }
                                ],
                                "id": 2999,
                                "name": "ParameterList",
                                "src": "10358:39:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 3000,
                                "name": "ParameterList",
                                "src": "10406:0:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                3002
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "length",
                                                    "scope": 3042,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint",
                                                            "type": "uint256"
                                                        },
                                                        "id": 3001,
                                                        "name": "ElementaryTypeName",
                                                        "src": "10417:4:17"
                                                    }
                                                ],
                                                "id": 3002,
                                                "name": "VariableDeclaration",
                                                "src": "10417:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "member_name": "length",
                                                    "referencedDeclaration": null,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "type": "address[] storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1916,
                                                                    "type": "mapping(bytes32 => address[] storage ref)",
                                                                    "value": "usersbyCountry"
                                                                },
                                                                "id": 3003,
                                                                "name": "Identifier",
                                                                "src": "10431:14:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 2998,
                                                                    "type": "bytes32",
                                                                    "value": "_country"
                                                                },
                                                                "id": 3004,
                                                                "name": "Identifier",
                                                                "src": "10446:8:17"
                                                            }
                                                        ],
                                                        "id": 3005,
                                                        "name": "IndexAccess",
                                                        "src": "10431:24:17"
                                                    }
                                                ],
                                                "id": 3006,
                                                "name": "MemberAccess",
                                                "src": "10431:31:17"
                                            }
                                        ],
                                        "id": 3007,
                                        "name": "VariableDeclarationStatement",
                                        "src": "10417:45:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        3009
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 3041,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint256",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 3008,
                                                                "name": "ElementaryTypeName",
                                                                "src": "10477:7:17"
                                                            }
                                                        ],
                                                        "id": 3009,
                                                        "name": "VariableDeclaration",
                                                        "src": "10477:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 3010,
                                                        "name": "Literal",
                                                        "src": "10487:1:17"
                                                    }
                                                ],
                                                "id": 3011,
                                                "name": "VariableDeclarationStatement",
                                                "src": "10477:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3009,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 3012,
                                                        "name": "Identifier",
                                                        "src": "10490:1:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3002,
                                                            "type": "uint256",
                                                            "value": "length"
                                                        },
                                                        "id": 3013,
                                                        "name": "Identifier",
                                                        "src": "10492:6:17"
                                                    }
                                                ],
                                                "id": 3014,
                                                "name": "BinaryOperation",
                                                "src": "10490:8:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3009,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 3015,
                                                                "name": "Identifier",
                                                                "src": "10500:1:17"
                                                            }
                                                        ],
                                                        "id": 3016,
                                                        "name": "UnaryOperation",
                                                        "src": "10500:3:17"
                                                    }
                                                ],
                                                "id": 3017,
                                                "name": "ExpressionStatement",
                                                "src": "10500:3:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "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": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1920,
                                                                                    "type": "mapping(address => address)",
                                                                                    "value": "managers"
                                                                                },
                                                                                "id": 3018,
                                                                                "name": "Identifier",
                                                                                "src": "10522:8:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "address[] storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1916,
                                                                                                    "type": "mapping(bytes32 => address[] storage ref)",
                                                                                                    "value": "usersbyCountry"
                                                                                                },
                                                                                                "id": 3019,
                                                                                                "name": "Identifier",
                                                                                                "src": "10531:14:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 2998,
                                                                                                    "type": "bytes32",
                                                                                                    "value": "_country"
                                                                                                },
                                                                                                "id": 3020,
                                                                                                "name": "Identifier",
                                                                                                "src": "10546:8:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3021,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "10531:24:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3009,
                                                                                            "type": "uint256",
                                                                                            "value": "i"
                                                                                        },
                                                                                        "id": 3022,
                                                                                        "name": "Identifier",
                                                                                        "src": "10556:1:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3023,
                                                                                "name": "IndexAccess",
                                                                                "src": "10531:27:17"
                                                                            }
                                                                        ],
                                                                        "id": 3024,
                                                                        "name": "IndexAccess",
                                                                        "src": "10522:37:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "isStructConstructorCall": false,
                                                                            "lValueRequested": false,
                                                                            "names": [
                                                                                null
                                                                            ],
                                                                            "type": "address payable",
                                                                            "type_conversion": true
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": [
                                                                                        {
                                                                                            "typeIdentifier": "t_rational_0_by_1",
                                                                                            "typeString": "int_const 0"
                                                                                        }
                                                                                    ],
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "type": "type(address)",
                                                                                    "value": "address"
                                                                                },
                                                                                "id": 3025,
                                                                                "name": "ElementaryTypeNameExpression",
                                                                                "src": "10561:7:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "hexvalue": "307830",
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": true,
                                                                                    "lValueRequested": false,
                                                                                    "subdenomination": null,
                                                                                    "token": "number",
                                                                                    "type": "int_const 0",
                                                                                    "value": "0x0"
                                                                                },
                                                                                "id": 3026,
                                                                                "name": "Literal",
                                                                                "src": "10569:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 3027,
                                                                        "name": "FunctionCall",
                                                                        "src": "10561:12:17"
                                                                    }
                                                                ],
                                                                "id": 3028,
                                                                "name": "BinaryOperation",
                                                                "src": "10522:51:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "=",
                                                                            "type": "address"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": true,
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1920,
                                                                                            "type": "mapping(address => address)",
                                                                                            "value": "managers"
                                                                                        },
                                                                                        "id": 3029,
                                                                                        "name": "Identifier",
                                                                                        "src": "10592:8:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address[] storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1916,
                                                                                                            "type": "mapping(bytes32 => address[] storage ref)",
                                                                                                            "value": "usersbyCountry"
                                                                                                        },
                                                                                                        "id": 3030,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "10601:14:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 2998,
                                                                                                            "type": "bytes32",
                                                                                                            "value": "_country"
                                                                                                        },
                                                                                                        "id": 3031,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "10616:8:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 3032,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "10601:24:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 3009,
                                                                                                    "type": "uint256",
                                                                                                    "value": "i"
                                                                                                },
                                                                                                "id": 3033,
                                                                                                "name": "Identifier",
                                                                                                "src": "10626:1:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3034,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "10601:27:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3035,
                                                                                "name": "IndexAccess",
                                                                                "src": "10592:37:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 2996,
                                                                                    "type": "address",
                                                                                    "value": "_submanager"
                                                                                },
                                                                                "id": 3036,
                                                                                "name": "Identifier",
                                                                                "src": "10632:11:17"
                                                                            }
                                                                        ],
                                                                        "id": 3037,
                                                                        "name": "Assignment",
                                                                        "src": "10592:51:17"
                                                                    }
                                                                ],
                                                                "id": 3038,
                                                                "name": "ExpressionStatement",
                                                                "src": "10592:51:17"
                                                            }
                                                        ],
                                                        "id": 3039,
                                                        "name": "IfStatement",
                                                        "src": "10519:124:17"
                                                    }
                                                ],
                                                "id": 3040,
                                                "name": "Block",
                                                "src": "10504:151:17"
                                            }
                                        ],
                                        "id": 3041,
                                        "name": "ForStatement",
                                        "src": "10473:182:17"
                                    }
                                ],
                                "id": 3042,
                                "name": "Block",
                                "src": "10406:256:17"
                            }
                        ],
                        "id": 3043,
                        "name": "FunctionDefinition",
                        "src": "10330:332:17"
                    },
                    {
                        "attributes": {
                            "documentation": "Gets DP id\r\n@param  party         reference to the party or counterparty in a trade\r",
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getTransferAgent",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": 6798,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "party",
                                            "scope": 3056,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 3044,
                                                "name": "ElementaryTypeName",
                                                "src": "10815:7:17"
                                            }
                                        ],
                                        "id": 3045,
                                        "name": "VariableDeclaration",
                                        "src": "10815:13:17"
                                    }
                                ],
                                "id": 3046,
                                "name": "ParameterList",
                                "src": "10814:15:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 3056,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 3047,
                                                "name": "ElementaryTypeName",
                                                "src": "10852:7:17"
                                            }
                                        ],
                                        "id": 3048,
                                        "name": "VariableDeclaration",
                                        "src": "10852:7:17"
                                    }
                                ],
                                "id": 3049,
                                "name": "ParameterList",
                                "src": "10851:9:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 3049
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "member_name": "id",
                                                    "referencedDeclaration": 1878,
                                                    "type": "bytes32"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "type": "struct Client.role storage ref"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1924,
                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                    "value": "roles"
                                                                },
                                                                "id": 3050,
                                                                "name": "Identifier",
                                                                "src": "10878:5:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3045,
                                                                    "type": "address",
                                                                    "value": "party"
                                                                },
                                                                "id": 3051,
                                                                "name": "Identifier",
                                                                "src": "10884:5:17"
                                                            }
                                                        ],
                                                        "id": 3052,
                                                        "name": "IndexAccess",
                                                        "src": "10878:12:17"
                                                    }
                                                ],
                                                "id": 3053,
                                                "name": "MemberAccess",
                                                "src": "10878:15:17"
                                            }
                                        ],
                                        "id": 3054,
                                        "name": "Return",
                                        "src": "10871:22:17"
                                    }
                                ],
                                "id": 3055,
                                "name": "Block",
                                "src": "10860:41:17"
                            }
                        ],
                        "id": 3056,
                        "name": "FunctionDefinition",
                        "src": "10789:112:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getManagers",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": null,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_country",
                                            "scope": 3134,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 3057,
                                                "name": "ElementaryTypeName",
                                                "src": "10930:7:17"
                                            }
                                        ],
                                        "id": 3058,
                                        "name": "VariableDeclaration",
                                        "src": "10930:16:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_role",
                                            "scope": 3134,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 3059,
                                                "name": "ElementaryTypeName",
                                                "src": "10948:7:17"
                                            }
                                        ],
                                        "id": 3060,
                                        "name": "VariableDeclaration",
                                        "src": "10948:13:17"
                                    }
                                ],
                                "id": 3061,
                                "name": "ParameterList",
                                "src": "10929:33:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 3134,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "address[]",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "address[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "address",
                                                            "stateMutability": "nonpayable",
                                                            "type": "address"
                                                        },
                                                        "id": 3062,
                                                        "name": "ElementaryTypeName",
                                                        "src": "10985:7:17"
                                                    }
                                                ],
                                                "id": 3063,
                                                "name": "ArrayTypeName",
                                                "src": "10985:9:17"
                                            }
                                        ],
                                        "id": 3064,
                                        "name": "VariableDeclaration",
                                        "src": "10985:16:17"
                                    }
                                ],
                                "id": 3065,
                                "name": "ParameterList",
                                "src": "10984:18:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "assignments": [
                                                3069
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "sm",
                                                    "scope": 3133,
                                                    "stateVariable": false,
                                                    "storageLocation": "memory",
                                                    "type": "address[]",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "length": null,
                                                            "type": "address[]"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "address",
                                                                    "type": "address"
                                                                },
                                                                "id": 3067,
                                                                "name": "ElementaryTypeName",
                                                                "src": "11013:7:17"
                                                            }
                                                        ],
                                                        "id": 3068,
                                                        "name": "ArrayTypeName",
                                                        "src": "11013:9:17"
                                                    }
                                                ],
                                                "id": 3069,
                                                "name": "VariableDeclaration",
                                                "src": "11013:19:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "isStructConstructorCall": false,
                                                    "lValueRequested": false,
                                                    "names": [
                                                        null
                                                    ],
                                                    "type": "address[] memory",
                                                    "type_conversion": false
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": [
                                                                {
                                                                    "typeIdentifier": "t_uint256",
                                                                    "typeString": "uint256"
                                                                }
                                                            ],
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "type": "function (uint256) pure returns (address[] memory)"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "length": null,
                                                                    "type": "address[]"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "address",
                                                                            "stateMutability": "nonpayable",
                                                                            "type": "address"
                                                                        },
                                                                        "id": 3070,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "11039:7:17"
                                                                    }
                                                                ],
                                                                "id": 3071,
                                                                "name": "ArrayTypeName",
                                                                "src": "11039:9:17"
                                                            }
                                                        ],
                                                        "id": 3072,
                                                        "name": "NewExpression",
                                                        "src": "11035:13:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "length",
                                                            "referencedDeclaration": null,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1927,
                                                                    "type": "address[] storage ref",
                                                                    "value": "submanagers"
                                                                },
                                                                "id": 3073,
                                                                "name": "Identifier",
                                                                "src": "11049:11:17"
                                                            }
                                                        ],
                                                        "id": 3074,
                                                        "name": "MemberAccess",
                                                        "src": "11049:18:17"
                                                    }
                                                ],
                                                "id": 3075,
                                                "name": "FunctionCall",
                                                "src": "11035:33:17"
                                            }
                                        ],
                                        "id": 3076,
                                        "name": "VariableDeclarationStatement",
                                        "src": "11013:55:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                3078
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "j",
                                                    "scope": 3133,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint256",
                                                            "type": "uint256"
                                                        },
                                                        "id": 3077,
                                                        "name": "ElementaryTypeName",
                                                        "src": "11079:7:17"
                                                    }
                                                ],
                                                "id": 3078,
                                                "name": "VariableDeclaration",
                                                "src": "11079:9:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "30",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "number",
                                                    "type": "int_const 0",
                                                    "value": "0"
                                                },
                                                "id": 3079,
                                                "name": "Literal",
                                                "src": "11089:1:17"
                                            }
                                        ],
                                        "id": 3080,
                                        "name": "VariableDeclarationStatement",
                                        "src": "11079:11:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                3082
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "length",
                                                    "scope": 3133,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "uint256",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "uint",
                                                            "type": "uint256"
                                                        },
                                                        "id": 3081,
                                                        "name": "ElementaryTypeName",
                                                        "src": "11101:4:17"
                                                    }
                                                ],
                                                "id": 3082,
                                                "name": "VariableDeclaration",
                                                "src": "11101:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "member_name": "length",
                                                    "referencedDeclaration": null,
                                                    "type": "uint256"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1927,
                                                            "type": "address[] storage ref",
                                                            "value": "submanagers"
                                                        },
                                                        "id": 3083,
                                                        "name": "Identifier",
                                                        "src": "11115:11:17"
                                                    }
                                                ],
                                                "id": 3084,
                                                "name": "MemberAccess",
                                                "src": "11115:18:17"
                                            }
                                        ],
                                        "id": 3085,
                                        "name": "VariableDeclarationStatement",
                                        "src": "11101:32:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "assignments": [
                                                        3087
                                                    ]
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "constant": false,
                                                            "name": "i",
                                                            "scope": 3130,
                                                            "stateVariable": false,
                                                            "storageLocation": "default",
                                                            "type": "uint256",
                                                            "value": null,
                                                            "visibility": "internal"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "name": "uint256",
                                                                    "type": "uint256"
                                                                },
                                                                "id": 3086,
                                                                "name": "ElementaryTypeName",
                                                                "src": "11148:7:17"
                                                            }
                                                        ],
                                                        "id": 3087,
                                                        "name": "VariableDeclaration",
                                                        "src": "11148:9:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "30",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "number",
                                                            "type": "int_const 0",
                                                            "value": "0"
                                                        },
                                                        "id": 3088,
                                                        "name": "Literal",
                                                        "src": "11158:1:17"
                                                    }
                                                ],
                                                "id": 3089,
                                                "name": "VariableDeclarationStatement",
                                                "src": "11148:11:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_uint256",
                                                        "typeString": "uint256"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "<",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3087,
                                                            "type": "uint256",
                                                            "value": "i"
                                                        },
                                                        "id": 3090,
                                                        "name": "Identifier",
                                                        "src": "11161:1:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3082,
                                                            "type": "uint256",
                                                            "value": "length"
                                                        },
                                                        "id": 3091,
                                                        "name": "Identifier",
                                                        "src": "11163:6:17"
                                                    }
                                                ],
                                                "id": 3092,
                                                "name": "BinaryOperation",
                                                "src": "11161:8:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "++",
                                                            "prefix": false,
                                                            "type": "uint256"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3087,
                                                                    "type": "uint256",
                                                                    "value": "i"
                                                                },
                                                                "id": 3093,
                                                                "name": "Identifier",
                                                                "src": "11171:1:17"
                                                            }
                                                        ],
                                                        "id": 3094,
                                                        "name": "UnaryOperation",
                                                        "src": "11171:3:17"
                                                    }
                                                ],
                                                "id": 3095,
                                                "name": "ExpressionStatement",
                                                "src": "11171:3:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "falseBody": null
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_bool",
                                                                        "typeString": "bool"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "&&",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "country",
                                                                                    "referencedDeclaration": 1874,
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Client.role storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1924,
                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                    "value": "roles"
                                                                                                },
                                                                                                "id": 3096,
                                                                                                "name": "Identifier",
                                                                                                "src": "11193:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1927,
                                                                                                            "type": "address[] storage ref",
                                                                                                            "value": "submanagers"
                                                                                                        },
                                                                                                        "id": 3097,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "11199:11:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 3087,
                                                                                                            "type": "uint256",
                                                                                                            "value": "i"
                                                                                                        },
                                                                                                        "id": 3098,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "11211:1:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 3099,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "11199:14:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3100,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "11193:21:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3101,
                                                                                "name": "MemberAccess",
                                                                                "src": "11193:29:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3058,
                                                                                    "type": "bytes32",
                                                                                    "value": "_country"
                                                                                },
                                                                                "id": 3102,
                                                                                "name": "Identifier",
                                                                                "src": "11224:8:17"
                                                                            }
                                                                        ],
                                                                        "id": 3103,
                                                                        "name": "BinaryOperation",
                                                                        "src": "11193:39:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "commonType": {
                                                                                "typeIdentifier": "t_bytes32",
                                                                                "typeString": "bytes32"
                                                                            },
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "==",
                                                                            "type": "bool"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "member_name": "role",
                                                                                    "referencedDeclaration": 1876,
                                                                                    "type": "bytes32"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "struct Client.role storage ref"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1924,
                                                                                                    "type": "mapping(address => struct Client.role storage ref)",
                                                                                                    "value": "roles"
                                                                                                },
                                                                                                "id": 3104,
                                                                                                "name": "Identifier",
                                                                                                "src": "11236:5:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "address"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 1927,
                                                                                                            "type": "address[] storage ref",
                                                                                                            "value": "submanagers"
                                                                                                        },
                                                                                                        "id": 3105,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "11242:11:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 3087,
                                                                                                            "type": "uint256",
                                                                                                            "value": "i"
                                                                                                        },
                                                                                                        "id": 3106,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "11254:1:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 3107,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "11242:14:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3108,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "11236:21:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3109,
                                                                                "name": "MemberAccess",
                                                                                "src": "11236:26:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3060,
                                                                                    "type": "bytes32",
                                                                                    "value": "_role"
                                                                                },
                                                                                "id": 3110,
                                                                                "name": "Identifier",
                                                                                "src": "11264:5:17"
                                                                            }
                                                                        ],
                                                                        "id": 3111,
                                                                        "name": "BinaryOperation",
                                                                        "src": "11236:33:17"
                                                                    }
                                                                ],
                                                                "id": 3112,
                                                                "name": "BinaryOperation",
                                                                "src": "11193:76:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "address"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": true,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 3069,
                                                                                                    "type": "address[] memory",
                                                                                                    "value": "sm"
                                                                                                },
                                                                                                "id": 3113,
                                                                                                "name": "Identifier",
                                                                                                "src": "11289:2:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 3078,
                                                                                                    "type": "uint256",
                                                                                                    "value": "j"
                                                                                                },
                                                                                                "id": 3114,
                                                                                                "name": "Identifier",
                                                                                                "src": "11292:1:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3115,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "11289:5:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "type": "address"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 1927,
                                                                                                    "type": "address[] storage ref",
                                                                                                    "value": "submanagers"
                                                                                                },
                                                                                                "id": 3116,
                                                                                                "name": "Identifier",
                                                                                                "src": "11297:11:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 3087,
                                                                                                    "type": "uint256",
                                                                                                    "value": "i"
                                                                                                },
                                                                                                "id": 3117,
                                                                                                "name": "Identifier",
                                                                                                "src": "11309:1:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3118,
                                                                                        "name": "IndexAccess",
                                                                                        "src": "11297:14:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3119,
                                                                                "name": "Assignment",
                                                                                "src": "11289:22:17"
                                                                            }
                                                                        ],
                                                                        "id": 3120,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "11289:22:17"
                                                                    },
                                                                    {
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "=",
                                                                                    "type": "uint256"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3078,
                                                                                            "type": "uint256",
                                                                                            "value": "j"
                                                                                        },
                                                                                        "id": 3121,
                                                                                        "name": "Identifier",
                                                                                        "src": "11330:1:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "commonType": {
                                                                                                "typeIdentifier": "t_uint256",
                                                                                                "typeString": "uint256"
                                                                                            },
                                                                                            "isConstant": false,
                                                                                            "isLValue": false,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "operator": "+",
                                                                                            "type": "uint256"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "overloadedDeclarations": [
                                                                                                        null
                                                                                                    ],
                                                                                                    "referencedDeclaration": 3078,
                                                                                                    "type": "uint256",
                                                                                                    "value": "j"
                                                                                                },
                                                                                                "id": 3122,
                                                                                                "name": "Identifier",
                                                                                                "src": "11332:1:17"
                                                                                            },
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "hexvalue": "31",
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": true,
                                                                                                    "lValueRequested": false,
                                                                                                    "subdenomination": null,
                                                                                                    "token": "number",
                                                                                                    "type": "int_const 1",
                                                                                                    "value": "1"
                                                                                                },
                                                                                                "id": 3123,
                                                                                                "name": "Literal",
                                                                                                "src": "11334:1:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3124,
                                                                                        "name": "BinaryOperation",
                                                                                        "src": "11332:3:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3125,
                                                                                "name": "Assignment",
                                                                                "src": "11330:5:17"
                                                                            }
                                                                        ],
                                                                        "id": 3126,
                                                                        "name": "ExpressionStatement",
                                                                        "src": "11330:5:17"
                                                                    }
                                                                ],
                                                                "id": 3127,
                                                                "name": "Block",
                                                                "src": "11270:81:17"
                                                            }
                                                        ],
                                                        "id": 3128,
                                                        "name": "IfStatement",
                                                        "src": "11190:161:17"
                                                    }
                                                ],
                                                "id": 3129,
                                                "name": "Block",
                                                "src": "11175:187:17"
                                            }
                                        ],
                                        "id": 3130,
                                        "name": "ForStatement",
                                        "src": "11144:218:17"
                                    },
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 3065
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "overloadedDeclarations": [
                                                        null
                                                    ],
                                                    "referencedDeclaration": 3069,
                                                    "type": "address[] memory",
                                                    "value": "sm"
                                                },
                                                "id": 3131,
                                                "name": "Identifier",
                                                "src": "11379:2:17"
                                            }
                                        ],
                                        "id": 3132,
                                        "name": "Return",
                                        "src": "11372:9:17"
                                    }
                                ],
                                "id": 3133,
                                "name": "Block",
                                "src": "11002:387:17"
                            }
                        ],
                        "id": 3134,
                        "name": "FunctionDefinition",
                        "src": "10909:480:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "setCustodyAccount",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6850,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_submanager",
                                            "scope": 3227,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 3135,
                                                "name": "ElementaryTypeName",
                                                "src": "11424:7:17"
                                            }
                                        ],
                                        "id": 3136,
                                        "name": "VariableDeclaration",
                                        "src": "11424:19:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_currency",
                                            "scope": 3227,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 3137,
                                                "name": "ElementaryTypeName",
                                                "src": "11445:7:17"
                                            }
                                        ],
                                        "id": 3138,
                                        "name": "VariableDeclaration",
                                        "src": "11445:17:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_accountId",
                                            "scope": 3227,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 3139,
                                                "name": "ElementaryTypeName",
                                                "src": "11464:7:17"
                                            }
                                        ],
                                        "id": 3140,
                                        "name": "VariableDeclaration",
                                        "src": "11464:18:17"
                                    }
                                ],
                                "id": 3141,
                                "name": "ParameterList",
                                "src": "11423:60:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 3142,
                                "name": "ParameterList",
                                "src": "11493:0:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 3143,
                                                        "name": "Identifier",
                                                        "src": "11504:7:17"
                                                    },
                                                    {
                                                        "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 payable"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 9424,
                                                                            "type": "msg",
                                                                            "value": "msg"
                                                                        },
                                                                        "id": 3144,
                                                                        "name": "Identifier",
                                                                        "src": "11512:3:17"
                                                                    }
                                                                ],
                                                                "id": 3145,
                                                                "name": "MemberAccess",
                                                                "src": "11512:10:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3136,
                                                                    "type": "address",
                                                                    "value": "_submanager"
                                                                },
                                                                "id": 3146,
                                                                "name": "Identifier",
                                                                "src": "11524:11:17"
                                                            }
                                                        ],
                                                        "id": 3147,
                                                        "name": "BinaryOperation",
                                                        "src": "11512:23:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 3148,
                                                        "name": "Literal",
                                                        "src": "11537:21:17"
                                                    }
                                                ],
                                                "id": 3149,
                                                "name": "FunctionCall",
                                                "src": "11504:55:17"
                                            }
                                        ],
                                        "id": 3150,
                                        "name": "ExpressionStatement",
                                        "src": "11504:55:17"
                                    },
                                    {
                                        "attributes": {
                                            "assignments": [
                                                3152
                                            ]
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "constant": false,
                                                    "name": "found",
                                                    "scope": 3226,
                                                    "stateVariable": false,
                                                    "storageLocation": "default",
                                                    "type": "bool",
                                                    "value": null,
                                                    "visibility": "internal"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "name": "bool",
                                                            "type": "bool"
                                                        },
                                                        "id": 3151,
                                                        "name": "ElementaryTypeName",
                                                        "src": "11570:4:17"
                                                    }
                                                ],
                                                "id": 3152,
                                                "name": "VariableDeclaration",
                                                "src": "11570:10:17"
                                            },
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "hexvalue": "66616c7365",
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": true,
                                                    "lValueRequested": false,
                                                    "subdenomination": null,
                                                    "token": "bool",
                                                    "type": "bool",
                                                    "value": "false"
                                                },
                                                "id": 3153,
                                                "name": "Literal",
                                                "src": "11583:5:17"
                                            }
                                        ],
                                        "id": 3154,
                                        "name": "VariableDeclarationStatement",
                                        "src": "11570:18:17"
                                    },
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "commonType": {
                                                        "typeIdentifier": "t_bytes32",
                                                        "typeString": "bytes32"
                                                    },
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "!=",
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "member_name": "country",
                                                            "referencedDeclaration": 1874,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "type": "struct Client.role storage ref"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1924,
                                                                            "type": "mapping(address => struct Client.role storage ref)",
                                                                            "value": "roles"
                                                                        },
                                                                        "id": 3155,
                                                                        "name": "Identifier",
                                                                        "src": "11602:5:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3136,
                                                                            "type": "address",
                                                                            "value": "_submanager"
                                                                        },
                                                                        "id": 3156,
                                                                        "name": "Identifier",
                                                                        "src": "11608:11:17"
                                                                    }
                                                                ],
                                                                "id": 3157,
                                                                "name": "IndexAccess",
                                                                "src": "11602:18:17"
                                                            }
                                                        ],
                                                        "id": 3158,
                                                        "name": "MemberAccess",
                                                        "src": "11602:26:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"\"",
                                                            "value": ""
                                                        },
                                                        "id": 3159,
                                                        "name": "Literal",
                                                        "src": "11630:2:17"
                                                    }
                                                ],
                                                "id": 3160,
                                                "name": "BinaryOperation",
                                                "src": "11602:30:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "assignments": [
                                                                3162
                                                            ]
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "name": "length",
                                                                    "scope": 3203,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "default",
                                                                    "type": "uint256",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "name": "uint",
                                                                            "type": "uint256"
                                                                        },
                                                                        "id": 3161,
                                                                        "name": "ElementaryTypeName",
                                                                        "src": "11648:4:17"
                                                                    }
                                                                ],
                                                                "id": 3162,
                                                                "name": "VariableDeclaration",
                                                                "src": "11648:11:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": true,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "member_name": "length",
                                                                    "referencedDeclaration": null,
                                                                    "type": "uint256"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": true,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "type": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 1936,
                                                                                    "type": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)",
                                                                                    "value": "accounts"
                                                                                },
                                                                                "id": 3163,
                                                                                "name": "Identifier",
                                                                                "src": "11662:8:17"
                                                                            },
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3136,
                                                                                    "type": "address",
                                                                                    "value": "_submanager"
                                                                                },
                                                                                "id": 3164,
                                                                                "name": "Identifier",
                                                                                "src": "11671:11:17"
                                                                            }
                                                                        ],
                                                                        "id": 3165,
                                                                        "name": "IndexAccess",
                                                                        "src": "11662:21:17"
                                                                    }
                                                                ],
                                                                "id": 3166,
                                                                "name": "MemberAccess",
                                                                "src": "11662:28:17"
                                                            }
                                                        ],
                                                        "id": 3167,
                                                        "name": "VariableDeclarationStatement",
                                                        "src": "11648:42:17"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "assignments": [
                                                                        3169
                                                                    ]
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "constant": false,
                                                                            "name": "i",
                                                                            "scope": 3202,
                                                                            "stateVariable": false,
                                                                            "storageLocation": "default",
                                                                            "type": "uint256",
                                                                            "value": null,
                                                                            "visibility": "internal"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "name": "uint256",
                                                                                    "type": "uint256"
                                                                                },
                                                                                "id": 3168,
                                                                                "name": "ElementaryTypeName",
                                                                                "src": "11709:7:17"
                                                                            }
                                                                        ],
                                                                        "id": 3169,
                                                                        "name": "VariableDeclaration",
                                                                        "src": "11709:9:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "hexvalue": "30",
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": true,
                                                                            "lValueRequested": false,
                                                                            "subdenomination": null,
                                                                            "token": "number",
                                                                            "type": "int_const 0",
                                                                            "value": "0"
                                                                        },
                                                                        "id": 3170,
                                                                        "name": "Literal",
                                                                        "src": "11719:1:17"
                                                                    }
                                                                ],
                                                                "id": 3171,
                                                                "name": "VariableDeclarationStatement",
                                                                "src": "11709:11:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "commonType": {
                                                                        "typeIdentifier": "t_uint256",
                                                                        "typeString": "uint256"
                                                                    },
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "lValueRequested": false,
                                                                    "operator": "<",
                                                                    "type": "bool"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3169,
                                                                            "type": "uint256",
                                                                            "value": "i"
                                                                        },
                                                                        "id": 3172,
                                                                        "name": "Identifier",
                                                                        "src": "11722:1:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3162,
                                                                            "type": "uint256",
                                                                            "value": "length"
                                                                        },
                                                                        "id": 3173,
                                                                        "name": "Identifier",
                                                                        "src": "11724:6:17"
                                                                    }
                                                                ],
                                                                "id": 3174,
                                                                "name": "BinaryOperation",
                                                                "src": "11722:8:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "operator": "++",
                                                                            "prefix": false,
                                                                            "type": "uint256"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 3169,
                                                                                    "type": "uint256",
                                                                                    "value": "i"
                                                                                },
                                                                                "id": 3175,
                                                                                "name": "Identifier",
                                                                                "src": "11732:1:17"
                                                                            }
                                                                        ],
                                                                        "id": 3176,
                                                                        "name": "UnaryOperation",
                                                                        "src": "11732:3:17"
                                                                    }
                                                                ],
                                                                "id": 3177,
                                                                "name": "ExpressionStatement",
                                                                "src": "11732:3:17"
                                                            },
                                                            {
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "falseBody": null
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "commonType": {
                                                                                        "typeIdentifier": "t_bytes32",
                                                                                        "typeString": "bytes32"
                                                                                    },
                                                                                    "isConstant": false,
                                                                                    "isLValue": false,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "operator": "==",
                                                                                    "type": "bool"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "isConstant": false,
                                                                                            "isLValue": true,
                                                                                            "isPure": false,
                                                                                            "lValueRequested": false,
                                                                                            "member_name": "currency",
                                                                                            "referencedDeclaration": 6696,
                                                                                            "type": "bytes32"
                                                                                        },
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": true,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "type": "struct VerifiedClient.custodian storage ref"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": false,
                                                                                                            "type": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 1936,
                                                                                                                    "type": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)",
                                                                                                                    "value": "accounts"
                                                                                                                },
                                                                                                                "id": 3178,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "11758:8:17"
                                                                                                            },
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "overloadedDeclarations": [
                                                                                                                        null
                                                                                                                    ],
                                                                                                                    "referencedDeclaration": 3136,
                                                                                                                    "type": "address",
                                                                                                                    "value": "_submanager"
                                                                                                                },
                                                                                                                "id": 3179,
                                                                                                                "name": "Identifier",
                                                                                                                "src": "11767:11:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 3180,
                                                                                                        "name": "IndexAccess",
                                                                                                        "src": "11758:21:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 3169,
                                                                                                            "type": "uint256",
                                                                                                            "value": "i"
                                                                                                        },
                                                                                                        "id": 3181,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "11780:1:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 3182,
                                                                                                "name": "IndexAccess",
                                                                                                "src": "11758:24:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3183,
                                                                                        "name": "MemberAccess",
                                                                                        "src": "11758:33:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3138,
                                                                                            "type": "bytes32",
                                                                                            "value": "_currency"
                                                                                        },
                                                                                        "id": 3184,
                                                                                        "name": "Identifier",
                                                                                        "src": "11793:9:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3185,
                                                                                "name": "BinaryOperation",
                                                                                "src": "11758:44:17"
                                                                            },
                                                                            {
                                                                                "children": [
                                                                                    {
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "=",
                                                                                                    "type": "bytes32"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": true,
                                                                                                            "isPure": false,
                                                                                                            "lValueRequested": true,
                                                                                                            "member_name": "account",
                                                                                                            "referencedDeclaration": 6698,
                                                                                                            "type": "bytes32"
                                                                                                        },
                                                                                                        "children": [
                                                                                                            {
                                                                                                                "attributes": {
                                                                                                                    "argumentTypes": null,
                                                                                                                    "isConstant": false,
                                                                                                                    "isLValue": true,
                                                                                                                    "isPure": false,
                                                                                                                    "lValueRequested": false,
                                                                                                                    "type": "struct VerifiedClient.custodian storage ref"
                                                                                                                },
                                                                                                                "children": [
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "isConstant": false,
                                                                                                                            "isLValue": true,
                                                                                                                            "isPure": false,
                                                                                                                            "lValueRequested": false,
                                                                                                                            "type": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                                                                                        },
                                                                                                                        "children": [
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 1936,
                                                                                                                                    "type": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)",
                                                                                                                                    "value": "accounts"
                                                                                                                                },
                                                                                                                                "id": 3186,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "11826:8:17"
                                                                                                                            },
                                                                                                                            {
                                                                                                                                "attributes": {
                                                                                                                                    "argumentTypes": null,
                                                                                                                                    "overloadedDeclarations": [
                                                                                                                                        null
                                                                                                                                    ],
                                                                                                                                    "referencedDeclaration": 3136,
                                                                                                                                    "type": "address",
                                                                                                                                    "value": "_submanager"
                                                                                                                                },
                                                                                                                                "id": 3187,
                                                                                                                                "name": "Identifier",
                                                                                                                                "src": "11835:11:17"
                                                                                                                            }
                                                                                                                        ],
                                                                                                                        "id": 3189,
                                                                                                                        "name": "IndexAccess",
                                                                                                                        "src": "11826:21:17"
                                                                                                                    },
                                                                                                                    {
                                                                                                                        "attributes": {
                                                                                                                            "argumentTypes": null,
                                                                                                                            "overloadedDeclarations": [
                                                                                                                                null
                                                                                                                            ],
                                                                                                                            "referencedDeclaration": 3169,
                                                                                                                            "type": "uint256",
                                                                                                                            "value": "i"
                                                                                                                        },
                                                                                                                        "id": 3188,
                                                                                                                        "name": "Identifier",
                                                                                                                        "src": "11848:1:17"
                                                                                                                    }
                                                                                                                ],
                                                                                                                "id": 3190,
                                                                                                                "name": "IndexAccess",
                                                                                                                "src": "11826:24:17"
                                                                                                            }
                                                                                                        ],
                                                                                                        "id": 3191,
                                                                                                        "name": "MemberAccess",
                                                                                                        "src": "11826:32:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 3140,
                                                                                                            "type": "bytes32",
                                                                                                            "value": "_accountId"
                                                                                                        },
                                                                                                        "id": 3192,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "11861:10:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 3193,
                                                                                                "name": "Assignment",
                                                                                                "src": "11826:45:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3194,
                                                                                        "name": "ExpressionStatement",
                                                                                        "src": "11826:45:17"
                                                                                    },
                                                                                    {
                                                                                        "children": [
                                                                                            {
                                                                                                "attributes": {
                                                                                                    "argumentTypes": null,
                                                                                                    "isConstant": false,
                                                                                                    "isLValue": false,
                                                                                                    "isPure": false,
                                                                                                    "lValueRequested": false,
                                                                                                    "operator": "=",
                                                                                                    "type": "bool"
                                                                                                },
                                                                                                "children": [
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "overloadedDeclarations": [
                                                                                                                null
                                                                                                            ],
                                                                                                            "referencedDeclaration": 3152,
                                                                                                            "type": "bool",
                                                                                                            "value": "found"
                                                                                                        },
                                                                                                        "id": 3195,
                                                                                                        "name": "Identifier",
                                                                                                        "src": "11894:5:17"
                                                                                                    },
                                                                                                    {
                                                                                                        "attributes": {
                                                                                                            "argumentTypes": null,
                                                                                                            "hexvalue": "74727565",
                                                                                                            "isConstant": false,
                                                                                                            "isLValue": false,
                                                                                                            "isPure": true,
                                                                                                            "lValueRequested": false,
                                                                                                            "subdenomination": null,
                                                                                                            "token": "bool",
                                                                                                            "type": "bool",
                                                                                                            "value": "true"
                                                                                                        },
                                                                                                        "id": 3196,
                                                                                                        "name": "Literal",
                                                                                                        "src": "11902:4:17"
                                                                                                    }
                                                                                                ],
                                                                                                "id": 3197,
                                                                                                "name": "Assignment",
                                                                                                "src": "11894:12:17"
                                                                                            }
                                                                                        ],
                                                                                        "id": 3198,
                                                                                        "name": "ExpressionStatement",
                                                                                        "src": "11894:12:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3199,
                                                                                "name": "Block",
                                                                                "src": "11803:123:17"
                                                                            }
                                                                        ],
                                                                        "id": 3200,
                                                                        "name": "IfStatement",
                                                                        "src": "11755:171:17"
                                                                    }
                                                                ],
                                                                "id": 3201,
                                                                "name": "Block",
                                                                "src": "11736:205:17"
                                                            }
                                                        ],
                                                        "id": 3202,
                                                        "name": "ForStatement",
                                                        "src": "11705:236:17"
                                                    }
                                                ],
                                                "id": 3203,
                                                "name": "Block",
                                                "src": "11633:319:17"
                                            }
                                        ],
                                        "id": 3204,
                                        "name": "IfStatement",
                                        "src": "11599:353:17"
                                    },
                                    {
                                        "attributes": {
                                            "falseBody": null
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "!",
                                                    "prefix": true,
                                                    "type": "bool"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3152,
                                                            "type": "bool",
                                                            "value": "found"
                                                        },
                                                        "id": 3205,
                                                        "name": "Identifier",
                                                        "src": "11966:5:17"
                                                    }
                                                ],
                                                "id": 3206,
                                                "name": "UnaryOperation",
                                                "src": "11965:6:17"
                                            },
                                            {
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "assignments": [
                                                                3210
                                                            ]
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "constant": false,
                                                                    "name": "c",
                                                                    "scope": 3224,
                                                                    "stateVariable": false,
                                                                    "storageLocation": "memory",
                                                                    "type": "struct VerifiedClient.custodian",
                                                                    "value": null,
                                                                    "visibility": "internal"
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "contractScope": null,
                                                                            "name": "VerifiedClient.custodian",
                                                                            "referencedDeclaration": 6699,
                                                                            "type": "struct VerifiedClient.custodian"
                                                                        },
                                                                        "id": 3209,
                                                                        "name": "UserDefinedTypeName",
                                                                        "src": "11987:24:17"
                                                                    }
                                                                ],
                                                                "id": 3210,
                                                                "name": "VariableDeclaration",
                                                                "src": "11987:33:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": true,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        "currency",
                                                                        "account"
                                                                    ],
                                                                    "type": "struct VerifiedClient.custodian memory",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                },
                                                                                {
                                                                                    "typeIdentifier": "t_bytes32",
                                                                                    "typeString": "bytes32"
                                                                                }
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "custodian",
                                                                            "referencedDeclaration": 6699,
                                                                            "type": "type(struct VerifiedClient.custodian storage pointer)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 6873,
                                                                                    "type": "type(contract VerifiedClient)",
                                                                                    "value": "VerifiedClient"
                                                                                },
                                                                                "id": 3211,
                                                                                "name": "Identifier",
                                                                                "src": "12023:14:17"
                                                                            }
                                                                        ],
                                                                        "id": 3212,
                                                                        "name": "MemberAccess",
                                                                        "src": "12023:24:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3138,
                                                                            "type": "bytes32",
                                                                            "value": "_currency"
                                                                        },
                                                                        "id": 3213,
                                                                        "name": "Identifier",
                                                                        "src": "12078:9:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3140,
                                                                            "type": "bytes32",
                                                                            "value": "_accountId"
                                                                        },
                                                                        "id": 3214,
                                                                        "name": "Identifier",
                                                                        "src": "12116:10:17"
                                                                    }
                                                                ],
                                                                "id": 3215,
                                                                "name": "FunctionCall",
                                                                "src": "12023:119:17"
                                                            }
                                                        ],
                                                        "id": 3216,
                                                        "name": "VariableDeclarationStatement",
                                                        "src": "11987:155:17"
                                                    },
                                                    {
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "isConstant": false,
                                                                    "isLValue": false,
                                                                    "isPure": false,
                                                                    "isStructConstructorCall": false,
                                                                    "lValueRequested": false,
                                                                    "names": [
                                                                        null
                                                                    ],
                                                                    "type": "uint256",
                                                                    "type_conversion": false
                                                                },
                                                                "children": [
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": [
                                                                                {
                                                                                    "typeIdentifier": "t_struct$_custodian_$6699_memory_ptr",
                                                                                    "typeString": "struct VerifiedClient.custodian memory"
                                                                                }
                                                                            ],
                                                                            "isConstant": false,
                                                                            "isLValue": false,
                                                                            "isPure": false,
                                                                            "lValueRequested": false,
                                                                            "member_name": "push",
                                                                            "referencedDeclaration": null,
                                                                            "type": "function (struct VerifiedClient.custodian storage ref) returns (uint256)"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "isConstant": false,
                                                                                    "isLValue": true,
                                                                                    "isPure": false,
                                                                                    "lValueRequested": false,
                                                                                    "type": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                                                },
                                                                                "children": [
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 1936,
                                                                                            "type": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)",
                                                                                            "value": "accounts"
                                                                                        },
                                                                                        "id": 3217,
                                                                                        "name": "Identifier",
                                                                                        "src": "12157:8:17"
                                                                                    },
                                                                                    {
                                                                                        "attributes": {
                                                                                            "argumentTypes": null,
                                                                                            "overloadedDeclarations": [
                                                                                                null
                                                                                            ],
                                                                                            "referencedDeclaration": 3136,
                                                                                            "type": "address",
                                                                                            "value": "_submanager"
                                                                                        },
                                                                                        "id": 3218,
                                                                                        "name": "Identifier",
                                                                                        "src": "12166:11:17"
                                                                                    }
                                                                                ],
                                                                                "id": 3219,
                                                                                "name": "IndexAccess",
                                                                                "src": "12157:21:17"
                                                                            }
                                                                        ],
                                                                        "id": 3220,
                                                                        "name": "MemberAccess",
                                                                        "src": "12157:26:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3210,
                                                                            "type": "struct VerifiedClient.custodian memory",
                                                                            "value": "c"
                                                                        },
                                                                        "id": 3221,
                                                                        "name": "Identifier",
                                                                        "src": "12184:1:17"
                                                                    }
                                                                ],
                                                                "id": 3222,
                                                                "name": "FunctionCall",
                                                                "src": "12157:29:17"
                                                            }
                                                        ],
                                                        "id": 3223,
                                                        "name": "ExpressionStatement",
                                                        "src": "12157:29:17"
                                                    }
                                                ],
                                                "id": 3224,
                                                "name": "Block",
                                                "src": "11972:226:17"
                                            }
                                        ],
                                        "id": 3225,
                                        "name": "IfStatement",
                                        "src": "11962:236:17"
                                    }
                                ],
                                "id": 3226,
                                "name": "Block",
                                "src": "11493:724:17"
                            }
                        ],
                        "id": 3227,
                        "name": "FunctionDefinition",
                        "src": "11397:820:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getCustodyAccount",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": 6858,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "_submanager",
                                            "scope": 3240,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 3228,
                                                "name": "ElementaryTypeName",
                                                "src": "12252:7:17"
                                            }
                                        ],
                                        "id": 3229,
                                        "name": "VariableDeclaration",
                                        "src": "12252:19:17"
                                    }
                                ],
                                "id": 3230,
                                "name": "ParameterList",
                                "src": "12251:21:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 3240,
                                            "stateVariable": false,
                                            "storageLocation": "memory",
                                            "type": "struct VerifiedClient.custodian[]",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "length": null,
                                                    "type": "struct VerifiedClient.custodian[]"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "contractScope": null,
                                                            "name": "custodian",
                                                            "referencedDeclaration": 6699,
                                                            "type": "struct VerifiedClient.custodian"
                                                        },
                                                        "id": 3231,
                                                        "name": "UserDefinedTypeName",
                                                        "src": "12295:9:17"
                                                    }
                                                ],
                                                "id": 3232,
                                                "name": "ArrayTypeName",
                                                "src": "12295:11:17"
                                            }
                                        ],
                                        "id": 3233,
                                        "name": "VariableDeclaration",
                                        "src": "12295:18:17"
                                    }
                                ],
                                "id": 3234,
                                "name": "ParameterList",
                                "src": "12294:20:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 3234
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "struct VerifiedClient.custodian storage ref[] storage ref"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1936,
                                                            "type": "mapping(address => struct VerifiedClient.custodian storage ref[] storage ref)",
                                                            "value": "accounts"
                                                        },
                                                        "id": 3235,
                                                        "name": "Identifier",
                                                        "src": "12332:8:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3229,
                                                            "type": "address",
                                                            "value": "_submanager"
                                                        },
                                                        "id": 3236,
                                                        "name": "Identifier",
                                                        "src": "12341:11:17"
                                                    }
                                                ],
                                                "id": 3237,
                                                "name": "IndexAccess",
                                                "src": "12332:21:17"
                                            }
                                        ],
                                        "id": 3238,
                                        "name": "Return",
                                        "src": "12325:28:17"
                                    }
                                ],
                                "id": 3239,
                                "name": "Block",
                                "src": "12314:47:17"
                            }
                        ],
                        "id": 3240,
                        "name": "FunctionDefinition",
                        "src": "12225:136:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "setCustody",
                            "scope": 3280,
                            "stateMutability": "nonpayable",
                            "superFunction": 6865,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "userAddress",
                                            "scope": 3267,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 3241,
                                                "name": "ElementaryTypeName",
                                                "src": "12389:7:17"
                                            }
                                        ],
                                        "id": 3242,
                                        "name": "VariableDeclaration",
                                        "src": "12389:19:17"
                                    },
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "accountId",
                                            "scope": 3267,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 3243,
                                                "name": "ElementaryTypeName",
                                                "src": "12410:7:17"
                                            }
                                        ],
                                        "id": 3244,
                                        "name": "VariableDeclaration",
                                        "src": "12410:17:17"
                                    }
                                ],
                                "id": 3245,
                                "name": "ParameterList",
                                "src": "12388:40:17"
                            },
                            {
                                "attributes": {
                                    "parameters": [
                                        null
                                    ]
                                },
                                "children": [],
                                "id": 3246,
                                "name": "ParameterList",
                                "src": "12437:0:17"
                            },
                            {
                                "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"
                                                                },
                                                                {
                                                                    "typeIdentifier": "t_stringliteral_b89edf027d3d1129b9f2c8dcd2ba89ffc6487f04ca050032214e13175a19a74a",
                                                                    "typeString": "literal_string \"Unauthorized access\""
                                                                }
                                                            ],
                                                            "overloadedDeclarations": [
                                                                9427,
                                                                9428
                                                            ],
                                                            "referencedDeclaration": 9428,
                                                            "type": "function (bool,string memory) pure",
                                                            "value": "require"
                                                        },
                                                        "id": 3247,
                                                        "name": "Identifier",
                                                        "src": "12448:7:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "commonType": {
                                                                "typeIdentifier": "t_bool",
                                                                "typeString": "bool"
                                                            },
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": false,
                                                            "lValueRequested": false,
                                                            "operator": "||",
                                                            "type": "bool"
                                                        },
                                                        "children": [
                                                            {
                                                                "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 payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 3248,
                                                                                "name": "Identifier",
                                                                                "src": "12456:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 3249,
                                                                        "name": "MemberAccess",
                                                                        "src": "12456:10:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 3242,
                                                                            "type": "address",
                                                                            "value": "userAddress"
                                                                        },
                                                                        "id": 3250,
                                                                        "name": "Identifier",
                                                                        "src": "12468:11:17"
                                                                    }
                                                                ],
                                                                "id": 3251,
                                                                "name": "BinaryOperation",
                                                                "src": "12456:23:17"
                                                            },
                                                            {
                                                                "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 payable"
                                                                        },
                                                                        "children": [
                                                                            {
                                                                                "attributes": {
                                                                                    "argumentTypes": null,
                                                                                    "overloadedDeclarations": [
                                                                                        null
                                                                                    ],
                                                                                    "referencedDeclaration": 9424,
                                                                                    "type": "msg",
                                                                                    "value": "msg"
                                                                                },
                                                                                "id": 3252,
                                                                                "name": "Identifier",
                                                                                "src": "12483:3:17"
                                                                            }
                                                                        ],
                                                                        "id": 3253,
                                                                        "name": "MemberAccess",
                                                                        "src": "12483:10:17"
                                                                    },
                                                                    {
                                                                        "attributes": {
                                                                            "argumentTypes": null,
                                                                            "overloadedDeclarations": [
                                                                                null
                                                                            ],
                                                                            "referencedDeclaration": 1870,
                                                                            "type": "address",
                                                                            "value": "bridge"
                                                                        },
                                                                        "id": 3254,
                                                                        "name": "Identifier",
                                                                        "src": "12495:6:17"
                                                                    }
                                                                ],
                                                                "id": 3255,
                                                                "name": "BinaryOperation",
                                                                "src": "12483:18:17"
                                                            }
                                                        ],
                                                        "id": 3256,
                                                        "name": "BinaryOperation",
                                                        "src": "12456:45:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "hexvalue": "556e617574686f72697a656420616363657373",
                                                            "isConstant": false,
                                                            "isLValue": false,
                                                            "isPure": true,
                                                            "lValueRequested": false,
                                                            "subdenomination": null,
                                                            "token": "string",
                                                            "type": "literal_string \"Unauthorized access\"",
                                                            "value": "Unauthorized access"
                                                        },
                                                        "id": 3257,
                                                        "name": "Literal",
                                                        "src": "12503:21:17"
                                                    }
                                                ],
                                                "id": 3258,
                                                "name": "FunctionCall",
                                                "src": "12448:77:17"
                                            }
                                        ],
                                        "id": 3259,
                                        "name": "ExpressionStatement",
                                        "src": "12448:77:17"
                                    },
                                    {
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": false,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "operator": "=",
                                                    "type": "bytes32"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "isConstant": false,
                                                            "isLValue": true,
                                                            "isPure": false,
                                                            "lValueRequested": true,
                                                            "type": "bytes32"
                                                        },
                                                        "children": [
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 1940,
                                                                    "type": "mapping(address => bytes32)",
                                                                    "value": "custodyAccount"
                                                                },
                                                                "id": 3260,
                                                                "name": "Identifier",
                                                                "src": "12536:14:17"
                                                            },
                                                            {
                                                                "attributes": {
                                                                    "argumentTypes": null,
                                                                    "overloadedDeclarations": [
                                                                        null
                                                                    ],
                                                                    "referencedDeclaration": 3242,
                                                                    "type": "address",
                                                                    "value": "userAddress"
                                                                },
                                                                "id": 3261,
                                                                "name": "Identifier",
                                                                "src": "12551:11:17"
                                                            }
                                                        ],
                                                        "id": 3262,
                                                        "name": "IndexAccess",
                                                        "src": "12536:27:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3244,
                                                            "type": "bytes32",
                                                            "value": "accountId"
                                                        },
                                                        "id": 3263,
                                                        "name": "Identifier",
                                                        "src": "12566:9:17"
                                                    }
                                                ],
                                                "id": 3264,
                                                "name": "Assignment",
                                                "src": "12536:39:17"
                                            }
                                        ],
                                        "id": 3265,
                                        "name": "ExpressionStatement",
                                        "src": "12536:39:17"
                                    }
                                ],
                                "id": 3266,
                                "name": "Block",
                                "src": "12437:146:17"
                            }
                        ],
                        "id": 3267,
                        "name": "FunctionDefinition",
                        "src": "12369:214:17"
                    },
                    {
                        "attributes": {
                            "documentation": null,
                            "implemented": true,
                            "isConstructor": false,
                            "kind": "function",
                            "modifiers": [
                                null
                            ],
                            "name": "getCustody",
                            "scope": 3280,
                            "stateMutability": "view",
                            "superFunction": 6872,
                            "visibility": "external"
                        },
                        "children": [
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "userAddress",
                                            "scope": 3279,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "address",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "address",
                                                    "stateMutability": "nonpayable",
                                                    "type": "address"
                                                },
                                                "id": 3268,
                                                "name": "ElementaryTypeName",
                                                "src": "12611:7:17"
                                            }
                                        ],
                                        "id": 3269,
                                        "name": "VariableDeclaration",
                                        "src": "12611:19:17"
                                    }
                                ],
                                "id": 3270,
                                "name": "ParameterList",
                                "src": "12610:21:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "constant": false,
                                            "name": "",
                                            "scope": 3279,
                                            "stateVariable": false,
                                            "storageLocation": "default",
                                            "type": "bytes32",
                                            "value": null,
                                            "visibility": "internal"
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "name": "bytes32",
                                                    "type": "bytes32"
                                                },
                                                "id": 3271,
                                                "name": "ElementaryTypeName",
                                                "src": "12654:7:17"
                                            }
                                        ],
                                        "id": 3272,
                                        "name": "VariableDeclaration",
                                        "src": "12654:7:17"
                                    }
                                ],
                                "id": 3273,
                                "name": "ParameterList",
                                "src": "12653:9:17"
                            },
                            {
                                "children": [
                                    {
                                        "attributes": {
                                            "functionReturnParameters": 3273
                                        },
                                        "children": [
                                            {
                                                "attributes": {
                                                    "argumentTypes": null,
                                                    "isConstant": false,
                                                    "isLValue": true,
                                                    "isPure": false,
                                                    "lValueRequested": false,
                                                    "type": "bytes32"
                                                },
                                                "children": [
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 1940,
                                                            "type": "mapping(address => bytes32)",
                                                            "value": "custodyAccount"
                                                        },
                                                        "id": 3274,
                                                        "name": "Identifier",
                                                        "src": "12680:14:17"
                                                    },
                                                    {
                                                        "attributes": {
                                                            "argumentTypes": null,
                                                            "overloadedDeclarations": [
                                                                null
                                                            ],
                                                            "referencedDeclaration": 3269,
                                                            "type": "address",
                                                            "value": "userAddress"
                                                        },
                                                        "id": 3275,
                                                        "name": "Identifier",
                                                        "src": "12695:11:17"
                                                    }
                                                ],
                                                "id": 3276,
                                                "name": "IndexAccess",
                                                "src": "12680:27:17"
                                            }
                                        ],
                                        "id": 3277,
                                        "name": "Return",
                                        "src": "12673:34:17"
                                    }
                                ],
                                "id": 3278,
                                "name": "Block",
                                "src": "12662:53:17"
                            }
                        ],
                        "id": 3279,
                        "name": "FunctionDefinition",
                        "src": "12591:124:17"
                    }
                ],
                "id": 3280,
                "name": "ContractDefinition",
                "src": "364:12356:17"
            }
        ],
        "id": 3281,
        "name": "SourceUnit",
        "src": "112:12608:17"
    },
    "compiler": {
        "name": "solc",
        "version": "0.5.7+commit.6da8b019.Emscripten.clang"
    },
    "networks": {
        "1": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x2f8cF8F87a200f7803975c4e5496Ac2F471AbECB",
            "transactionHash": "0x35c2fa2c996a9fd9bdb3c4512e3d57954ba04b30866a8cf6d6563e58f29a6d70"
        },
        "100": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x312C59864CbCB34bBB4401185d634ead05650fBF",
            "transactionHash": "0x2786ad3945157e6d01e798b772742556590240a08d9e2dade473038bed7e2c94"
        },
        "8453": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x06abba52d38C75D40Ae677a4aA30500c52A89063",
            "transactionHash": "0xa0b6ce96087800277c3d5d616caa4c4e7ee91e8b674dfbb5e4ae2eaef6a2a1bb"
        },
        "11155111": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0xB72629Bb4d031F1C755AFfA123AAA28E81EfdA9A",
            "transactionHash": "0x0af14b69347946e069a6b7511599b534146daa027299aa1c2035d4b667baaa5e"
        },
        "1729362618521": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0xCf621A5Cb57bDB051CE100db8E6A5df5CDC26856",
            "transactionHash": "0x957e0c3f38deea374f73cba660dae0ae12427f85d0944adaec012363bdc35d18"
        },
        "1734842681569": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0xe090D9ec5590Cd5FB42C5Ee6Dd31db7651AfF0AE",
            "transactionHash": "0x116dc1bfac93ed370f7dff278923ccdcc47c8c78c61519faafc8680cb42bf947"
        },
        "1734873379405": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x80beE290a536eeD9b8544154D28eFa7bB240e88e",
            "transactionHash": "0x0cfa95557fff11b5df66d04209bc10f260d6eff7be96a6b7d15240575d2c607c"
        },
        "1735141964972": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x7B6D0b2dCBD30c82f1c565C6A0Ddc0B2b55F451F",
            "transactionHash": "0xeea9becea6735ea0d463498ef4768cb292626e2d6ca7397db4a61d1322eef891"
        },
        "1735142994788": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x6Db822C0390E5f3Ed33D1884a4A62c38a4c95234",
            "transactionHash": "0x4c4f81b13f6294f26a7ffe5888405a7e9b1ddca307eaa53bd69ab291858953b9"
        },
        "1737639970123": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x281B613169FDb6934ea785663256e71fFEa3c665",
            "transactionHash": "0x6c5b3f3a8f70b6119027ee7fe1832fd1ff3612f61c3d90ce4daa35ad3e5f3008"
        },
        "1737641283957": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x103fe1b795A09bE373B76e8c3C9b35B51aF2E956",
            "transactionHash": "0x182334be3265ec939c5e5d1a38a4ceca63040bf84d435ecaf218145bceef6c8b"
        },
        "1737643787782": {
            "events": {
                "0xefc0db5f83f77f89452c2f94b82b44e255b3488e98d72feed0d80672ae36c8cc": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "managerId",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerAdded",
                    "type": "event"
                },
                "0x2d599c6854d4b4c59b4e99fde5e3cb617739de62ed97ff059d0305bcba6c8aac": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "manager",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "submanager",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "role",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        }
                    ],
                    "name": "ManagerRemoved",
                    "type": "event"
                },
                "0x0b39fd0cf419285b8686e954aaa78a22042d1982dc0b3b3f12276d104415fb95": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": false,
                            "name": "client",
                            "type": "address"
                        },
                        {
                            "indexed": false,
                            "name": "name",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "accountid",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "country",
                            "type": "bytes32"
                        },
                        {
                            "indexed": false,
                            "name": "status",
                            "type": "uint256"
                        }
                    ],
                    "name": "UserAdded",
                    "type": "event"
                },
                "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
                    "anonymous": false,
                    "inputs": [
                        {
                            "indexed": true,
                            "name": "previousOwner",
                            "type": "address"
                        },
                        {
                            "indexed": true,
                            "name": "newOwner",
                            "type": "address"
                        }
                    ],
                    "name": "OwnershipTransferred",
                    "type": "event"
                }
            },
            "links": {},
            "address": "0x51DB92e25c469A0adFeA89fd27015BDc580c13C9",
            "transactionHash": "0xf5e8ef0a03862e3901e14fa49fc2e4d942e02fd5504e6b32c8528ee6a5ac2bc4"
        }
    },
    "schemaVersion": "3.4.3",
    "updatedAt": "2025-02-27T16:47:02.010Z",
    "networkType": "ethereum",
    "devdoc": {
        "methods": {
            "getTransferAgent(address)": {
                "params": {
                    "party": "reference to the party or counterparty in a trade\r"
                }
            },
            "isOwner()": {
                "details": "Returns true if the caller is the current owner."
            },
            "owner()": {
                "details": "Returns the address of the current owner."
            },
            "renounceOwnership()": {
                "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
            },
            "transferOwnership(address)": {
                "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
            }
        }
    },
    "userdoc": {
        "methods": {
            "getTransferAgent(address)": {
                "notice": "Gets DP id\r"
            }
        }
    }
}
