github.com/ConsenSys/Quorum@v20.10.0+incompatible/permission/bind/permission_impl.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package permission
     5  
     6  import (
     7  	"math/big"
     8  	"strings"
     9  
    10  	ethereum "github.com/ethereum/go-ethereum"
    11  	"github.com/ethereum/go-ethereum/accounts/abi"
    12  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    13  	"github.com/ethereum/go-ethereum/common"
    14  	"github.com/ethereum/go-ethereum/core/types"
    15  	"github.com/ethereum/go-ethereum/event"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var (
    20  	_ = big.NewInt
    21  	_ = strings.NewReader
    22  	_ = ethereum.NotFound
    23  	_ = abi.U256
    24  	_ = bind.Bind
    25  	_ = common.Big1
    26  	_ = types.BloomLookup
    27  	_ = event.NewSubscription
    28  )
    29  
    30  // PermImplABI is the input ABI used to generate the binding from.
    31  const PermImplABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateAccountStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_access\",\"type\":\"uint256\"},{\"name\":\"_voter\",\"type\":\"bool\"},{\"name\":\"_admin\",\"type\":\"bool\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addNewRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminOrg\",\"type\":\"string\"},{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"}],\"name\":\"setPolicy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"startBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"addAdminNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"assignAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"updateNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addAdminAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"removeRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"validateAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"assignAccountRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"isOrgAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_breadth\",\"type\":\"uint256\"},{\"name\":\"_depth\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_pOrgId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addSubOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"startBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPolicyDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isNetworkAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getPendingOp\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminOrg\",\"type\":\"string\"},{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"},{\"name\":\"_networkBootStatus\",\"type\":\"bool\"}],\"name\":\"setMigrationPolicy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"},{\"name\":\"_orgManager\",\"type\":\"address\"},{\"name\":\"_rolesManager\",\"type\":\"address\"},{\"name\":\"_accountManager\",\"type\":\"address\"},{\"name\":\"_voterManager\",\"type\":\"address\"},{\"name\":\"_nodeManager\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_networkBootStatus\",\"type\":\"bool\"}],\"name\":\"PermissionsInitialized\",\"type\":\"event\"}]"
    32  
    33  // PermImplBin is the compiled bytecode used for deploying new contracts.
    34  var PermImplBin = "0x60806040526003600955600a805460ff191690553480156200002057600080fd5b5060405160c08062007532833981018060405260c08110156200004257600080fd5b508051602082015160408301516060840151608085015160a09095015160058054600160a060020a03968716600160a060020a031991821617909155600480549587169582169590951790945560018054938616938516939093179092556000805491851691841691909117905560028054948416948316949094179093556003805492909316911617905561745480620000de6000396000f3fe608060405234801561001057600080fd5b50600436106101d35760003560e060020a90048063655a8ef511610108578063b5546564116100a6578063dbfad71111610075578063dbfad7111461119a578063f346a3a714611267578063f5ad584a146113d3578063f922f802146114e3576101d3565b8063b554656414610edc578063c3dc8e0914610f59578063cc9ba6fa14611020578063d1aa0c2014611174576101d3565b80638baa8191116100e25780638baa819114610baa5780639bd3810114610cee578063a5843f0814610da2578063a64d286014610dc5576101d3565b8063655a8ef5146109b05780636b568d7614610a775780638884304114610b2b576101d3565b8063404bf3eb116101755780634cbfa82e1161014f5780634cbfa82e146107f45780634fe57e7a146107fc57806359a260a3146108225780635ca5adbe146108e9576101d3565b8063404bf3eb1461068557806344478e79146107595780634b20f45f14610775576101d3565b80631c249912116101b15780631c2499121461044c5780633bc07dea146104cb5780633cf5f33b1461059a5780633f25c28814610617576101d3565b806304e81f1e146101d85780631b04c276146102615780631b6102201461033e575b600080fd5b61025f600480360360808110156101ee57600080fd5b810190602081018135602060020a81111561020857600080fd5b82018360208201111561021a57600080fd5b803590602001918460018302840111602060020a8311171561023b57600080fd5b9193509150600160a060020a038135811691602081013591604090910135166115b2565b005b61025f600480360360c081101561027757600080fd5b810190602081018135602060020a81111561029157600080fd5b8201836020820111156102a357600080fd5b803590602001918460018302840111602060020a831117156102c457600080fd5b919390929091602081019035602060020a8111156102e157600080fd5b8201836020820111156102f357600080fd5b803590602001918460018302840111602060020a8311171561031457600080fd5b91935091508035906020810135151590604081013515159060600135600160a060020a031661181e565b61025f6004803603606081101561035457600080fd5b810190602081018135602060020a81111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460018302840111602060020a831117156103a157600080fd5b919390929091602081019035602060020a8111156103be57600080fd5b8201836020820111156103d057600080fd5b803590602001918460018302840111602060020a831117156103f157600080fd5b919390929091602081019035602060020a81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460018302840111602060020a8311171561044157600080fd5b509092509050611af9565b61025f6004803603606081101561046257600080fd5b810190602081018135602060020a81111561047c57600080fd5b82018360208201111561048e57600080fd5b803590602001918460018302840111602060020a831117156104af57600080fd5b9193509150600160a060020a0381358116916020013516611c3b565b61025f600480360360808110156104e157600080fd5b810190602081018135602060020a8111156104fb57600080fd5b82018360208201111561050d57600080fd5b803590602001918460018302840111602060020a8311171561052e57600080fd5b919390929091602081019035602060020a81111561054b57600080fd5b82018360208201111561055d57600080fd5b803590602001918460018302840111602060020a8311171561057e57600080fd5b9193509150600160a060020a0381358116916020013516611f53565b61025f600480360360608110156105b057600080fd5b810190602081018135602060020a8111156105ca57600080fd5b8201836020820111156105dc57600080fd5b803590602001918460018302840111602060020a831117156105fd57600080fd5b919350915080359060200135600160a060020a0316612534565b61025f6004803603602081101561062d57600080fd5b810190602081018135602060020a81111561064757600080fd5b82018360208201111561065957600080fd5b803590602001918460018302840111602060020a8311171561067a57600080fd5b509092509050612855565b61025f6004803603608081101561069b57600080fd5b810190602081018135602060020a8111156106b557600080fd5b8201836020820111156106c757600080fd5b803590602001918460018302840111602060020a831117156106e857600080fd5b91939092600160a060020a0383351692604081019060200135602060020a81111561071257600080fd5b82018360208201111561072457600080fd5b803590602001918460018302840111602060020a8311171561074557600080fd5b919350915035600160a060020a0316612a82565b610761612e62565b604080519115158252519081900360200190f35b61025f6004803603606081101561078b57600080fd5b810190602081018135602060020a8111156107a557600080fd5b8201836020820111156107b757600080fd5b803590602001918460018302840111602060020a831117156107d857600080fd5b9193509150600160a060020a0381358116916020013516612f9a565b6107616131fc565b61025f6004803603602081101561081257600080fd5b5035600160a060020a0316613206565b61025f6004803603606081101561083857600080fd5b810190602081018135602060020a81111561085257600080fd5b82018360208201111561086457600080fd5b803590602001918460018302840111602060020a8311171561088557600080fd5b919390929091602081019035602060020a8111156108a257600080fd5b8201836020820111156108b457600080fd5b803590602001918460018302840111602060020a831117156108d557600080fd5b919350915035600160a060020a0316613540565b61025f600480360360608110156108ff57600080fd5b810190602081018135602060020a81111561091957600080fd5b82018360208201111561092b57600080fd5b803590602001918460018302840111602060020a8311171561094c57600080fd5b919390929091602081019035602060020a81111561096957600080fd5b82018360208201111561097b57600080fd5b803590602001918460018302840111602060020a8311171561099c57600080fd5b919350915035600160a060020a03166137d5565b61025f600480360360608110156109c657600080fd5b810190602081018135602060020a8111156109e057600080fd5b8201836020820111156109f257600080fd5b803590602001918460018302840111602060020a83111715610a1357600080fd5b919390929091602081019035602060020a811115610a3057600080fd5b820183602082011115610a4257600080fd5b803590602001918460018302840111602060020a83111715610a6357600080fd5b919350915035600160a060020a0316613cb0565b61076160048036036040811015610a8d57600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610ab757600080fd5b820183602082011115610ac957600080fd5b803590602001918460018302840111602060020a83111715610aea57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613f2d945050505050565b61025f60048036036060811015610b4157600080fd5b810190602081018135602060020a811115610b5b57600080fd5b820183602082011115610b6d57600080fd5b803590602001918460018302840111602060020a83111715610b8e57600080fd5b9193509150600160a060020a0381358116916020013516614031565b61025f60048036036080811015610bc057600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610bea57600080fd5b820183602082011115610bfc57600080fd5b803590602001918460018302840111602060020a83111715610c1d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050602060020a811115610c6f57600080fd5b820183602082011115610c8157600080fd5b803590602001918460018302840111602060020a83111715610ca257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050509035600160a060020a031691506144b59050565b61076160048036036040811015610d0457600080fd5b600160a060020a038235169190810190604081016020820135602060020a811115610d2e57600080fd5b820183602082011115610d4057600080fd5b803590602001918460018302840111602060020a83111715610d6157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506149df945050505050565b61025f60048036036040811015610db857600080fd5b5080359060200135614db3565b61025f60048036036080811015610ddb57600080fd5b810190602081018135602060020a811115610df557600080fd5b820183602082011115610e0757600080fd5b803590602001918460018302840111602060020a83111715610e2857600080fd5b919390929091602081019035602060020a811115610e4557600080fd5b820183602082011115610e5757600080fd5b803590602001918460018302840111602060020a83111715610e7857600080fd5b919390929091602081019035602060020a811115610e9557600080fd5b820183602082011115610ea757600080fd5b803590602001918460018302840111602060020a83111715610ec857600080fd5b919350915035600160a060020a03166152b3565b61025f60048036036060811015610ef257600080fd5b810190602081018135602060020a811115610f0c57600080fd5b820183602082011115610f1e57600080fd5b803590602001918460018302840111602060020a83111715610f3f57600080fd5b919350915080359060200135600160a060020a03166156d8565b61025f60048036036060811015610f6f57600080fd5b810190602081018135602060020a811115610f8957600080fd5b820183602082011115610f9b57600080fd5b803590602001918460018302840111602060020a83111715610fbc57600080fd5b919390929091602081019035602060020a811115610fd957600080fd5b820183602082011115610feb57600080fd5b803590602001918460018302840111602060020a8311171561100c57600080fd5b919350915035600160a060020a0316615a4a565b611028615d7f565b604080518215156060820152608080825286519082015285519091829160208084019284019160a08501918a019080838360005b8381101561107457818101518382015260200161105c565b50505050905090810190601f1680156110a15780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b838110156110d45781810151838201526020016110bc565b50505050905090810190601f1680156111015780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b8381101561113457818101518382015260200161111c565b50505050905090810190601f1680156111615780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b6107616004803603602081101561118a57600080fd5b5035600160a060020a0316615f52565b61025f600480360360808110156111b057600080fd5b810190602081018135602060020a8111156111ca57600080fd5b8201836020820111156111dc57600080fd5b803590602001918460018302840111602060020a831117156111fd57600080fd5b919390929091602081019035602060020a81111561121a57600080fd5b82018360208201111561122c57600080fd5b803590602001918460018302840111602060020a8311171561124d57600080fd5b919350915080359060200135600160a060020a031661616c565b6112d56004803603602081101561127d57600080fd5b810190602081018135602060020a81111561129757600080fd5b8201836020820111156112a957600080fd5b803590602001918460018302840111602060020a831117156112ca57600080fd5b5090925090506163dd565b60405180806020018060200185600160a060020a0316600160a060020a03168152602001848152602001838103835287818151815260200191508051906020019080838360005b8381101561133457818101518382015260200161131c565b50505050905090810190601f1680156113615780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b8381101561139457818101518382015260200161137c565b50505050905090810190601f1680156113c15780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61025f600480360360808110156113e957600080fd5b810190602081018135602060020a81111561140357600080fd5b82018360208201111561141557600080fd5b803590602001918460018302840111602060020a8311171561143657600080fd5b919390929091602081019035602060020a81111561145357600080fd5b82018360208201111561146557600080fd5b803590602001918460018302840111602060020a8311171561148657600080fd5b919390929091602081019035602060020a8111156114a357600080fd5b8201836020820111156114b557600080fd5b803590602001918460018302840111602060020a831117156114d657600080fd5b919350915035151561655c565b61025f600480360360808110156114f957600080fd5b810190602081018135602060020a81111561151357600080fd5b82018360208201111561152557600080fd5b803590602001918460018302840111602060020a8311171561154657600080fd5b919390929091602081019035602060020a81111561156357600080fd5b82018360208201111561157557600080fd5b803590602001918460018302840111602060020a8311171561159657600080fd5b9193509150600160a060020a038135811691602001351661664b565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561160357600080fd5b505afa158015611617573d6000803e3d6000fd5b505050506040513d602081101561162d57600080fd5b5051600160a060020a031633146116785760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b8085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116bc92508491508390506149df565b15156001146116ff5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174076022913960400191505060405180910390fd5b836001148061170e5750836002145b806117195750836003145b15156117595760405160e560020a62461bcd0281526004018080602001828103825260258152602001806173946025913960400191505060405180910390fd5b6000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a03878116602483015260448201879052606060048301908152606483018a90529216916384b7a84a918a918a918a918a918190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117fd57600080fd5b505af1158015611811573d6000803e3d6000fd5b5050505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561186f57600080fd5b505afa158015611883573d6000803e3d6000fd5b505050506040513d602081101561189957600080fd5b5051600160a060020a031633146118e45760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119269250839150616c399050565b151560011461196d576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020617354833981519152604482015290519081900360640190fd5b8187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119b192508491508390506149df565b15156001146119f45760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174076022913960400191505060405180910390fd5b6001546040517f7b713579000000000000000000000000000000000000000000000000000000008152604481018990528715156064820152861515608482015260a06004820190815260a482018d9052600160a060020a0390921691637b713579918e918e918e918e918e918e918e91908190602481019060c4018a8a80828437600083820152601f01601f191690910184810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050505050505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611b4a57600080fd5b505afa158015611b5e573d6000803e3d6000fd5b505050506040513d6020811015611b7457600080fd5b5051600160a060020a03163314611bbf5760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b600a5460009060ff1615611c0b576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020617374833981519152604482015290519081900360640190fd5b611c17600688886172c5565b50611c24600786866172c5565b50611c31600884846172c5565b5050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611c8c57600080fd5b505afa158015611ca0573d6000803e3d6000fd5b505050506040513d6020811015611cb657600080fd5b5051600160a060020a03163314611d015760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b80611d0b81615f52565b1515600114611d4e5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b6000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a03858116602483015260046044830181905260608382019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611df657600080fd5b505af1158015611e0a573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d028152600160a060020a03888116606483015260066084830181905260a060048401908152815460001960018216156101000201169590950460a4840181905291909316955063e98ac22d945091928a928a928a928692909182916024820191604481019160c49091019086908015611ed75780601f10611eac57610100808354040283529160200191611ed7565b820191906000526020600020905b815481529060010190602001808311611eba57829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015611f3457600080fd5b505af1158015611f48573d6000803e3d6000fd5b505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611fa457600080fd5b505afa158015611fb8573d6000803e3d6000fd5b505050506040513d6020811015611fce57600080fd5b5051600160a060020a031633146120195760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b8061202381615f52565b15156001146120665760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b6120a887878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250616d3e915050565b1515600114612101576040805160e560020a62461bcd02815260206004820152601260248201527f4e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261219b939092909183018282801561218e5780601f106121635761010080835404028352916020019161218e565b820191906000526020600020905b81548152906001019060200180831161217157829003601f168201915b5050505050836001616dc1565b1561252b57600480546040517fe3028316000000000000000000000000000000000000000000000000000000008152602092810192835260248101899052600160a060020a039091169163e3028316918a918a918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561223057600080fd5b505af1158015612244573d6000803e3d6000fd5b5050600180546009546040517f7b71357900000000000000000000000000000000000000000000000000000000815260448101829052606481018490526084810184905260a0600482019081526008805460026000198289161561010002019091160460a48401819052600160a060020a039095169750637b7135799650948e948e94939192839290918291602481019160c4909101908a90801561232a5780601f106122ff5761010080835404028352916020019161232a565b820191906000526020600020905b81548152906001019060200180831161230d57829003601f168201915b50508381038252878152602001888880828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b15801561237857600080fd5b505af115801561238c573d6000803e3d6000fd5b5050600354604080517f86bc36520000000000000000000000000000000000000000000000000000000081526004810191825260448101899052600160a060020a0390921693506386bc36529250889188918c918c919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561244f57600080fd5b505af1158015612463573d6000803e3d6000fd5b5050600054604080517fc214e5e5000000000000000000000000000000000000000000000000000000008152600160a060020a03888116602483015260048201928352604482018c9052909216935063c214e5e592508a918a9188918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561250157600080fd5b505af1158015612515573d6000803e3d6000fd5b505050506040513d6020811015611f4857600080fd5b50505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561258557600080fd5b505afa158015612599573d6000803e3d6000fd5b505050506040513d60208110156125af57600080fd5b5051600160a060020a031633146125fa5760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b8061260481615f52565b15156001146126475760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b60048054604080517f0cc274930000000000000000000000000000000000000000000000000000000081526024810187905292830190815260448301879052600092600160a060020a0390921691630cc27493918991899189918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156126e357600080fd5b505af11580156126f7573d6000803e3d6000fd5b505050506040513d602081101561270d57600080fd5b50516002805460405160e060020a63e98ac22d0281526000606482018190526084820185905260a0600483019081526006805460001960018216156101000201169590950460a48401819052959650600160a060020a039093169463e98ac22d94938c938c939289929182916024820191604481019160c4909101908a9080156127d85780601f106127ad576101008083540402835291602001916127d8565b820191906000526020600020905b8154815290600101906020018083116127bb57829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b15801561283557600080fd5b505af1158015612849573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156128a657600080fd5b505afa1580156128ba573d6000803e3d6000fd5b505050506040513d60208110156128d057600080fd5b5051600160a060020a0316331461291b5760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b600a5460009060ff1615612967576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020617374833981519152604482015290519081900360640190fd5b600354604080517fe3b09d840000000000000000000000000000000000000000000000000000000081526004810191825260448101859052600160a060020a039092169163e3b09d84918691869160069181906024810190606401868680828437600083820152601f01601f191690910184810383528554600260001961010060018416150201909116048082526020909101915085908015612a4b5780601f10612a2057610100808354040283529160200191612a4b565b820191906000526020600020905b815481529060010190602001808311612a2e57829003601f168201915b505095505050505050600060405180830381600087803b158015612a6e57600080fd5b505af115801561252b573d6000803e3d6000fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612ad357600080fd5b505afa158015612ae7573d6000803e3d6000fd5b505050506040513d6020811015612afd57600080fd5b5051600160a060020a03163314612b485760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612b8a9250839150616ed19050565b1515600114612be3576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b81612bed81615f52565b1515600114612c305760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d938b938e938e938d938d9391929190604481019060a401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612d0957600080fd5b505af1158015612d1d573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d028152600160a060020a038b8116606483015260046084830181905260a08382019081526006805460001960018216156101000201169690960460a4850181905292909416965063e98ac22d95508e938e938e9382916024810191604482019160c401908a908015612de35780601f10612db857610100808354040283529160200191612de3565b820191906000526020600020905b815481529060010190602001808311612dc657829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015612e4057600080fd5b505af1158015612e54573d6000803e3d6000fd5b505050505050505050505050565b600554604080517fe572515c0000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163e572515c916004808301926020929190829003018186803b158015612ec057600080fd5b505afa158015612ed4573d6000803e3d6000fd5b505050506040513d6020811015612eea57600080fd5b5051600160a060020a03163314612f355760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b600a5460009060ff1615612f81576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020617374833981519152604482015290519081900360640190fd5b600a805460ff19166001179081905560ff1691505b5090565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015612feb57600080fd5b505afa158015612fff573d6000803e3d6000fd5b505050506040513d602081101561301557600080fd5b5051600160a060020a031633146130605760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b8061306a81615f52565b15156001146130ad5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152613147939092909183018282801561313a5780601f1061310f5761010080835404028352916020019161313a565b820191906000526020600020905b81548152906001019060200180831161311d57829003601f168201915b5050505050836006616dc1565b156131f5576000546040517f84b7a84a000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660248301526005604483018190526060600484019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611f3457600080fd5b5050505050565b600a5460ff165b90565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561325757600080fd5b505afa15801561326b573d6000803e3d6000fd5b505050506040513d602081101561328157600080fd5b5051600160a060020a031633146132cc5760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b600a5460009060ff1615613318576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020617374833981519152604482015290519081900360640190fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526133b293909290918301828280156133a55780601f1061337a576101008083540402835291602001916133a5565b820191906000526020600020905b81548152906001019060200180831161338857829003601f168201915b5050505050836001616f96565b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830190815260026064840181905260806024850190815260068054600019600182161561010002011683900460848701819052949096169563e3483a9d95899591946007949390929091604481019160a4909101908790801561348c5780601f106134615761010080835404028352916020019161348c565b820191906000526020600020905b81548152906001019060200180831161346f57829003601f168201915b50508381038252855460026000196101006001841615020190911604808252602090910190869080156135005780601f106134d557610100808354040283529160200191613500565b820191906000526020600020905b8154815290600101906020018083116134e357829003601f168201915b50509650505050505050600060405180830381600087803b15801561352457600080fd5b505af1158015613538573d6000803e3d6000fd5b505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561359157600080fd5b505afa1580156135a5573d6000803e3d6000fd5b505050506040513d60208110156135bb57600080fd5b5051600160a060020a031633146136065760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506136489250839150616c399050565b151560011461368f576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020617354833981519152604482015290519081900360640190fd5b8186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506136d392508491508390506149df565b15156001146137165760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174076022913960400191505060405180910390fd5b600354604080517f3f5e1a450000000000000000000000000000000000000000000000000000000081526004810191825260448101889052600160a060020a0390921691633f5e1a4591899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612e4057600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561382657600080fd5b505afa15801561383a573d6000803e3d6000fd5b505050506040513d602081101561385057600080fd5b5051600160a060020a0316331461389b5760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506138dd9250839150616c399050565b1515600114613924576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020617354833981519152604482015290519081900360640190fd5b8184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061396892508491508390506149df565b15156001146139ab5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174076022913960400191505060405180910390fd5b6040805160208082019081526007805460026000196101006001841615020190911604938301849052929091829160609091019084908015613a2e5780601f10613a0357610100808354040283529160200191613a2e565b820191906000526020600020905b815481529060010190602001808311613a1157829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015613b9b57506040805160208082019081526008805460026000196101006001841615020190911604938301849052929091829160609091019084908015613b295780601f10613afe57610100808354040283529160200191613b29565b820191906000526020600020905b815481529060010190602001808311613b0c57829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014155b1515613bf1576040805160e560020a62461bcd02815260206004820152601d60248201527f61646d696e20726f6c65732063616e6e6f742062652072656d6f766564000000604482015290519081900360640190fd5b600154604080517fa634301200000000000000000000000000000000000000000000000000000000815260048101918252604481018a9052600160a060020a039092169163a6343012918b918b918b918b919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612e4057600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015613d0157600080fd5b505afa158015613d15573d6000803e3d6000fd5b505050506040513d6020811015613d2b57600080fd5b5051600160a060020a03163314613d765760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b80613d8081615f52565b1515600114613dc35760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152613e5d9390929091830182828015613e505780601f10613e2557610100808354040283529160200191613e50565b820191906000526020600020905b815481529060010190602001808311613e3357829003601f168201915b5050505050836005616dc1565b15613538576003546040517f0cc5014600000000000000000000000000000000000000000000000000000000815260056044820181905260606004830190815260648301879052600160a060020a0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561283557600080fd5b60008054604080517f6b568d76000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301908152602483019384528651604484015286519190941693636b568d76938893889360649091019060208501908083838c5b83811015613fb1578181015183820152602001613f99565b50505050905090810190601f168015613fde5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015613ffc57600080fd5b505afa158015614010573d6000803e3d6000fd5b505050506040513d602081101561402657600080fd5b505190505b92915050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561408257600080fd5b505afa158015614096573d6000803e3d6000fd5b505050506040513d60208110156140ac57600080fd5b5051600160a060020a031633146140f75760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b8061410181615f52565b15156001146141445760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526141de93909290918301828280156141d15780601f106141a6576101008083540402835291602001916141d1565b820191906000526020600020905b8154815290600101906020018083116141b457829003601f168201915b5050505050836004616dc1565b156131f557600080546040517f1d09dc93000000000000000000000000000000000000000000000000000000008152602060048201908152602482018890528392600160a060020a031691631d09dc93918a918a91908190604401848480828437600081840152601f19601f82011690508083019250505093505050506040805180830381600087803b15801561427457600080fd5b505af1158015614288573d6000803e3d6000fd5b505050506040513d604081101561429e57600080fd5b5080516020909101519092509050811561434c5760068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261434c939092909183018282801561433f5780601f106143145761010080835404028352916020019161433f565b820191906000526020600020905b81548152906001019060200180831161432257829003601f168201915b5050505050826000616f96565b60008054604080517fc214e5e5000000000000000000000000000000000000000000000000000000008152600160a060020a03898116602483015260048201928352604482018b90529092169163c214e5e5918b918b918b918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156143e757600080fd5b505af11580156143fb573d6000803e3d6000fd5b505050506040513d602081101561441157600080fd5b505190508015611c315760068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152611c3193909290918301828280156144a85780601f1061447d576101008083540402835291602001916144a8565b820191906000526020600020905b81548152906001019060200180831161448b57829003601f168201915b5050505050876001616f96565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561450657600080fd5b505afa15801561451a573d6000803e3d6000fd5b505050506040513d602081101561453057600080fd5b5051600160a060020a0316331461457b5760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b808361458782826149df565b15156001146145ca5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174076022913960400191505060405180910390fd5b846145d481616c39565b151560011461461b576040805160e560020a62461bcd02815260206004820152601a6024820152600080516020617354833981519152604482015290519081900360640190fd5b6146258787613f2d565b151560011461467e576040805160e560020a62461bcd02815260206004820152601d60248201527f6f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b6146888587617158565b15156001146146e1576040805160e560020a62461bcd02815260206004820152601460248201527f726f6c6520646f6573206e6f7420657869737473000000000000000000000000604482015290519081900360640190fd5b600154600090600160a060020a031663be322e54878961470081617173565b6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561475757818101518382015260200161473f565b50505050905090810190601f1680156147845780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156147b757818101518382015260200161479f565b50505050905090810190601f1680156147e45780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b838110156148175781810151838201526020016147ff565b50505050905090810190601f1680156148445780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561486557600080fd5b505afa158015614879573d6000803e3d6000fd5b505050506040513d602081101561488f57600080fd5b5051600080546040517f143a5604000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830190815285151560648401526080602484019081528d5160848501528d51969750919093169463143a5604948e948e948e948a9492939092604483019260a401916020890191908190849084905b8381101561492f578181015183820152602001614917565b50505050905090810190601f16801561495c5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b8381101561498f578181015183820152602001614977565b50505050905090810190601f1680156149bc5780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015612e4057600080fd5b60008054600160a060020a031663e8b42bf484846149fc81617173565b6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015614a67578181015183820152602001614a4f565b50505050905090810190601f168015614a945780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015614ac7578181015183820152602001614aaf565b50505050905090810190601f168015614af45780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b158015614b1457600080fd5b505afa158015614b28573d6000803e3d6000fd5b505050506040513d6020811015614b3e57600080fd5b505115614b4d5750600161402b565b60015460008054604080517f81d66b23000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015291519482169463be322e549493909216926381d66b2392602480840193829003018186803b158015614bbc57600080fd5b505afa158015614bd0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015614bf957600080fd5b810190808051602060020a811115614c1057600080fd5b82016020810184811115614c2357600080fd5b8151602060020a811182820187101715614c3c57600080fd5b505092919050505084614c4e86617173565b6040518463ffffffff1660e060020a02815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015614ca5578181015183820152602001614c8d565b50505050905090810190601f168015614cd25780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015614d05578181015183820152602001614ced565b50505050905090810190601f168015614d325780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015614d65578181015183820152602001614d4d565b50505050905090810190601f168015614d925780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b158015613ffc57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015614e0457600080fd5b505afa158015614e18573d6000803e3d6000fd5b505050506040513d6020811015614e2e57600080fd5b5051600160a060020a03163314614e795760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b600a5460009060ff1615614ec5576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020617374833981519152604482015290519081900360640190fd5b600480546040517f9e58eb9f00000000000000000000000000000000000000000000000000000000815260248101869052604481018590526060928101928352600680546002600019600183161561010002019091160460648301819052600160a060020a0390931693639e58eb9f9391928892889291829160849091019086908015614f935780601f10614f6857610100808354040283529160200191614f93565b820191906000526020600020905b815481529060010190602001808311614f7657829003601f168201915b5050945050505050600060405180830381600087803b158015614fb557600080fd5b505af1158015614fc9573d6000803e3d6000fd5b5050600180546009546040517f7b71357900000000000000000000000000000000000000000000000000000000815260448101829052606481018490526084810184905260a0600482019081526007805460026000198289161561010002019091160460a48401819052600160a060020a039095169750637b71357996509460069490928392918291602481019160c490910190899080156150ac5780601f10615081576101008083540402835291602001916150ac565b820191906000526020600020905b81548152906001019060200180831161508f57829003601f168201915b50508381038252875460026000196101006001841615020190911604808252602090910190889080156151205780601f106150f557610100808354040283529160200191615120565b820191906000526020600020905b81548152906001019060200180831161510357829003601f168201915b5050975050505050505050600060405180830381600087803b15801561514557600080fd5b505af1158015615159573d6000803e3d6000fd5b5050600054604080517fcef7f6af00000000000000000000000000000000000000000000000000000000815260048101918252600780546002600019600183161561010002019091160460448301819052600160a060020a03909416955063cef7f6af9450926008929182916024820191606401908690801561521d5780601f106151f25761010080835404028352916020019161521d565b820191906000526020600020905b81548152906001019060200180831161520057829003601f168201915b50508381038252845460026000196101006001841615020190911604808252602090910190859080156152915780601f1061526657610100808354040283529160200191615291565b820191906000526020600020905b81548152906001019060200180831161527457829003601f168201915b5050945050505050600060405180830381600087803b158015612a6e57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561530457600080fd5b505afa158015615318573d6000803e3d6000fd5b505050506040513d602081101561532e57600080fd5b5051600160a060020a031633146153795760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506153bb9250839150616ed19050565b1515600114615414576040805160e560020a62461bcd02815260206004820152601260248201527f6f726720646f6573206e6f742065786973740000000000000000000000000000604482015290519081900360640190fd5b8188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061545892508491508390506149df565b151560011461549b5760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174076022913960400191505060405180910390fd5b60048054604080517f1f953480000000000000000000000000000000000000000000000000000000008152928301908152604483018c9052600160a060020a0390911691631f953480918d918d918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561555a57600080fd5b505af115801561556e573d6000803e3d6000fd5b5050505060608a8a8a8a604051602001808585808284377f2e00000000000000000000000000000000000000000000000000000000000000920191825250600101838380828437808301925050509450505050506040516020818303038152906040529050600087879050111561181157600354604080517f3f5e1a450000000000000000000000000000000000000000000000000000000081526004810191825260448101899052600160a060020a0390921691633f5e1a45918a918a918691819060248101906064018686808284376000838201819052601f909101601f191690920185810384528651815286516020918201939188019250908190849084905b83811015615689578181015183820152602001615671565b50505050905090810190601f1680156156b65780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611ad457600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561572957600080fd5b505afa15801561573d573d6000803e3d6000fd5b505050506040513d602081101561575357600080fd5b5051600160a060020a0316331461579e5760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b806157a881615f52565b15156001146157eb5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b82600114806157fa5750826002145b1515615850576040805160e560020a62461bcd02815260206004820152601560248201527f4f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60008084600114156158685750600290506003615879565b846002141561587957506003905060055b6158ba87878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250616d3e915050565b1515600114615913576040805160e560020a62461bcd02815260206004820152601560248201527f6f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526159ac93909290918301828280156159a05780601f10615975576101008083540402835291602001916159a0565b820191906000526020600020905b81548152906001019060200180831161598357829003601f168201915b50505050508584616dc1565b1561252b5760048054604080517f14f775f90000000000000000000000000000000000000000000000000000000081526024810189905292830190815260448301899052600160a060020a03909116916314f775f9918a918a918a918190606401858580828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b1580156117fd57600080fd5b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b158015615a9b57600080fd5b505afa158015615aaf573d6000803e3d6000fd5b505050506040513d6020811015615ac557600080fd5b5051600160a060020a03163314615b105760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b80615b1a81615f52565b1515600114615b5d5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b6003546040517f0cc50146000000000000000000000000000000000000000000000000000000008152600460448201819052606082820190815260648301879052600160a060020a0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015615c2757600080fd5b505af1158015615c3b573d6000803e3d6000fd5b50506002805460405160e060020a63e98ac22d02815260006064820181905260056084830181905260a0600484019081526006805460001960018216156101000201169690960460a48501819052600160a060020a03909516975063e98ac22d96508d948d948d948d9490939092909182916024820191604481019160c4909101908c908015615d0c5780601f10615ce157610100808354040283529160200191615d0c565b820191906000526020600020905b815481529060010190602001808311615cef57829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561283557600080fd5b600a5460068054604080516020601f6002600019600187161561010002019095169490940493840181900481028201810190925282815260609485948594600094919360079360089360ff909116928691830182828015615e215780601f10615df657610100808354040283529160200191615e21565b820191906000526020600020905b815481529060010190602001808311615e0457829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295995088945092508401905082828015615eaf5780601f10615e8457610100808354040283529160200191615eaf565b820191906000526020600020905b815481529060010190602001808311615e9257829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295985087945092508401905082828015615f3d5780601f10615f1257610100808354040283529160200191615f3d565b820191906000526020600020905b815481529060010190602001808311615f2057829003601f168201915b50505050509150935093509350935090919293565b60408051602080820190815260078054600260001961010060018416150201909116049383018490526000939092829160609091019084908015615fd75780601f10615fac57610100808354040283529160200191615fd7565b820191906000526020600020905b815481529060010190602001808311615fba57829003601f168201915b505060408051601f198184030181528282528051602090910120600080547f81d66b23000000000000000000000000000000000000000000000000000000008552600160a060020a038a8116600487015293519297509290921694506381d66b239350602480840193829003018186803b15801561605457600080fd5b505afa158015616068573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561609157600080fd5b810190808051602060020a8111156160a857600080fd5b820160208101848111156160bb57600080fd5b8151602060020a8111828201871017156160d457600080fd5b50509291905050506040516020018080602001828103825283818151815260200191508051906020019080838360005b8381101561611c578181015183820152602001616104565b50505050905090810190601f1680156161495780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120149050919050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156161bd57600080fd5b505afa1580156161d1573d6000803e3d6000fd5b505050506040513d60208110156161e757600080fd5b5051600160a060020a031633146162325760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b8086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061627692508491508390506149df565b15156001146162b95760405160e560020a62461bcd0281526004018080602001828103825260228152602001806174076022913960400191505060405180910390fd5b83600114806162c85750836002145b806162d35750836003145b15156163135760405160e560020a62461bcd0281526004018080602001828103825260258152602001806173946025913960400191505060405180910390fd5b6003546040517f0cc501460000000000000000000000000000000000000000000000000000000081526044810186905260606004820190815260648201889052600160a060020a0390921691630cc5014691899189918d918d918b919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015612e4057600080fd5b6002546040517f014e6acc0000000000000000000000000000000000000000000000000000000081526020600482019081526024820184905260609283926000928392600160a060020a03169163014e6acc9189918991908190604401848480828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561647457600080fd5b505afa158015616488573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156164b157600080fd5b810190808051602060020a8111156164c857600080fd5b820160208101848111156164db57600080fd5b8151602060020a8111828201871017156164f457600080fd5b50509291906020018051602060020a81111561650f57600080fd5b8201602081018481111561652257600080fd5b8151602060020a81118282018710171561653b57600080fd5b50506020820151604090920151949b909a5090985092965091945050505050565b600554600160a060020a031633146165be576040805160e560020a62461bcd02815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b600a5460009060ff161561660a576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020617374833981519152604482015290519081900360640190fd5b616616600689896172c5565b50616623600787876172c5565b50616630600885856172c5565b5050600a805460ff1916911515919091179055505050505050565b600560009054906101000a9004600160a060020a0316600160a060020a031663e572515c6040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561669c57600080fd5b505afa1580156166b0573d6000803e3d6000fd5b505050506040513d60208110156166c657600080fd5b5051600160a060020a031633146167115760405160e560020a62461bcd0281526004018080602001828103825260288152602001806173b96028913960400191505060405180910390fd5b600a5460019060ff1615158114616760576040805160e560020a62461bcd02815260206004820152601d6024820152600080516020617374833981519152604482015290519081900360640190fd5b8161676a81615f52565b15156001146167ad5760405160e560020a62461bcd0281526004018080602001828103825260268152602001806173e16026913960400191505060405180910390fd5b6002805460405160e060020a63e98ac22d028152600160a060020a03878116606483015260016084830181905260a06004840190815260068054600019818516156101000201169690960460a48501819052929094169463e98ac22d9490938e938e938e938e938e9382916024810191604482019160c401908c9080156168755780601f1061684a57610100808354040283529160200191616875565b820191906000526020600020905b81548152906001019060200180831161685857829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b1580156168e857600080fd5b505af11580156168fc573d6000803e3d6000fd5b5050600480546040517ff9953de50000000000000000000000000000000000000000000000000000000081526020928101928352602481018c9052600160a060020a03909116935063f9953de592508b918b918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561699057600080fd5b505af11580156169a4573d6000803e3d6000fd5b5050600354604080517fa97a440600000000000000000000000000000000000000000000000000000000815260048101918252604481018a9052600160a060020a03909216935063a97a44069250899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015616a6757600080fd5b505af1158015616a7b573d6000803e3d6000fd5b50505050616abf8489898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613f2d92505050565b1515600114616b18576040805160e560020a62461bcd02815260206004820152601d60248201527f4f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b6000546040517fe3483a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d9389938e938e93600893909290604481019060a401878780828437600083820152601f01601f191690910184810383528654600260001961010060018416150201909116048082526020909101915086908015616c145780601f10616be957610100808354040283529160200191616c14565b820191906000526020600020905b815481529060010190602001808311616bf757829003601f168201915b5050975050505050505050600060405180830381600087803b158015612e4057600080fd5b60048054604080517f8c8642df000000000000000000000000000000000000000000000000000000008152600260248201819052938101918252845160448201528451600094600160a060020a0390941693638c8642df93879391929091829160649091019060208601908083838c5b83811015616cc1578181015183820152602001616ca9565b50505050905090810190601f168015616cee5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015616d0c57600080fd5b505afa158015616d20573d6000803e3d6000fd5b505050506040513d6020811015616d3657600080fd5b505192915050565b60048054604080517f8c8642df00000000000000000000000000000000000000000000000000000000815260248101859052928301908152845160448401528451600093600160a060020a0390931692638c8642df9287928792829160649091019060208601908083838c83811015613fb1578181015183820152602001613f99565b6002546040517fb0213864000000000000000000000000000000000000000000000000000000008152600160a060020a03848116602483015260448201849052606060048301908152865160648401528651600094929092169263b02138649288928892889282916084019060208701908083838d5b83811015616e4f578181015183820152602001616e37565b50505050905090810190601f168015616e7c5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015616e9d57600080fd5b505af1158015616eb1573d6000803e3d6000fd5b505050506040513d6020811015616ec757600080fd5b5051949350505050565b600480546040517fffe40d1d0000000000000000000000000000000000000000000000000000000081526020928101838152845160248301528451600094600160a060020a039094169363ffe40d1d9387939283926044909201918501908083838b5b83811015616f4c578181015183820152602001616f34565b50505050905090810190601f168015616f795780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b158015616d0c57600080fd5b801561708657600254604080517f5607395b000000000000000000000000000000000000000000000000000000008152600160a060020a03858116602483015260048201928352865160448301528651931692635607395b9287928792829160640190602086019080838360005b8381101561701c578181015183820152602001617004565b50505050905090810190601f1680156170495780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561706957600080fd5b505af115801561707d573d6000803e3d6000fd5b50505050617153565b600254604080517f59cbd6fe000000000000000000000000000000000000000000000000000000008152600160a060020a038581166024830152600482019283528651604483015286519316926359cbd6fe9287928792829160640190602086019080838360005b838110156171065781810151838201526020016170ee565b50505050905090810190601f1680156171335780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612a6e57600080fd5b505050565b600154600090600160a060020a031663abf5739f8484614c4e815b600480546040517f177c8d8a0000000000000000000000000000000000000000000000000000000081526020928101838152845160248301528451606094600160a060020a039094169363177c8d8a93879392839260449092019185019080838360005b838110156171ef5781810151838201526020016171d7565b50505050905090810190601f16801561721c5780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b15801561723957600080fd5b505afa15801561724d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561727657600080fd5b810190808051602060020a81111561728d57600080fd5b820160208101848111156172a057600080fd5b8151602060020a8111828201871017156172b957600080fd5b50909695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106173065782800160ff19823516178555617333565b82800160010185558215617333579182015b82811115617333578235825591602001919060010190617318565b50612f96926132039250905b80821115612f96576000815560010161733f56fe6f7267206e6f7420696e20617070726f76656420737461747573000000000000496e636f7272656374206e6574776f726b20626f6f7420737461747573000000696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f77656463616e2062652063616c6c656420627920696e7465726661636520636f6e7472616374206f6e6c796163636f756e74206973206e6f742061206e6574776f726b2061646d696e206163636f756e746163636f756e74206973206e6f742061206f72672061646d696e206163636f756e74a165627a7a7230582075d7685160113f65122a5b704814adf275ee53e84d62f90520938fb766d14a760029"
    35  
    36  // DeployPermImpl deploys a new Ethereum contract, binding an instance of PermImpl to it.
    37  func DeployPermImpl(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address, _orgManager common.Address, _rolesManager common.Address, _accountManager common.Address, _voterManager common.Address, _nodeManager common.Address) (common.Address, *types.Transaction, *PermImpl, error) {
    38  	parsed, err := abi.JSON(strings.NewReader(PermImplABI))
    39  	if err != nil {
    40  		return common.Address{}, nil, nil, err
    41  	}
    42  
    43  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(PermImplBin), backend, _permUpgradable, _orgManager, _rolesManager, _accountManager, _voterManager, _nodeManager)
    44  	if err != nil {
    45  		return common.Address{}, nil, nil, err
    46  	}
    47  	return address, tx, &PermImpl{PermImplCaller: PermImplCaller{contract: contract}, PermImplTransactor: PermImplTransactor{contract: contract}, PermImplFilterer: PermImplFilterer{contract: contract}}, nil
    48  }
    49  
    50  // PermImpl is an auto generated Go binding around an Ethereum contract.
    51  type PermImpl struct {
    52  	PermImplCaller     // Read-only binding to the contract
    53  	PermImplTransactor // Write-only binding to the contract
    54  	PermImplFilterer   // Log filterer for contract events
    55  }
    56  
    57  // PermImplCaller is an auto generated read-only Go binding around an Ethereum contract.
    58  type PermImplCaller struct {
    59  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    60  }
    61  
    62  // PermImplTransactor is an auto generated write-only Go binding around an Ethereum contract.
    63  type PermImplTransactor struct {
    64  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    65  }
    66  
    67  // PermImplFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    68  type PermImplFilterer struct {
    69  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    70  }
    71  
    72  // PermImplSession is an auto generated Go binding around an Ethereum contract,
    73  // with pre-set call and transact options.
    74  type PermImplSession struct {
    75  	Contract     *PermImpl         // Generic contract binding to set the session for
    76  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    77  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    78  }
    79  
    80  // PermImplCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    81  // with pre-set call options.
    82  type PermImplCallerSession struct {
    83  	Contract *PermImplCaller // Generic contract caller binding to set the session for
    84  	CallOpts bind.CallOpts   // Call options to use throughout this session
    85  }
    86  
    87  // PermImplTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    88  // with pre-set transact options.
    89  type PermImplTransactorSession struct {
    90  	Contract     *PermImplTransactor // Generic contract transactor binding to set the session for
    91  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
    92  }
    93  
    94  // PermImplRaw is an auto generated low-level Go binding around an Ethereum contract.
    95  type PermImplRaw struct {
    96  	Contract *PermImpl // Generic contract binding to access the raw methods on
    97  }
    98  
    99  // PermImplCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   100  type PermImplCallerRaw struct {
   101  	Contract *PermImplCaller // Generic read-only contract binding to access the raw methods on
   102  }
   103  
   104  // PermImplTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   105  type PermImplTransactorRaw struct {
   106  	Contract *PermImplTransactor // Generic write-only contract binding to access the raw methods on
   107  }
   108  
   109  // NewPermImpl creates a new instance of PermImpl, bound to a specific deployed contract.
   110  func NewPermImpl(address common.Address, backend bind.ContractBackend) (*PermImpl, error) {
   111  	contract, err := bindPermImpl(address, backend, backend, backend)
   112  	if err != nil {
   113  		return nil, err
   114  	}
   115  	return &PermImpl{PermImplCaller: PermImplCaller{contract: contract}, PermImplTransactor: PermImplTransactor{contract: contract}, PermImplFilterer: PermImplFilterer{contract: contract}}, nil
   116  }
   117  
   118  // NewPermImplCaller creates a new read-only instance of PermImpl, bound to a specific deployed contract.
   119  func NewPermImplCaller(address common.Address, caller bind.ContractCaller) (*PermImplCaller, error) {
   120  	contract, err := bindPermImpl(address, caller, nil, nil)
   121  	if err != nil {
   122  		return nil, err
   123  	}
   124  	return &PermImplCaller{contract: contract}, nil
   125  }
   126  
   127  // NewPermImplTransactor creates a new write-only instance of PermImpl, bound to a specific deployed contract.
   128  func NewPermImplTransactor(address common.Address, transactor bind.ContractTransactor) (*PermImplTransactor, error) {
   129  	contract, err := bindPermImpl(address, nil, transactor, nil)
   130  	if err != nil {
   131  		return nil, err
   132  	}
   133  	return &PermImplTransactor{contract: contract}, nil
   134  }
   135  
   136  // NewPermImplFilterer creates a new log filterer instance of PermImpl, bound to a specific deployed contract.
   137  func NewPermImplFilterer(address common.Address, filterer bind.ContractFilterer) (*PermImplFilterer, error) {
   138  	contract, err := bindPermImpl(address, nil, nil, filterer)
   139  	if err != nil {
   140  		return nil, err
   141  	}
   142  	return &PermImplFilterer{contract: contract}, nil
   143  }
   144  
   145  // bindPermImpl binds a generic wrapper to an already deployed contract.
   146  func bindPermImpl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   147  	parsed, err := abi.JSON(strings.NewReader(PermImplABI))
   148  	if err != nil {
   149  		return nil, err
   150  	}
   151  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   152  }
   153  
   154  // Call invokes the (constant) contract method with params as input values and
   155  // sets the output to result. The result type might be a single field for simple
   156  // returns, a slice of interfaces for anonymous returns and a struct for named
   157  // returns.
   158  func (_PermImpl *PermImplRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   159  	return _PermImpl.Contract.PermImplCaller.contract.Call(opts, result, method, params...)
   160  }
   161  
   162  // Transfer initiates a plain transaction to move funds to the contract, calling
   163  // its default method if one is available.
   164  func (_PermImpl *PermImplRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   165  	return _PermImpl.Contract.PermImplTransactor.contract.Transfer(opts)
   166  }
   167  
   168  // Transact invokes the (paid) contract method with params as input values.
   169  func (_PermImpl *PermImplRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   170  	return _PermImpl.Contract.PermImplTransactor.contract.Transact(opts, method, params...)
   171  }
   172  
   173  // Call invokes the (constant) contract method with params as input values and
   174  // sets the output to result. The result type might be a single field for simple
   175  // returns, a slice of interfaces for anonymous returns and a struct for named
   176  // returns.
   177  func (_PermImpl *PermImplCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   178  	return _PermImpl.Contract.contract.Call(opts, result, method, params...)
   179  }
   180  
   181  // Transfer initiates a plain transaction to move funds to the contract, calling
   182  // its default method if one is available.
   183  func (_PermImpl *PermImplTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   184  	return _PermImpl.Contract.contract.Transfer(opts)
   185  }
   186  
   187  // Transact invokes the (paid) contract method with params as input values.
   188  func (_PermImpl *PermImplTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   189  	return _PermImpl.Contract.contract.Transact(opts, method, params...)
   190  }
   191  
   192  // GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
   193  //
   194  // Solidity: function getNetworkBootStatus() constant returns(bool)
   195  func (_PermImpl *PermImplCaller) GetNetworkBootStatus(opts *bind.CallOpts) (bool, error) {
   196  	var (
   197  		ret0 = new(bool)
   198  	)
   199  	out := ret0
   200  	err := _PermImpl.contract.Call(opts, out, "getNetworkBootStatus")
   201  	return *ret0, err
   202  }
   203  
   204  // GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
   205  //
   206  // Solidity: function getNetworkBootStatus() constant returns(bool)
   207  func (_PermImpl *PermImplSession) GetNetworkBootStatus() (bool, error) {
   208  	return _PermImpl.Contract.GetNetworkBootStatus(&_PermImpl.CallOpts)
   209  }
   210  
   211  // GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
   212  //
   213  // Solidity: function getNetworkBootStatus() constant returns(bool)
   214  func (_PermImpl *PermImplCallerSession) GetNetworkBootStatus() (bool, error) {
   215  	return _PermImpl.Contract.GetNetworkBootStatus(&_PermImpl.CallOpts)
   216  }
   217  
   218  // GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
   219  //
   220  // Solidity: function getPendingOp(string _orgId) constant returns(string, string, address, uint256)
   221  func (_PermImpl *PermImplCaller) GetPendingOp(opts *bind.CallOpts, _orgId string) (string, string, common.Address, *big.Int, error) {
   222  	var (
   223  		ret0 = new(string)
   224  		ret1 = new(string)
   225  		ret2 = new(common.Address)
   226  		ret3 = new(*big.Int)
   227  	)
   228  	out := &[]interface{}{
   229  		ret0,
   230  		ret1,
   231  		ret2,
   232  		ret3,
   233  	}
   234  	err := _PermImpl.contract.Call(opts, out, "getPendingOp", _orgId)
   235  	return *ret0, *ret1, *ret2, *ret3, err
   236  }
   237  
   238  // GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
   239  //
   240  // Solidity: function getPendingOp(string _orgId) constant returns(string, string, address, uint256)
   241  func (_PermImpl *PermImplSession) GetPendingOp(_orgId string) (string, string, common.Address, *big.Int, error) {
   242  	return _PermImpl.Contract.GetPendingOp(&_PermImpl.CallOpts, _orgId)
   243  }
   244  
   245  // GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
   246  //
   247  // Solidity: function getPendingOp(string _orgId) constant returns(string, string, address, uint256)
   248  func (_PermImpl *PermImplCallerSession) GetPendingOp(_orgId string) (string, string, common.Address, *big.Int, error) {
   249  	return _PermImpl.Contract.GetPendingOp(&_PermImpl.CallOpts, _orgId)
   250  }
   251  
   252  // GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
   253  //
   254  // Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
   255  func (_PermImpl *PermImplCaller) GetPolicyDetails(opts *bind.CallOpts) (string, string, string, bool, error) {
   256  	var (
   257  		ret0 = new(string)
   258  		ret1 = new(string)
   259  		ret2 = new(string)
   260  		ret3 = new(bool)
   261  	)
   262  	out := &[]interface{}{
   263  		ret0,
   264  		ret1,
   265  		ret2,
   266  		ret3,
   267  	}
   268  	err := _PermImpl.contract.Call(opts, out, "getPolicyDetails")
   269  	return *ret0, *ret1, *ret2, *ret3, err
   270  }
   271  
   272  // GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
   273  //
   274  // Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
   275  func (_PermImpl *PermImplSession) GetPolicyDetails() (string, string, string, bool, error) {
   276  	return _PermImpl.Contract.GetPolicyDetails(&_PermImpl.CallOpts)
   277  }
   278  
   279  // GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
   280  //
   281  // Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
   282  func (_PermImpl *PermImplCallerSession) GetPolicyDetails() (string, string, string, bool, error) {
   283  	return _PermImpl.Contract.GetPolicyDetails(&_PermImpl.CallOpts)
   284  }
   285  
   286  // IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
   287  //
   288  // Solidity: function isNetworkAdmin(address _account) constant returns(bool)
   289  func (_PermImpl *PermImplCaller) IsNetworkAdmin(opts *bind.CallOpts, _account common.Address) (bool, error) {
   290  	var (
   291  		ret0 = new(bool)
   292  	)
   293  	out := ret0
   294  	err := _PermImpl.contract.Call(opts, out, "isNetworkAdmin", _account)
   295  	return *ret0, err
   296  }
   297  
   298  // IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
   299  //
   300  // Solidity: function isNetworkAdmin(address _account) constant returns(bool)
   301  func (_PermImpl *PermImplSession) IsNetworkAdmin(_account common.Address) (bool, error) {
   302  	return _PermImpl.Contract.IsNetworkAdmin(&_PermImpl.CallOpts, _account)
   303  }
   304  
   305  // IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
   306  //
   307  // Solidity: function isNetworkAdmin(address _account) constant returns(bool)
   308  func (_PermImpl *PermImplCallerSession) IsNetworkAdmin(_account common.Address) (bool, error) {
   309  	return _PermImpl.Contract.IsNetworkAdmin(&_PermImpl.CallOpts, _account)
   310  }
   311  
   312  // IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
   313  //
   314  // Solidity: function isOrgAdmin(address _account, string _orgId) constant returns(bool)
   315  func (_PermImpl *PermImplCaller) IsOrgAdmin(opts *bind.CallOpts, _account common.Address, _orgId string) (bool, error) {
   316  	var (
   317  		ret0 = new(bool)
   318  	)
   319  	out := ret0
   320  	err := _PermImpl.contract.Call(opts, out, "isOrgAdmin", _account, _orgId)
   321  	return *ret0, err
   322  }
   323  
   324  // IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
   325  //
   326  // Solidity: function isOrgAdmin(address _account, string _orgId) constant returns(bool)
   327  func (_PermImpl *PermImplSession) IsOrgAdmin(_account common.Address, _orgId string) (bool, error) {
   328  	return _PermImpl.Contract.IsOrgAdmin(&_PermImpl.CallOpts, _account, _orgId)
   329  }
   330  
   331  // IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
   332  //
   333  // Solidity: function isOrgAdmin(address _account, string _orgId) constant returns(bool)
   334  func (_PermImpl *PermImplCallerSession) IsOrgAdmin(_account common.Address, _orgId string) (bool, error) {
   335  	return _PermImpl.Contract.IsOrgAdmin(&_PermImpl.CallOpts, _account, _orgId)
   336  }
   337  
   338  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   339  //
   340  // Solidity: function validateAccount(address _account, string _orgId) constant returns(bool)
   341  func (_PermImpl *PermImplCaller) ValidateAccount(opts *bind.CallOpts, _account common.Address, _orgId string) (bool, error) {
   342  	var (
   343  		ret0 = new(bool)
   344  	)
   345  	out := ret0
   346  	err := _PermImpl.contract.Call(opts, out, "validateAccount", _account, _orgId)
   347  	return *ret0, err
   348  }
   349  
   350  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   351  //
   352  // Solidity: function validateAccount(address _account, string _orgId) constant returns(bool)
   353  func (_PermImpl *PermImplSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
   354  	return _PermImpl.Contract.ValidateAccount(&_PermImpl.CallOpts, _account, _orgId)
   355  }
   356  
   357  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   358  //
   359  // Solidity: function validateAccount(address _account, string _orgId) constant returns(bool)
   360  func (_PermImpl *PermImplCallerSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
   361  	return _PermImpl.Contract.ValidateAccount(&_PermImpl.CallOpts, _account, _orgId)
   362  }
   363  
   364  // AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
   365  //
   366  // Solidity: function addAdminAccount(address _account) returns()
   367  func (_PermImpl *PermImplTransactor) AddAdminAccount(opts *bind.TransactOpts, _account common.Address) (*types.Transaction, error) {
   368  	return _PermImpl.contract.Transact(opts, "addAdminAccount", _account)
   369  }
   370  
   371  // AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
   372  //
   373  // Solidity: function addAdminAccount(address _account) returns()
   374  func (_PermImpl *PermImplSession) AddAdminAccount(_account common.Address) (*types.Transaction, error) {
   375  	return _PermImpl.Contract.AddAdminAccount(&_PermImpl.TransactOpts, _account)
   376  }
   377  
   378  // AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
   379  //
   380  // Solidity: function addAdminAccount(address _account) returns()
   381  func (_PermImpl *PermImplTransactorSession) AddAdminAccount(_account common.Address) (*types.Transaction, error) {
   382  	return _PermImpl.Contract.AddAdminAccount(&_PermImpl.TransactOpts, _account)
   383  }
   384  
   385  // AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
   386  //
   387  // Solidity: function addAdminNode(string _enodeId) returns()
   388  func (_PermImpl *PermImplTransactor) AddAdminNode(opts *bind.TransactOpts, _enodeId string) (*types.Transaction, error) {
   389  	return _PermImpl.contract.Transact(opts, "addAdminNode", _enodeId)
   390  }
   391  
   392  // AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
   393  //
   394  // Solidity: function addAdminNode(string _enodeId) returns()
   395  func (_PermImpl *PermImplSession) AddAdminNode(_enodeId string) (*types.Transaction, error) {
   396  	return _PermImpl.Contract.AddAdminNode(&_PermImpl.TransactOpts, _enodeId)
   397  }
   398  
   399  // AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
   400  //
   401  // Solidity: function addAdminNode(string _enodeId) returns()
   402  func (_PermImpl *PermImplTransactorSession) AddAdminNode(_enodeId string) (*types.Transaction, error) {
   403  	return _PermImpl.Contract.AddAdminNode(&_PermImpl.TransactOpts, _enodeId)
   404  }
   405  
   406  // AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
   407  //
   408  // Solidity: function addNewRole(string _roleId, string _orgId, uint256 _access, bool _voter, bool _admin, address _caller) returns()
   409  func (_PermImpl *PermImplTransactor) AddNewRole(opts *bind.TransactOpts, _roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
   410  	return _PermImpl.contract.Transact(opts, "addNewRole", _roleId, _orgId, _access, _voter, _admin, _caller)
   411  }
   412  
   413  // AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
   414  //
   415  // Solidity: function addNewRole(string _roleId, string _orgId, uint256 _access, bool _voter, bool _admin, address _caller) returns()
   416  func (_PermImpl *PermImplSession) AddNewRole(_roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
   417  	return _PermImpl.Contract.AddNewRole(&_PermImpl.TransactOpts, _roleId, _orgId, _access, _voter, _admin, _caller)
   418  }
   419  
   420  // AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
   421  //
   422  // Solidity: function addNewRole(string _roleId, string _orgId, uint256 _access, bool _voter, bool _admin, address _caller) returns()
   423  func (_PermImpl *PermImplTransactorSession) AddNewRole(_roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
   424  	return _PermImpl.Contract.AddNewRole(&_PermImpl.TransactOpts, _roleId, _orgId, _access, _voter, _admin, _caller)
   425  }
   426  
   427  // AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
   428  //
   429  // Solidity: function addNode(string _orgId, string _enodeId, address _caller) returns()
   430  func (_PermImpl *PermImplTransactor) AddNode(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   431  	return _PermImpl.contract.Transact(opts, "addNode", _orgId, _enodeId, _caller)
   432  }
   433  
   434  // AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
   435  //
   436  // Solidity: function addNode(string _orgId, string _enodeId, address _caller) returns()
   437  func (_PermImpl *PermImplSession) AddNode(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   438  	return _PermImpl.Contract.AddNode(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   439  }
   440  
   441  // AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
   442  //
   443  // Solidity: function addNode(string _orgId, string _enodeId, address _caller) returns()
   444  func (_PermImpl *PermImplTransactorSession) AddNode(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   445  	return _PermImpl.Contract.AddNode(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   446  }
   447  
   448  // AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
   449  //
   450  // Solidity: function addOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   451  func (_PermImpl *PermImplTransactor) AddOrg(opts *bind.TransactOpts, _orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   452  	return _PermImpl.contract.Transact(opts, "addOrg", _orgId, _enodeId, _account, _caller)
   453  }
   454  
   455  // AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
   456  //
   457  // Solidity: function addOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   458  func (_PermImpl *PermImplSession) AddOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   459  	return _PermImpl.Contract.AddOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   460  }
   461  
   462  // AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
   463  //
   464  // Solidity: function addOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   465  func (_PermImpl *PermImplTransactorSession) AddOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   466  	return _PermImpl.Contract.AddOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   467  }
   468  
   469  // AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
   470  //
   471  // Solidity: function addSubOrg(string _pOrgId, string _orgId, string _enodeId, address _caller) returns()
   472  func (_PermImpl *PermImplTransactor) AddSubOrg(opts *bind.TransactOpts, _pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   473  	return _PermImpl.contract.Transact(opts, "addSubOrg", _pOrgId, _orgId, _enodeId, _caller)
   474  }
   475  
   476  // AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
   477  //
   478  // Solidity: function addSubOrg(string _pOrgId, string _orgId, string _enodeId, address _caller) returns()
   479  func (_PermImpl *PermImplSession) AddSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   480  	return _PermImpl.Contract.AddSubOrg(&_PermImpl.TransactOpts, _pOrgId, _orgId, _enodeId, _caller)
   481  }
   482  
   483  // AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
   484  //
   485  // Solidity: function addSubOrg(string _pOrgId, string _orgId, string _enodeId, address _caller) returns()
   486  func (_PermImpl *PermImplTransactorSession) AddSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   487  	return _PermImpl.Contract.AddSubOrg(&_PermImpl.TransactOpts, _pOrgId, _orgId, _enodeId, _caller)
   488  }
   489  
   490  // ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
   491  //
   492  // Solidity: function approveAdminRole(string _orgId, address _account, address _caller) returns()
   493  func (_PermImpl *PermImplTransactor) ApproveAdminRole(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   494  	return _PermImpl.contract.Transact(opts, "approveAdminRole", _orgId, _account, _caller)
   495  }
   496  
   497  // ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
   498  //
   499  // Solidity: function approveAdminRole(string _orgId, address _account, address _caller) returns()
   500  func (_PermImpl *PermImplSession) ApproveAdminRole(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   501  	return _PermImpl.Contract.ApproveAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   502  }
   503  
   504  // ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
   505  //
   506  // Solidity: function approveAdminRole(string _orgId, address _account, address _caller) returns()
   507  func (_PermImpl *PermImplTransactorSession) ApproveAdminRole(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   508  	return _PermImpl.Contract.ApproveAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   509  }
   510  
   511  // ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
   512  //
   513  // Solidity: function approveBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   514  func (_PermImpl *PermImplTransactor) ApproveBlacklistedAccountRecovery(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   515  	return _PermImpl.contract.Transact(opts, "approveBlacklistedAccountRecovery", _orgId, _account, _caller)
   516  }
   517  
   518  // ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
   519  //
   520  // Solidity: function approveBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   521  func (_PermImpl *PermImplSession) ApproveBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   522  	return _PermImpl.Contract.ApproveBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   523  }
   524  
   525  // ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
   526  //
   527  // Solidity: function approveBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   528  func (_PermImpl *PermImplTransactorSession) ApproveBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   529  	return _PermImpl.Contract.ApproveBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   530  }
   531  
   532  // ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
   533  //
   534  // Solidity: function approveBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   535  func (_PermImpl *PermImplTransactor) ApproveBlacklistedNodeRecovery(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   536  	return _PermImpl.contract.Transact(opts, "approveBlacklistedNodeRecovery", _orgId, _enodeId, _caller)
   537  }
   538  
   539  // ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
   540  //
   541  // Solidity: function approveBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   542  func (_PermImpl *PermImplSession) ApproveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   543  	return _PermImpl.Contract.ApproveBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   544  }
   545  
   546  // ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
   547  //
   548  // Solidity: function approveBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   549  func (_PermImpl *PermImplTransactorSession) ApproveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   550  	return _PermImpl.Contract.ApproveBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   551  }
   552  
   553  // ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
   554  //
   555  // Solidity: function approveOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   556  func (_PermImpl *PermImplTransactor) ApproveOrg(opts *bind.TransactOpts, _orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   557  	return _PermImpl.contract.Transact(opts, "approveOrg", _orgId, _enodeId, _account, _caller)
   558  }
   559  
   560  // ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
   561  //
   562  // Solidity: function approveOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   563  func (_PermImpl *PermImplSession) ApproveOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   564  	return _PermImpl.Contract.ApproveOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   565  }
   566  
   567  // ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
   568  //
   569  // Solidity: function approveOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   570  func (_PermImpl *PermImplTransactorSession) ApproveOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   571  	return _PermImpl.Contract.ApproveOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   572  }
   573  
   574  // ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
   575  //
   576  // Solidity: function approveOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   577  func (_PermImpl *PermImplTransactor) ApproveOrgStatus(opts *bind.TransactOpts, _orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   578  	return _PermImpl.contract.Transact(opts, "approveOrgStatus", _orgId, _action, _caller)
   579  }
   580  
   581  // ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
   582  //
   583  // Solidity: function approveOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   584  func (_PermImpl *PermImplSession) ApproveOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   585  	return _PermImpl.Contract.ApproveOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   586  }
   587  
   588  // ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
   589  //
   590  // Solidity: function approveOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   591  func (_PermImpl *PermImplTransactorSession) ApproveOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   592  	return _PermImpl.Contract.ApproveOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   593  }
   594  
   595  // AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
   596  //
   597  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, address _caller) returns()
   598  func (_PermImpl *PermImplTransactor) AssignAccountRole(opts *bind.TransactOpts, _account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
   599  	return _PermImpl.contract.Transact(opts, "assignAccountRole", _account, _orgId, _roleId, _caller)
   600  }
   601  
   602  // AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
   603  //
   604  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, address _caller) returns()
   605  func (_PermImpl *PermImplSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
   606  	return _PermImpl.Contract.AssignAccountRole(&_PermImpl.TransactOpts, _account, _orgId, _roleId, _caller)
   607  }
   608  
   609  // AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
   610  //
   611  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, address _caller) returns()
   612  func (_PermImpl *PermImplTransactorSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
   613  	return _PermImpl.Contract.AssignAccountRole(&_PermImpl.TransactOpts, _account, _orgId, _roleId, _caller)
   614  }
   615  
   616  // AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
   617  //
   618  // Solidity: function assignAdminRole(string _orgId, address _account, string _roleId, address _caller) returns()
   619  func (_PermImpl *PermImplTransactor) AssignAdminRole(opts *bind.TransactOpts, _orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
   620  	return _PermImpl.contract.Transact(opts, "assignAdminRole", _orgId, _account, _roleId, _caller)
   621  }
   622  
   623  // AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
   624  //
   625  // Solidity: function assignAdminRole(string _orgId, address _account, string _roleId, address _caller) returns()
   626  func (_PermImpl *PermImplSession) AssignAdminRole(_orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
   627  	return _PermImpl.Contract.AssignAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _roleId, _caller)
   628  }
   629  
   630  // AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
   631  //
   632  // Solidity: function assignAdminRole(string _orgId, address _account, string _roleId, address _caller) returns()
   633  func (_PermImpl *PermImplTransactorSession) AssignAdminRole(_orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
   634  	return _PermImpl.Contract.AssignAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _roleId, _caller)
   635  }
   636  
   637  // Init is a paid mutator transaction binding the contract method 0xa5843f08.
   638  //
   639  // Solidity: function init(uint256 _breadth, uint256 _depth) returns()
   640  func (_PermImpl *PermImplTransactor) Init(opts *bind.TransactOpts, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   641  	return _PermImpl.contract.Transact(opts, "init", _breadth, _depth)
   642  }
   643  
   644  // Init is a paid mutator transaction binding the contract method 0xa5843f08.
   645  //
   646  // Solidity: function init(uint256 _breadth, uint256 _depth) returns()
   647  func (_PermImpl *PermImplSession) Init(_breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   648  	return _PermImpl.Contract.Init(&_PermImpl.TransactOpts, _breadth, _depth)
   649  }
   650  
   651  // Init is a paid mutator transaction binding the contract method 0xa5843f08.
   652  //
   653  // Solidity: function init(uint256 _breadth, uint256 _depth) returns()
   654  func (_PermImpl *PermImplTransactorSession) Init(_breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   655  	return _PermImpl.Contract.Init(&_PermImpl.TransactOpts, _breadth, _depth)
   656  }
   657  
   658  // RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
   659  //
   660  // Solidity: function removeRole(string _roleId, string _orgId, address _caller) returns()
   661  func (_PermImpl *PermImplTransactor) RemoveRole(opts *bind.TransactOpts, _roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
   662  	return _PermImpl.contract.Transact(opts, "removeRole", _roleId, _orgId, _caller)
   663  }
   664  
   665  // RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
   666  //
   667  // Solidity: function removeRole(string _roleId, string _orgId, address _caller) returns()
   668  func (_PermImpl *PermImplSession) RemoveRole(_roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
   669  	return _PermImpl.Contract.RemoveRole(&_PermImpl.TransactOpts, _roleId, _orgId, _caller)
   670  }
   671  
   672  // RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
   673  //
   674  // Solidity: function removeRole(string _roleId, string _orgId, address _caller) returns()
   675  func (_PermImpl *PermImplTransactorSession) RemoveRole(_roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
   676  	return _PermImpl.Contract.RemoveRole(&_PermImpl.TransactOpts, _roleId, _orgId, _caller)
   677  }
   678  
   679  // SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
   680  //
   681  // Solidity: function setMigrationPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole, bool _networkBootStatus) returns()
   682  func (_PermImpl *PermImplTransactor) SetMigrationPolicy(opts *bind.TransactOpts, _nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
   683  	return _PermImpl.contract.Transact(opts, "setMigrationPolicy", _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
   684  }
   685  
   686  // SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
   687  //
   688  // Solidity: function setMigrationPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole, bool _networkBootStatus) returns()
   689  func (_PermImpl *PermImplSession) SetMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
   690  	return _PermImpl.Contract.SetMigrationPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
   691  }
   692  
   693  // SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
   694  //
   695  // Solidity: function setMigrationPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole, bool _networkBootStatus) returns()
   696  func (_PermImpl *PermImplTransactorSession) SetMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
   697  	return _PermImpl.Contract.SetMigrationPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
   698  }
   699  
   700  // SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
   701  //
   702  // Solidity: function setPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole) returns()
   703  func (_PermImpl *PermImplTransactor) SetPolicy(opts *bind.TransactOpts, _nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   704  	return _PermImpl.contract.Transact(opts, "setPolicy", _nwAdminOrg, _nwAdminRole, _oAdminRole)
   705  }
   706  
   707  // SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
   708  //
   709  // Solidity: function setPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole) returns()
   710  func (_PermImpl *PermImplSession) SetPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   711  	return _PermImpl.Contract.SetPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole)
   712  }
   713  
   714  // SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
   715  //
   716  // Solidity: function setPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole) returns()
   717  func (_PermImpl *PermImplTransactorSession) SetPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   718  	return _PermImpl.Contract.SetPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole)
   719  }
   720  
   721  // StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
   722  //
   723  // Solidity: function startBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   724  func (_PermImpl *PermImplTransactor) StartBlacklistedAccountRecovery(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   725  	return _PermImpl.contract.Transact(opts, "startBlacklistedAccountRecovery", _orgId, _account, _caller)
   726  }
   727  
   728  // StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
   729  //
   730  // Solidity: function startBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   731  func (_PermImpl *PermImplSession) StartBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   732  	return _PermImpl.Contract.StartBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   733  }
   734  
   735  // StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
   736  //
   737  // Solidity: function startBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   738  func (_PermImpl *PermImplTransactorSession) StartBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   739  	return _PermImpl.Contract.StartBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   740  }
   741  
   742  // StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
   743  //
   744  // Solidity: function startBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   745  func (_PermImpl *PermImplTransactor) StartBlacklistedNodeRecovery(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   746  	return _PermImpl.contract.Transact(opts, "startBlacklistedNodeRecovery", _orgId, _enodeId, _caller)
   747  }
   748  
   749  // StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
   750  //
   751  // Solidity: function startBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   752  func (_PermImpl *PermImplSession) StartBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   753  	return _PermImpl.Contract.StartBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   754  }
   755  
   756  // StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
   757  //
   758  // Solidity: function startBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   759  func (_PermImpl *PermImplTransactorSession) StartBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   760  	return _PermImpl.Contract.StartBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   761  }
   762  
   763  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
   764  //
   765  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action, address _caller) returns()
   766  func (_PermImpl *PermImplTransactor) UpdateAccountStatus(opts *bind.TransactOpts, _orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   767  	return _PermImpl.contract.Transact(opts, "updateAccountStatus", _orgId, _account, _action, _caller)
   768  }
   769  
   770  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
   771  //
   772  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action, address _caller) returns()
   773  func (_PermImpl *PermImplSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   774  	return _PermImpl.Contract.UpdateAccountStatus(&_PermImpl.TransactOpts, _orgId, _account, _action, _caller)
   775  }
   776  
   777  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
   778  //
   779  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action, address _caller) returns()
   780  func (_PermImpl *PermImplTransactorSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   781  	return _PermImpl.Contract.UpdateAccountStatus(&_PermImpl.TransactOpts, _orgId, _account, _action, _caller)
   782  }
   783  
   784  // UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
   785  //
   786  // Solidity: function updateNetworkBootStatus() returns(bool)
   787  func (_PermImpl *PermImplTransactor) UpdateNetworkBootStatus(opts *bind.TransactOpts) (*types.Transaction, error) {
   788  	return _PermImpl.contract.Transact(opts, "updateNetworkBootStatus")
   789  }
   790  
   791  // UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
   792  //
   793  // Solidity: function updateNetworkBootStatus() returns(bool)
   794  func (_PermImpl *PermImplSession) UpdateNetworkBootStatus() (*types.Transaction, error) {
   795  	return _PermImpl.Contract.UpdateNetworkBootStatus(&_PermImpl.TransactOpts)
   796  }
   797  
   798  // UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
   799  //
   800  // Solidity: function updateNetworkBootStatus() returns(bool)
   801  func (_PermImpl *PermImplTransactorSession) UpdateNetworkBootStatus() (*types.Transaction, error) {
   802  	return _PermImpl.Contract.UpdateNetworkBootStatus(&_PermImpl.TransactOpts)
   803  }
   804  
   805  // UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
   806  //
   807  // Solidity: function updateNodeStatus(string _orgId, string _enodeId, uint256 _action, address _caller) returns()
   808  func (_PermImpl *PermImplTransactor) UpdateNodeStatus(opts *bind.TransactOpts, _orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   809  	return _PermImpl.contract.Transact(opts, "updateNodeStatus", _orgId, _enodeId, _action, _caller)
   810  }
   811  
   812  // UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
   813  //
   814  // Solidity: function updateNodeStatus(string _orgId, string _enodeId, uint256 _action, address _caller) returns()
   815  func (_PermImpl *PermImplSession) UpdateNodeStatus(_orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   816  	return _PermImpl.Contract.UpdateNodeStatus(&_PermImpl.TransactOpts, _orgId, _enodeId, _action, _caller)
   817  }
   818  
   819  // UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
   820  //
   821  // Solidity: function updateNodeStatus(string _orgId, string _enodeId, uint256 _action, address _caller) returns()
   822  func (_PermImpl *PermImplTransactorSession) UpdateNodeStatus(_orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   823  	return _PermImpl.Contract.UpdateNodeStatus(&_PermImpl.TransactOpts, _orgId, _enodeId, _action, _caller)
   824  }
   825  
   826  // UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
   827  //
   828  // Solidity: function updateOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   829  func (_PermImpl *PermImplTransactor) UpdateOrgStatus(opts *bind.TransactOpts, _orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   830  	return _PermImpl.contract.Transact(opts, "updateOrgStatus", _orgId, _action, _caller)
   831  }
   832  
   833  // UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
   834  //
   835  // Solidity: function updateOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   836  func (_PermImpl *PermImplSession) UpdateOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   837  	return _PermImpl.Contract.UpdateOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   838  }
   839  
   840  // UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
   841  //
   842  // Solidity: function updateOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   843  func (_PermImpl *PermImplTransactorSession) UpdateOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   844  	return _PermImpl.Contract.UpdateOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   845  }
   846  
   847  // PermImplPermissionsInitializedIterator is returned from FilterPermissionsInitialized and is used to iterate over the raw logs and unpacked data for PermissionsInitialized events raised by the PermImpl contract.
   848  type PermImplPermissionsInitializedIterator struct {
   849  	Event *PermImplPermissionsInitialized // Event containing the contract specifics and raw log
   850  
   851  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   852  	event    string              // Event name to use for unpacking event data
   853  
   854  	logs chan types.Log        // Log channel receiving the found contract events
   855  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   856  	done bool                  // Whether the subscription completed delivering logs
   857  	fail error                 // Occurred error to stop iteration
   858  }
   859  
   860  // Next advances the iterator to the subsequent event, returning whether there
   861  // are any more events found. In case of a retrieval or parsing error, false is
   862  // returned and Error() can be queried for the exact failure.
   863  func (it *PermImplPermissionsInitializedIterator) Next() bool {
   864  	// If the iterator failed, stop iterating
   865  	if it.fail != nil {
   866  		return false
   867  	}
   868  	// If the iterator completed, deliver directly whatever's available
   869  	if it.done {
   870  		select {
   871  		case log := <-it.logs:
   872  			it.Event = new(PermImplPermissionsInitialized)
   873  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   874  				it.fail = err
   875  				return false
   876  			}
   877  			it.Event.Raw = log
   878  			return true
   879  
   880  		default:
   881  			return false
   882  		}
   883  	}
   884  	// Iterator still in progress, wait for either a data or an error event
   885  	select {
   886  	case log := <-it.logs:
   887  		it.Event = new(PermImplPermissionsInitialized)
   888  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   889  			it.fail = err
   890  			return false
   891  		}
   892  		it.Event.Raw = log
   893  		return true
   894  
   895  	case err := <-it.sub.Err():
   896  		it.done = true
   897  		it.fail = err
   898  		return it.Next()
   899  	}
   900  }
   901  
   902  // Error returns any retrieval or parsing error occurred during filtering.
   903  func (it *PermImplPermissionsInitializedIterator) Error() error {
   904  	return it.fail
   905  }
   906  
   907  // Close terminates the iteration process, releasing any pending underlying
   908  // resources.
   909  func (it *PermImplPermissionsInitializedIterator) Close() error {
   910  	it.sub.Unsubscribe()
   911  	return nil
   912  }
   913  
   914  // PermImplPermissionsInitialized represents a PermissionsInitialized event raised by the PermImpl contract.
   915  type PermImplPermissionsInitialized struct {
   916  	NetworkBootStatus bool
   917  	Raw               types.Log // Blockchain specific contextual infos
   918  }
   919  
   920  // FilterPermissionsInitialized is a free log retrieval operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
   921  //
   922  // Solidity: event PermissionsInitialized(bool _networkBootStatus)
   923  func (_PermImpl *PermImplFilterer) FilterPermissionsInitialized(opts *bind.FilterOpts) (*PermImplPermissionsInitializedIterator, error) {
   924  
   925  	logs, sub, err := _PermImpl.contract.FilterLogs(opts, "PermissionsInitialized")
   926  	if err != nil {
   927  		return nil, err
   928  	}
   929  	return &PermImplPermissionsInitializedIterator{contract: _PermImpl.contract, event: "PermissionsInitialized", logs: logs, sub: sub}, nil
   930  }
   931  
   932  // WatchPermissionsInitialized is a free log subscription operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
   933  //
   934  // Solidity: event PermissionsInitialized(bool _networkBootStatus)
   935  func (_PermImpl *PermImplFilterer) WatchPermissionsInitialized(opts *bind.WatchOpts, sink chan<- *PermImplPermissionsInitialized) (event.Subscription, error) {
   936  
   937  	logs, sub, err := _PermImpl.contract.WatchLogs(opts, "PermissionsInitialized")
   938  	if err != nil {
   939  		return nil, err
   940  	}
   941  	return event.NewSubscription(func(quit <-chan struct{}) error {
   942  		defer sub.Unsubscribe()
   943  		for {
   944  			select {
   945  			case log := <-logs:
   946  				// New log arrived, parse the event and forward to the user
   947  				event := new(PermImplPermissionsInitialized)
   948  				if err := _PermImpl.contract.UnpackLog(event, "PermissionsInitialized", log); err != nil {
   949  					return err
   950  				}
   951  				event.Raw = log
   952  
   953  				select {
   954  				case sink <- event:
   955  				case err := <-sub.Err():
   956  					return err
   957  				case <-quit:
   958  					return nil
   959  				}
   960  			case err := <-sub.Err():
   961  				return err
   962  			case <-quit:
   963  				return nil
   964  			}
   965  		}
   966  	}), nil
   967  }
   968  
   969  // ParsePermissionsInitialized is a log parse operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
   970  //
   971  // Solidity: event PermissionsInitialized(bool _networkBootStatus)
   972  func (_PermImpl *PermImplFilterer) ParsePermissionsInitialized(log types.Log) (*PermImplPermissionsInitialized, error) {
   973  	event := new(PermImplPermissionsInitialized)
   974  	if err := _PermImpl.contract.UnpackLog(event, "PermissionsInitialized", log); err != nil {
   975  		return nil, err
   976  	}
   977  	return event, nil
   978  }