{
  "contractName": "BrightIdRegisterMock",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_addrs",
          "type": "address[]"
        },
        {
          "name": "_timestamps",
          "type": "uint256[]"
        },
        {
          "name": "_v",
          "type": "uint8[]"
        },
        {
          "name": "_r",
          "type": "bytes32[]"
        },
        {
          "name": "_s",
          "type": "bytes32[]"
        },
        {
          "name": "_registerAndCall",
          "type": "address"
        },
        {
          "name": "_functionCallData",
          "type": "bytes"
        }
      ],
      "name": "register",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "hasInitialized",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "name": "userRegistrations",
      "outputs": [
        {
          "name": "uniqueUserId",
          "type": "address"
        },
        {
          "name": "registerTime",
          "type": "uint256"
        },
        {
          "name": "addressVoid",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "requiredVerifications",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_script",
          "type": "bytes"
        }
      ],
      "name": "getEVMScriptExecutor",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getRecoveryVault",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_verificationTimestampVariance",
          "type": "uint256"
        }
      ],
      "name": "setVerificationTimestampVariance",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "brightIdContext",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "UPDATE_SETTINGS_ROLE",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_brightIdUser",
          "type": "address"
        }
      ],
      "name": "hasUniqueUserId",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "brightIdVerifiers",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MAX_BRIGHTID_VERIFIERS",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_registrationPeriod",
          "type": "uint256"
        }
      ],
      "name": "setRegistrationPeriod",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "registrationPeriod",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_seconds",
          "type": "uint256"
        }
      ],
      "name": "mockDecreaseTime",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_timestamp",
          "type": "uint256"
        }
      ],
      "name": "mockSetTimestamp",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getBlockNumberPublic",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_number",
          "type": "uint256"
        }
      ],
      "name": "mockAdvanceBlocks",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getBrightIdVerifiers",
      "outputs": [
        {
          "name": "",
          "type": "address[]"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getTimestampPublic",
      "outputs": [
        {
          "name": "",
          "type": "uint64"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "token",
          "type": "address"
        }
      ],
      "name": "allowRecoverability",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "appId",
      "outputs": [
        {
          "name": "",
          "type": "bytes32"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getInitializationBlock",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_seconds",
          "type": "uint256"
        }
      ],
      "name": "mockIncreaseTime",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "mockedBlockNumber",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_token",
          "type": "address"
        }
      ],
      "name": "transferToVault",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_sender",
          "type": "address"
        },
        {
          "name": "_role",
          "type": "bytes32"
        },
        {
          "name": "_params",
          "type": "uint256[]"
        }
      ],
      "name": "canPerform",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "getEVMScriptRegistry",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_brightIdUser",
          "type": "address"
        }
      ],
      "name": "isVerified",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_brightIdUser",
          "type": "address"
        }
      ],
      "name": "uniqueUserId",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "kernel",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "isPetrified",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_brightIdVerifiers",
          "type": "address[]"
        },
        {
          "name": "_requiredVerifications",
          "type": "uint256"
        }
      ],
      "name": "setBrightIdVerifiers",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "verificationTimestampVariance",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "MIN_BRIGHTID_VERIFIERS",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "mockedTimestamp",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_brightIdContext",
          "type": "bytes32"
        },
        {
          "name": "_brightIdVerifiers",
          "type": "address[]"
        },
        {
          "name": "_requiredVerifications",
          "type": "uint256"
        },
        {
          "name": "_registrationPeriod",
          "type": "uint256"
        },
        {
          "name": "_verificationTimestampVariance",
          "type": "uint256"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "name": "sender",
          "type": "address"
        }
      ],
      "name": "Register",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "executor",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "script",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "input",
          "type": "bytes"
        },
        {
          "indexed": false,
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "name": "ScriptResult",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "vault",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "token",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "RecoverToVault",
      "type": "event"
    }
  ],
  "bytecode": "0x6080604052620000176401000000006200001d810204565b6200023b565b6200003064010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a45440000000000000000602082015290156200010c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620000d0578181015183820152602001620000b6565b50505050905090810190601f168015620000fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506200012360001964010000000062000154810204565b565b60006200014f600080516020620033a9833981519152640100000000620027c36200023382021704565b905090565b6200016764010000000062000125810204565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a454400000000000000006020820152901562000206576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015620000d0578181015183820152602001620000b6565b5062000230600080516020620033a983398151915282640100000000620030726200023782021704565b50565b5490565b9055565b61315e806200024b6000396000f3006080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101dc5780630311709d1461022a5780630803fac0146103bf578063099837b7146103d45780630e1b8db4146104395780632914b9bd1461046057806332f0a3b5146104e25780633eeca6f5146104f75780634c251adc1461050f5780634f629fbb1461052457806351e11fd5146105395780635573ad581461056757806356026f0a1461057f57806356922758146105945780635939ee04146105ac57806360be675f146105c15780636958839e146105d95780636da1dfac146105f15780637750db14146106065780637a7dcb931461061e5780637e365950146106835780637e7db6e1146106b557806380afdea8146106e35780638b3dd749146106f85780638f49e12f1461070d57806398fdacb7146107255780639d4941d81461073a578063a1658fad14610768578063a479e508146107dc578063b9209e33146107f1578063ca6f00071461081f578063d4aae0c41461084d578063de4796ed14610862578063e6bd1c6414610877578063ea7c7bb81461089b578063ecfff1f7146108b0578063f7796cd3146108c5578063f77a43d6146108da575b600080fd5b3480156101e857600080fd5b506102167fffffffff0000000000000000000000000000000000000000000000000000000060043516610941565b604080519115158252519081900360200190f35b34801561023657600080fd5b50604080516020600480358082013583810280860185019096528085526103bd95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b73ffffffffffffffffffffffffffffffffffffffff8b35169b909a90999401975091955091820193509150819084018382808284375094975061099e9650505050505050565b005b3480156103cb57600080fd5b50610216610e33565b3480156103e057600080fd5b5061040273ffffffffffffffffffffffffffffffffffffffff60043516610e5d565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252151582820152519081900360600190f35b34801561044557600080fd5b5061044e610e98565b60408051918252519081900360200190f35b34801561046c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526104b9943694929360249392840191908190840183828082843750949750610e9e9650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104ee57600080fd5b506104b9610faa565b34801561050357600080fd5b506103bd600435611049565b34801561051b57600080fd5b5061044e61113c565b34801561053057600080fd5b5061044e611142565b34801561054557600080fd5b5061021673ffffffffffffffffffffffffffffffffffffffff60043516611177565b34801561057357600080fd5b506104b96004356111ac565b34801561058b57600080fd5b5061044e6111e1565b3480156105a057600080fd5b506103bd6004356111e6565b3480156105b857600080fd5b5061044e6112de565b3480156105cd57600080fd5b506103bd6004356112e4565b3480156105e557600080fd5b506103bd60043561131e565b3480156105fd57600080fd5b5061044e611323565b34801561061257600080fd5b506103bd600435611332565b34801561062a57600080fd5b5061063361136b565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561066f578181015183820152602001610657565b505050509050019250505060405180910390f35b34801561068f57600080fd5b506106986113da565b6040805167ffffffffffffffff9092168252519081900360200190f35b3480156106c157600080fd5b5061021673ffffffffffffffffffffffffffffffffffffffff600435166113e4565b3480156106ef57600080fd5b5061044e6113ea565b34801561070457600080fd5b5061044e611415565b34801561071957600080fd5b506103bd600435611440565b34801561073157600080fd5b5061044e61146b565b34801561074657600080fd5b506103bd73ffffffffffffffffffffffffffffffffffffffff60043516611471565b34801561077457600080fd5b50604080516020600460443581810135838102808601850190965280855261021695833573ffffffffffffffffffffffffffffffffffffffff169560248035963696956064959394920192918291850190849080828437509497506117939650505050505050565b3480156107e857600080fd5b506104b9611923565b3480156107fd57600080fd5b5061021673ffffffffffffffffffffffffffffffffffffffff600435166119e5565b34801561082b57600080fd5b506104b973ffffffffffffffffffffffffffffffffffffffff60043516611a68565b34801561085957600080fd5b506104b9611b52565b34801561086e57600080fd5b50610216611b7d565b34801561088357600080fd5b506103bd602460048035828101929101359035611bae565b3480156108a757600080fd5b5061044e611cd7565b3480156108bc57600080fd5b5061044e611cdd565b3480156108d157600080fd5b5061044e611ce2565b3480156108e657600080fd5b506040805160206004602480358281013584810280870186019097528086526103bd9684359636966044959194909101929182918501908490808284375094975050843595505050602083013592604001359150611ce89050565b600061094c82611db9565b8061099857507fffffffff0000000000000000000000000000000000000000000000000000000082167f54053e6c00000000000000000000000000000000000000000000000000000000145b92915050565b33600090815260076020526040812088519091908990829081106109be57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614606060405190810160405280602381526020017f42524947485449445f53454e4445525f4e4f545f494e5f56455249464943415481526020017f494f4e0000000000000000000000000000000000000000000000000000000000815250901515610af8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610abd578181015183820152602001610aa5565b50505050905090810190601f168015610aea5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b068989898989611e03565b600282015460408051808201909152601781527f42524947485449445f414444524553535f564f4944454400000000000000000060208201529060ff1615610baa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50610bb361246c565b6001830155885189907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610be857fe5b60209081029091010151825490915073ffffffffffffffffffffffffffffffffffffffff161515610c5a5781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8216178255610c5a89612486565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260076020526040902054161515610cd75773ffffffffffffffffffffffffffffffffffffffff8116600081815260076020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b73ffffffffffffffffffffffffffffffffffffffff841615610df55781546040517f870e73c2000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff93841660248401819052606060448501908152885160648601528851958a169563870e73c29592938a93909291608490910190602085019080838360005b83811015610d8e578181015183820152602001610d76565b50505050905090810190601f168015610dbb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610ddc57600080fd5b505af1158015610df0573d6000803e3d6000fd5b505050505b6040805133815290517feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a9181900360200190a1505050505050505050565b600080610e3e611415565b90508015801590610e56575080610e53612572565b10155b91505b5090565b60076020526000908152604090208054600182015460029092015473ffffffffffffffffffffffffffffffffffffffff909116919060ff1683565b60045481565b6000610ea8611923565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f2c578181015183820152602001610f14565b50505050905090810190601f168015610f595780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610f7857600080fd5b505af1158015610f8c573d6000803e3d6000fd5b505050506040513d6020811015610fa257600080fd5b505192915050565b6000610fb4611b52565b73ffffffffffffffffffffffffffffffffffffffff166332f0a3b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d602081101561104157600080fd5b505190505b90565b604080517f5550444154455f53455454494e47535f524f4c4500000000000000000000000081528151908190036014018120600080835260208301909352916110989133918491905b50611793565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5050600655565b60025481565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152905190819003601401902081565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040902080549091161515905b50919050565b60038054829081106111ba57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b601481565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291611233913391849190611092565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156112d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b506112da8261258e565b5050565b60055481565b60005415611307576000546112ff908263ffffffff61265a16565b60005561131b565b611317428263ffffffff61265a16565b6000555b50565b600055565b600061132d612572565b905090565b600154156113555760015461134d908263ffffffff61270c16565b60015561131b565b611365438263ffffffff61270c16565b60015550565b606060038054806020026020016040519081016040528092919081815260200182805480156113d057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116113a5575b5050505050905090565b600061132d6127b1565b50600190565b600061132d7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6127c3565b600061132d7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6127c3565b6000541561145b576000546112ff908263ffffffff61270c16565b611317428263ffffffff61270c16565b60015481565b600080600061147f846113e4565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151561151c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50611525610faa565b9250611530836127cb565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156115cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5073ffffffffffffffffffffffffffffffffffffffff84161515611638576040513031925073ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015611632573d6000803e3d6000fd5b50611728565b508261166073ffffffffffffffffffffffffffffffffffffffff82163063ffffffff6127fe16565b915061168973ffffffffffffffffffffffffffffffffffffffff8216848463ffffffff61293b16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b60008061179e610e33565b15156117ad576000915061191b565b6117b5611b52565b905073ffffffffffffffffffffffffffffffffffffffff811615156117dd576000915061191b565b8073ffffffffffffffffffffffffffffffffffffffff1663fdef9106863087611805886129d3565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff871602815273ffffffffffffffffffffffffffffffffffffffff808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561189d578181015183820152602001611885565b50505050905090810190601f1680156118ca5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506040513d602081101561191657600080fd5b505191505b509392505050565b60008061192e611b52565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b158015610f7857600080fd5b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040812080546005546001830154939492939190921615159184918291611a34919063ffffffff61270c16565b611a3c61246c565b60028601549111925060ff16159050828015611a555750815b8015611a5e5750805b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020908152604080832080548251808401909352601e83527f42524947485449445f4e4f5f554e495155455f49445f41535349474e454400009383019390935292939091161515611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505473ffffffffffffffffffffffffffffffffffffffff1692915050565b600061132d7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6127c3565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611ba8611415565b14905090565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291611bfb913391849190611092565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50611cd1848480806020026020016040519081016040528093929190818152602001838360200280828437508894506129dd9350505050565b50505050565b60065481565b600181565b60005481565b611cf0611415565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611d8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50611d9784846129dd565b611da08261258e565b60028590556006819055611db2612ca4565b5050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b606060008060008060006004548a5110156040805190810160405280601d81526020017f42524947485449445f494e434f52524543545f54494d455354414d5053000000815250901515611eb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50600454895110158015611eca5750600454885110155b8015611ed95750600454875110155b60408051808201909152601d81527f42524947485449445f494e434f52524543545f5349474e4154555245530000006020820152901515611f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5088518a51148015611f89575086518851145b8015611f96575086518951145b606060405190810160405280602581526020017f42524947485449445f5349474e4154555245535f444946464552454e545f4c4581526020017f4e4754485300000000000000000000000000000000000000000000000000000081525090151561205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5060038054806020026020016040519081016040528092919081815260200182805480156120c057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612095575b5050505050955060009450600093505b600354851080156120e2575060045484105b156123be576002548b8b878151811015156120f957fe5b90602001906020020151604051602001808460001916600019168152602001838051906020019060200280838360005b83811015612141578181015183820152602001612129565b5050505090500182815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083106121af57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612172565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506001838a878151811015156121ef57fe5b906020019060200201518a8881518110151561220757fe5b906020019060200201518a8981518110151561221f57fe5b60209081029091018101516040805160008082528185018084529790975260ff9095168582015260608501939093526080840152905160a08084019492937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830193908390039091019190865af115801561229e573d6000803e3d6000fd5b5050506020604051035191506122d46006548b878151811015156122be57fe5b602090810290910101519063ffffffff61270c16565b6122dc61246c565b1090508080156122f757506122f7868363ffffffff612d8316565b156123b35761230c868363ffffffff612df616565b6040805190810160405280602081526020017f42524947485449445f43414e5f4e4f545f44454c4554455f56455249464945528152509015156123ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b506001909301925b6001909401936120d0565b60045460408051808201909152601581527f42524947485449445f4e4f545f56455249464945440000000000000000000000602082015290851461245e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505050505050505050505050565b600080541561247e5750600054611046565b61132d612f3b565b600060018251111515612498576112da565b5060015b8151811080156124f157506007600083838151811015156124b957fe5b602090810290910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000206002015460ff16155b156112da57600160076000848481518110151561250a57fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002060020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161249c565b600154600090156125865750600154611046565b61132d612f3f565b60408051606081018252602181527f42524947485449445f524547495354524154494f4e5f504552494f445f5a455260208201527f4f000000000000000000000000000000000000000000000000000000000000009181019190915260008211612654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50600555565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156126fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505050808203805b5092915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f570000000000000000000000000000006020820152600090838301908482101561191b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b600061132d6127be61246c565b612f43565b5490565b5490565b60008073ffffffffffffffffffffffffffffffffffffffff831615156127f457600091506111a6565b50506000903b1190565b6040805173ffffffffffffffffffffffffffffffffffffffff83166024808301919091528251808303909101815260449091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061288b8684612ff3565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561292d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b508093505b50505092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906129ca8582613024565b95945050505050565b8051602002815290565b815160408051808201909152601581527f42524947485449445f4e4f5f564552494649455253000000000000000000000060208201529060011115612a7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50815160408051808201909152601b81527f42524947485449445f544f4f5f4d414e595f564552494649455253000000000060208201529060141015612b20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5060408051606081018252602181527f42524947485449445f4e4f545f454e4f5547485f564552494649434154494f4e60208201527f5300000000000000000000000000000000000000000000000000000000000000918101919091526001821015612be8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50815160408051808201909152601f81527f42524947485449445f544f4f5f4d414e595f564552494649434154494f4e5300602082015290821115612c89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b508151612c9d906003906020850190613076565b5060045550565b612cac611415565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015612d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50612d81612d54612572565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61307216565b565b6000805b8351811015612dec578273ffffffffffffffffffffffffffffffffffffffff168482815181101515612db557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612de45760019150612705565b600101612d87565b5060009392505050565b815160009081805b82821015612f2f578473ffffffffffffffffffffffffffffffffffffffff168683815181101515612e2b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612f24575084517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01818114612ec8578581815181101515612e8b57fe5b906020019060200201518683815181101515612ea357fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302909101909101525b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8682815181101515612ef757fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029091019091015260019350612932565b600190910190612dfe565b50600095945050505050565b4290565b4390565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff831115612fec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5090919050565b6000806000806040516020818751602089018a5afa9250600083111561301857805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115613068573d8015613055576020811461305e57613066565b60019350613066565b600183511493505b505b5090949350505050565b9055565b8280548282559060005260206000209081019282156130f0579160200282015b828111156130f057825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190613096565b50610e59926110469250905b80821115610e595780547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001016130fc5600a165627a7a7230582036b5f19b8db88d4d509f1c56947f46e7cf909b5c4c212a1468a4609e4805af000029ebb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e",
  "deployedBytecode": "0x6080604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301ffc9a781146101dc5780630311709d1461022a5780630803fac0146103bf578063099837b7146103d45780630e1b8db4146104395780632914b9bd1461046057806332f0a3b5146104e25780633eeca6f5146104f75780634c251adc1461050f5780634f629fbb1461052457806351e11fd5146105395780635573ad581461056757806356026f0a1461057f57806356922758146105945780635939ee04146105ac57806360be675f146105c15780636958839e146105d95780636da1dfac146105f15780637750db14146106065780637a7dcb931461061e5780637e365950146106835780637e7db6e1146106b557806380afdea8146106e35780638b3dd749146106f85780638f49e12f1461070d57806398fdacb7146107255780639d4941d81461073a578063a1658fad14610768578063a479e508146107dc578063b9209e33146107f1578063ca6f00071461081f578063d4aae0c41461084d578063de4796ed14610862578063e6bd1c6414610877578063ea7c7bb81461089b578063ecfff1f7146108b0578063f7796cd3146108c5578063f77a43d6146108da575b600080fd5b3480156101e857600080fd5b506102167fffffffff0000000000000000000000000000000000000000000000000000000060043516610941565b604080519115158252519081900360200190f35b34801561023657600080fd5b50604080516020600480358082013583810280860185019096528085526103bd95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a99890198929750908201955093508392508501908490808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989b73ffffffffffffffffffffffffffffffffffffffff8b35169b909a90999401975091955091820193509150819084018382808284375094975061099e9650505050505050565b005b3480156103cb57600080fd5b50610216610e33565b3480156103e057600080fd5b5061040273ffffffffffffffffffffffffffffffffffffffff60043516610e5d565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252151582820152519081900360600190f35b34801561044557600080fd5b5061044e610e98565b60408051918252519081900360200190f35b34801561046c57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526104b9943694929360249392840191908190840183828082843750949750610e9e9650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104ee57600080fd5b506104b9610faa565b34801561050357600080fd5b506103bd600435611049565b34801561051b57600080fd5b5061044e61113c565b34801561053057600080fd5b5061044e611142565b34801561054557600080fd5b5061021673ffffffffffffffffffffffffffffffffffffffff60043516611177565b34801561057357600080fd5b506104b96004356111ac565b34801561058b57600080fd5b5061044e6111e1565b3480156105a057600080fd5b506103bd6004356111e6565b3480156105b857600080fd5b5061044e6112de565b3480156105cd57600080fd5b506103bd6004356112e4565b3480156105e557600080fd5b506103bd60043561131e565b3480156105fd57600080fd5b5061044e611323565b34801561061257600080fd5b506103bd600435611332565b34801561062a57600080fd5b5061063361136b565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561066f578181015183820152602001610657565b505050509050019250505060405180910390f35b34801561068f57600080fd5b506106986113da565b6040805167ffffffffffffffff9092168252519081900360200190f35b3480156106c157600080fd5b5061021673ffffffffffffffffffffffffffffffffffffffff600435166113e4565b3480156106ef57600080fd5b5061044e6113ea565b34801561070457600080fd5b5061044e611415565b34801561071957600080fd5b506103bd600435611440565b34801561073157600080fd5b5061044e61146b565b34801561074657600080fd5b506103bd73ffffffffffffffffffffffffffffffffffffffff60043516611471565b34801561077457600080fd5b50604080516020600460443581810135838102808601850190965280855261021695833573ffffffffffffffffffffffffffffffffffffffff169560248035963696956064959394920192918291850190849080828437509497506117939650505050505050565b3480156107e857600080fd5b506104b9611923565b3480156107fd57600080fd5b5061021673ffffffffffffffffffffffffffffffffffffffff600435166119e5565b34801561082b57600080fd5b506104b973ffffffffffffffffffffffffffffffffffffffff60043516611a68565b34801561085957600080fd5b506104b9611b52565b34801561086e57600080fd5b50610216611b7d565b34801561088357600080fd5b506103bd602460048035828101929101359035611bae565b3480156108a757600080fd5b5061044e611cd7565b3480156108bc57600080fd5b5061044e611cdd565b3480156108d157600080fd5b5061044e611ce2565b3480156108e657600080fd5b506040805160206004602480358281013584810280870186019097528086526103bd9684359636966044959194909101929182918501908490808284375094975050843595505050602083013592604001359150611ce89050565b600061094c82611db9565b8061099857507fffffffff0000000000000000000000000000000000000000000000000000000082167f54053e6c00000000000000000000000000000000000000000000000000000000145b92915050565b33600090815260076020526040812088519091908990829081106109be57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614606060405190810160405280602381526020017f42524947485449445f53454e4445525f4e4f545f494e5f56455249464943415481526020017f494f4e0000000000000000000000000000000000000000000000000000000000815250901515610af8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610abd578181015183820152602001610aa5565b50505050905090810190601f168015610aea5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50610b068989898989611e03565b600282015460408051808201909152601781527f42524947485449445f414444524553535f564f4944454400000000000000000060208201529060ff1615610baa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50610bb361246c565b6001830155885189907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110610be857fe5b60209081029091010151825490915073ffffffffffffffffffffffffffffffffffffffff161515610c5a5781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8216178255610c5a89612486565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260076020526040902054161515610cd75773ffffffffffffffffffffffffffffffffffffffff8116600081815260076020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b73ffffffffffffffffffffffffffffffffffffffff841615610df55781546040517f870e73c2000000000000000000000000000000000000000000000000000000008152336004820181815273ffffffffffffffffffffffffffffffffffffffff93841660248401819052606060448501908152885160648601528851958a169563870e73c29592938a93909291608490910190602085019080838360005b83811015610d8e578181015183820152602001610d76565b50505050905090810190601f168015610dbb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610ddc57600080fd5b505af1158015610df0573d6000803e3d6000fd5b505050505b6040805133815290517feeda149c76076b34d4b9d8896c2f7efc0d33d1c7b53ea3c5db490d64613f603a9181900360200190a1505050505050505050565b600080610e3e611415565b90508015801590610e56575080610e53612572565b10155b91505b5090565b60076020526000908152604090208054600182015460029092015473ffffffffffffffffffffffffffffffffffffffff909116919060ff1683565b60045481565b6000610ea8611923565b73ffffffffffffffffffffffffffffffffffffffff166304bf2a7f836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f2c578181015183820152602001610f14565b50505050905090810190601f168015610f595780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b158015610f7857600080fd5b505af1158015610f8c573d6000803e3d6000fd5b505050506040513d6020811015610fa257600080fd5b505192915050565b6000610fb4611b52565b73ffffffffffffffffffffffffffffffffffffffff166332f0a3b56040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561101757600080fd5b505af115801561102b573d6000803e3d6000fd5b505050506040513d602081101561104157600080fd5b505190505b90565b604080517f5550444154455f53455454494e47535f524f4c4500000000000000000000000081528151908190036014018120600080835260208301909352916110989133918491905b50611793565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611135576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5050600655565b60025481565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152905190819003601401902081565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040902080549091161515905b50919050565b60038054829081106111ba57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b601481565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291611233913391849190611092565b60408051808201909152600f81527f4150505f415554485f4641494c4544000000000000000000000000000000000060208201529015156112d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b506112da8261258e565b5050565b60055481565b60005415611307576000546112ff908263ffffffff61265a16565b60005561131b565b611317428263ffffffff61265a16565b6000555b50565b600055565b600061132d612572565b905090565b600154156113555760015461134d908263ffffffff61270c16565b60015561131b565b611365438263ffffffff61270c16565b60015550565b606060038054806020026020016040519081016040528092919081815260200182805480156113d057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116113a5575b5050505050905090565b600061132d6127b1565b50600190565b600061132d7fd625496217aa6a3453eecb9c3489dc5a53e6c67b444329ea2b2cbc9ff547639b6127c3565b600061132d7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e6127c3565b6000541561145b576000546112ff908263ffffffff61270c16565b611317428263ffffffff61270c16565b60015481565b600080600061147f846113e4565b60408051808201909152601281527f5245434f5645525f444953414c4c4f5745440000000000000000000000000000602082015290151561151c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50611525610faa565b9250611530836127cb565b60408051808201909152601a81527f5245434f5645525f5641554c545f4e4f545f434f4e545241435400000000000060208201529015156115cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5073ffffffffffffffffffffffffffffffffffffffff84161515611638576040513031925073ffffffffffffffffffffffffffffffffffffffff84169083156108fc029084906000818181858888f19350505050158015611632573d6000803e3d6000fd5b50611728565b508261166073ffffffffffffffffffffffffffffffffffffffff82163063ffffffff6127fe16565b915061168973ffffffffffffffffffffffffffffffffffffffff8216848463ffffffff61293b16565b60408051808201909152601d81527f5245434f5645525f544f4b454e5f5452414e534645525f4641494c45440000006020820152901515611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f596caf56044b55fb8c4ca640089bbc2b63cae3e978b851f5745cbb7c5b288e02846040518082815260200191505060405180910390a350505050565b60008061179e610e33565b15156117ad576000915061191b565b6117b5611b52565b905073ffffffffffffffffffffffffffffffffffffffff811615156117dd576000915061191b565b8073ffffffffffffffffffffffffffffffffffffffff1663fdef9106863087611805886129d3565b6040517c010000000000000000000000000000000000000000000000000000000063ffffffff871602815273ffffffffffffffffffffffffffffffffffffffff808616600483019081529085166024830152604482018490526080606483019081528351608484015283519192909160a490910190602085019080838360005b8381101561189d578181015183820152602001611885565b50505050905090810190601f1680156118ca5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506040513d602081101561191657600080fd5b505191505b509392505050565b60008061192e611b52565b604080517fbe00bbd80000000000000000000000000000000000000000000000000000000081527fd6f028ca0e8edb4a8c9757ca4fdccab25fa1e0317da1188108f7d2dee14902fb60048201527fddbcfd564f642ab5627cf68b9b7d374fb4f8a36e941a75d89c87998cef03bd616024820152905173ffffffffffffffffffffffffffffffffffffffff929092169163be00bbd8916044808201926020929091908290030181600087803b158015610f7857600080fd5b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040812080546005546001830154939492939190921615159184918291611a34919063ffffffff61270c16565b611a3c61246c565b60028601549111925060ff16159050828015611a555750815b8015611a5e5750805b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020908152604080832080548251808401909352601e83527f42524947485449445f4e4f5f554e495155455f49445f41535349474e454400009383019390935292939091161515611b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505473ffffffffffffffffffffffffffffffffffffffff1692915050565b600061132d7f4172f0f7d2289153072b0a6ca36959e0cbe2efc3afe50fc81636caa96338137b6127c3565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611ba8611415565b14905090565b604080517f5550444154455f53455454494e47535f524f4c450000000000000000000000008152815190819003601401812060008083526020830190935291611bfb913391849190611092565b60408051808201909152600f81527f4150505f415554485f4641494c454400000000000000000000000000000000006020820152901515611c98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50611cd1848480806020026020016040519081016040528093929190818152602001838360200280828437508894506129dd9350505050565b50505050565b60065481565b600181565b60005481565b611cf0611415565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015611d8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50611d9784846129dd565b611da08261258e565b60028590556006819055611db2612ca4565b5050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b606060008060008060006004548a5110156040805190810160405280601d81526020017f42524947485449445f494e434f52524543545f54494d455354414d5053000000815250901515611eb3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50600454895110158015611eca5750600454885110155b8015611ed95750600454875110155b60408051808201909152601d81527f42524947485449445f494e434f52524543545f5349474e4154555245530000006020820152901515611f76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5088518a51148015611f89575086518851145b8015611f96575086518951145b606060405190810160405280602581526020017f42524947485449445f5349474e4154555245535f444946464552454e545f4c4581526020017f4e4754485300000000000000000000000000000000000000000000000000000081525090151561205c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5060038054806020026020016040519081016040528092919081815260200182805480156120c057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612095575b5050505050955060009450600093505b600354851080156120e2575060045484105b156123be576002548b8b878151811015156120f957fe5b90602001906020020151604051602001808460001916600019168152602001838051906020019060200280838360005b83811015612141578181015183820152602001612129565b5050505090500182815260200193505050506040516020818303038152906040526040518082805190602001908083835b602083106121af57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612172565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506001838a878151811015156121ef57fe5b906020019060200201518a8881518110151561220757fe5b906020019060200201518a8981518110151561221f57fe5b60209081029091018101516040805160008082528185018084529790975260ff9095168582015260608501939093526080840152905160a08084019492937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0830193908390039091019190865af115801561229e573d6000803e3d6000fd5b5050506020604051035191506122d46006548b878151811015156122be57fe5b602090810290910101519063ffffffff61270c16565b6122dc61246c565b1090508080156122f757506122f7868363ffffffff612d8316565b156123b35761230c868363ffffffff612df616565b6040805190810160405280602081526020017f42524947485449445f43414e5f4e4f545f44454c4554455f56455249464945528152509015156123ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b506001909301925b6001909401936120d0565b60045460408051808201909152601581527f42524947485449445f4e4f545f56455249464945440000000000000000000000602082015290851461245e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505050505050505050505050565b600080541561247e5750600054611046565b61132d612f3b565b600060018251111515612498576112da565b5060015b8151811080156124f157506007600083838151811015156124b957fe5b602090810290910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000206002015460ff16155b156112da57600160076000848481518110151561250a57fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002060020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161249c565b600154600090156125865750600154611046565b61132d612f3f565b60408051606081018252602181527f42524947485449445f524547495354524154494f4e5f504552494f445f5a455260208201527f4f000000000000000000000000000000000000000000000000000000000000009181019190915260008211612654576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50600555565b60408051808201909152601281527f4d4154485f5355425f554e444552464c4f57000000000000000000000000000060208201526000908190848411156126fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b505050808203805b5092915050565b60408051808201909152601181527f4d4154485f4144445f4f564552464c4f570000000000000000000000000000006020820152600090838301908482101561191b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b600061132d6127be61246c565b612f43565b5490565b5490565b60008073ffffffffffffffffffffffffffffffffffffffff831615156127f457600091506111a6565b50506000903b1190565b6040805173ffffffffffffffffffffffffffffffffffffffff83166024808301919091528251808303909101815260449091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f70a0823100000000000000000000000000000000000000000000000000000000179052600090818061288b8684612ff3565b60408051808201909152601c81527f534146455f4552435f32305f42414c414e43455f5245564552544544000000006020820152919350915082151561292d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b508093505b50505092915050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526000906129ca8582613024565b95945050505050565b8051602002815290565b815160408051808201909152601581527f42524947485449445f4e4f5f564552494649455253000000000000000000000060208201529060011115612a7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50815160408051808201909152601b81527f42524947485449445f544f4f5f4d414e595f564552494649455253000000000060208201529060141015612b20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5060408051606081018252602181527f42524947485449445f4e4f545f454e4f5547485f564552494649434154494f4e60208201527f5300000000000000000000000000000000000000000000000000000000000000918101919091526001821015612be8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50815160408051808201909152601f81527f42524947485449445f544f4f5f4d414e595f564552494649434154494f4e5300602082015290821115612c89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b508151612c9d906003906020850190613076565b5060045550565b612cac611415565b60408051808201909152601881527f494e49545f414c52454144595f494e495449414c495a4544000000000000000060208201529015612d48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b50612d81612d54612572565b7febb05b386a8d34882b8711d156f463690983dc47815980fb82aeeff1aa43579e9063ffffffff61307216565b565b6000805b8351811015612dec578273ffffffffffffffffffffffffffffffffffffffff168482815181101515612db557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612de45760019150612705565b600101612d87565b5060009392505050565b815160009081805b82821015612f2f578473ffffffffffffffffffffffffffffffffffffffff168683815181101515612e2b57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415612f24575084517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01818114612ec8578581815181101515612e8b57fe5b906020019060200201518683815181101515612ea357fe5b73ffffffffffffffffffffffffffffffffffffffff9092166020928302909101909101525b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8682815181101515612ef757fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029091019091015260019350612932565b600190910190612dfe565b50600095945050505050565b4290565b4390565b60408051808201909152601581527f55494e5436345f4e554d4245525f544f4f5f4249470000000000000000000000602082015260009067ffffffffffffffff831115612fec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252838181518152602001915080519060200190808383600083811015610abd578181015183820152602001610aa5565b5090919050565b6000806000806040516020818751602089018a5afa9250600083111561301857805191505b50909590945092505050565b6000806040516020818551602087016000895af16000811115613068573d8015613055576020811461305e57613066565b60019350613066565b600183511493505b505b5090949350505050565b9055565b8280548282559060005260206000209081019282156130f0579160200282015b828111156130f057825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190613096565b50610e59926110469250905b80821115610e595780547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001016130fc5600a165627a7a7230582036b5f19b8db88d4d509f1c56947f46e7cf909b5c4c212a1468a4609e4805af000029",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
