{
  "_format": "hh-sol-artifact-1",
  "contractName": "TimeTransfersLimitsModule",
  "sourceName": "contracts/compliance/modular/modules/TimeTransfersLimitsModule.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "compliance",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "limitTime",
          "type": "uint256"
        }
      ],
      "name": "LimitTimeNotFound",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "compliance",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "arraySize",
          "type": "uint256"
        }
      ],
      "name": "LimitsArraySizeExceeded",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "previousAdmin",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "newAdmin",
          "type": "address"
        }
      ],
      "name": "AdminChanged",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "beacon",
          "type": "address"
        }
      ],
      "name": "BeaconUpgraded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_compliance",
          "type": "address"
        }
      ],
      "name": "ComplianceBound",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "_compliance",
          "type": "address"
        }
      ],
      "name": "ComplianceUnbound",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "compliance",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "limitTime",
          "type": "uint32"
        }
      ],
      "name": "TimeTransferLimitRemoved",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "compliance",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint32",
          "name": "limitTime",
          "type": "uint32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "limitValue",
          "type": "uint256"
        }
      ],
      "name": "TimeTransferLimitUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint32[]",
          "name": "_limitTimes",
          "type": "uint32[]"
        }
      ],
      "name": "batchRemoveTimeTransferLimit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "limitTime",
              "type": "uint32"
            },
            {
              "internalType": "uint256",
              "name": "limitValue",
              "type": "uint256"
            }
          ],
          "internalType": "struct TimeTransfersLimitsModule.Limit[]",
          "name": "_limits",
          "type": "tuple[]"
        }
      ],
      "name": "batchSetTimeTransferLimit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_compliance",
          "type": "address"
        }
      ],
      "name": "bindCompliance",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "canComplianceBind",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_compliance",
          "type": "address"
        }
      ],
      "name": "getTimeTransferLimits",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "limitTime",
              "type": "uint32"
            },
            {
              "internalType": "uint256",
              "name": "limitValue",
              "type": "uint256"
            }
          ],
          "internalType": "struct TimeTransfersLimitsModule.Limit[]",
          "name": "limits",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_compliance",
          "type": "address"
        }
      ],
      "name": "isComplianceBound",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isPlugAndPlay",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "name": "limitValues",
      "outputs": [
        {
          "internalType": "bool",
          "name": "attributedLimit",
          "type": "bool"
        },
        {
          "internalType": "uint8",
          "name": "limitIndex",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "moduleBurnAction",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_compliance",
          "type": "address"
        }
      ],
      "name": "moduleCheck",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "moduleMintAction",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "moduleTransferAction",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "_name",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "_limitTime",
          "type": "uint32"
        }
      ],
      "name": "removeTimeTransferLimit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "uint32",
              "name": "limitTime",
              "type": "uint32"
            },
            {
              "internalType": "uint256",
              "name": "limitValue",
              "type": "uint256"
            }
          ],
          "internalType": "struct TimeTransfersLimitsModule.Limit",
          "name": "_limit",
          "type": "tuple"
        }
      ],
      "name": "setTimeTransferLimit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "transferLimits",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "limitTime",
          "type": "uint32"
        },
        {
          "internalType": "uint256",
          "name": "limitValue",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_compliance",
          "type": "address"
        }
      ],
      "name": "unbindCompliance",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        }
      ],
      "name": "upgradeTo",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "upgradeToAndCall",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "name": "usersCounters",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "timer",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a06040523060805234801561001457600080fd5b5060805161247261004c600039600081816108c30152818161090301528181610bb101528181610bf10152610c8401526124726000f3fe6080604052600436106101665760003560e01c806352d1902d116100d157806392d586df1161008a578063d09b3be011610064578063d09b3be0146104fd578063e6f5e8071461051d578063f104a8c914610305578063f2fde38b1461053157600080fd5b806392d586df1461049c578063bcc21053146104bc578063cee624b2146104dd57600080fd5b806352d1902d146103cb57806353ccd57d146103ee578063715018a61461042a578063777fb3f11461043f5780638129fc1c1461045f5780638da5cb5b1461047457600080fd5b80633659cfe6116101235780633659cfe6146102e5578063372491a214610305578063388ebb15146103255780634a932544146103525780634cf4d295146103725780634f1ef286146103b857600080fd5b8063013b7ce41461016b5780630694a5fb146101a057806306fdde03146101c2578063189fa4031461020e5780632cb7e1ec146102685780632f6bbc5d14610288575b600080fd5b34801561017757600080fd5b5061018b610186366004611d4b565b610551565b60405190151581526020015b60405180910390f35b3480156101ac57600080fd5b506101c06101bb366004611d9e565b610749565b005b3480156101ce57600080fd5b50604080518082018252601981527f54696d655472616e73666572734c696d6974734d6f64756c6500000000000000602082015290516101979190611de6565b34801561021a57600080fd5b50610253610229366004611e2b565b60cb6020908152600093845260408085208252928452828420905282529020805460019091015482565b60408051928352602083019190915201610197565b34801561027457600080fd5b506101c0610283366004611e76565b610869565b34801561029457600080fd5b506102cc6102a3366004611eb7565b60c960209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051921515835260ff909116602083015201610197565b3480156102f157600080fd5b506101c0610300366004611d9e565b6108b9565b34801561031157600080fd5b506101c0610320366004611ef0565b610998565b34801561033157600080fd5b50610345610340366004611d9e565b6109dc565b6040516101979190611f1c565b34801561035e57600080fd5b506101c061036d366004611d9e565b610a64565b34801561037e57600080fd5b5061018b61038d366004611d9e565b6001600160a01b0316600090815260008051602061241d833981519152602052604090205460ff1690565b6101c06103c6366004611f87565b610ba7565b3480156103d757600080fd5b506103e0610c77565b604051908152602001610197565b3480156103fa57600080fd5b5061040e610409366004611ef0565b610d2a565b6040805163ffffffff9093168352602083019190915201610197565b34801561043657600080fd5b506101c0610d6d565b34801561044b57600080fd5b506101c061045a36600461204b565b610d81565b34801561046b57600080fd5b506101c0610ff8565b34801561048057600080fd5b506033546040516001600160a01b039091168152602001610197565b3480156104a857600080fd5b506101c06104b7366004612068565b611108565b3480156104c857600080fd5b5061018b6104d7366004611d9e565b50600190565b3480156104e957600080fd5b506101c06104f83660046120dd565b61114f565b34801561050957600080fd5b506101c0610518366004612140565b61118c565b34801561052957600080fd5b50600161018b565b34801561053d57600080fd5b506101c061054c366004611d9e565b6113db565b60006001600160a01b03851661056957506001610741565b6105738286611451565b1561058057506001610741565b600061058c838761152a565b905060005b6001600160a01b038416600090815260ca602052604090205481101561073a576001600160a01b038416600090815260ca602052604090208054829081106105db576105db612158565b9060005260206000209060020201600101548511156105ff57600092505050610741565b610656848360ca6000886001600160a01b03166001600160a01b03168152602001908152602001600020848154811061063a5761063a612158565b600091825260209091206002909102015463ffffffff1661165b565b15801561071857506001600160a01b038416600090815260ca6020526040902080548290811061068857610688612158565b60009182526020808320600160029093020191909101546001600160a01b0380881680855260cb84526040808620928816865291845281852090855260ca909352832080549193899392909190869081106106e5576106e5612158565b6000918252602080832060029092029091015463ffffffff1683528201929092526040019020546107169190612184565b115b1561072857600092505050610741565b8061073281612197565b915050610591565b5060019150505b949350505050565b33600090815260008051602061241d833981519152602081905260409091205460ff166107915760405162461bcd60e51b8152600401610788906121b0565b60405180910390fd5b60008051602061241d8339815191526001600160a01b0383166107f65760405162461bcd60e51b815260206004820152601f60248201527f696e76616c696420617267756d656e74202d207a65726f2061646472657373006044820152606401610788565b336001600160a01b0384161461081e5760405162461bcd60e51b8152600401610788906121e7565b6001600160a01b038316600081815260208390526040808220805460ff19169055517f408b49d9be1c914c52a0227e18a077e5a892dddf32a26cfa94a5d9708fad77189190a2505050565b33600090815260008051602061241d833981519152602081905260409091205460ff166108a85760405162461bcd60e51b8152600401610788906121b0565b6108b333858461169b565b50505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109015760405162461bcd60e51b815260040161078890612228565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661094a6000805160206123d6833981519152546001600160a01b031690565b6001600160a01b0316146109705760405162461bcd60e51b815260040161078890612274565b610979816117bf565b60408051600080825260208201909252610995918391906117c7565b50565b33600090815260008051602061241d833981519152602081905260409091205460ff166109d75760405162461bcd60e51b8152600401610788906121b0565b505050565b6001600160a01b038116600090815260ca60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a595760008481526020908190206040805180820190915260028502909101805463ffffffff168252600190810154828401529083529092019101610a14565b505050509050919050565b60008051602061241d8339815191526001600160a01b038216610ac95760405162461bcd60e51b815260206004820152601f60248201527f696e76616c696420617267756d656e74202d207a65726f2061646472657373006044820152606401610788565b6001600160a01b03821660009081526020829052604090205460ff1615610b325760405162461bcd60e51b815260206004820152601860248201527f636f6d706c69616e636520616c726561647920626f756e6400000000000000006044820152606401610788565b336001600160a01b03831614610b5a5760405162461bcd60e51b8152600401610788906121e7565b6001600160a01b038216600081815260208390526040808220805460ff19166001179055517f1f7b76c58fb697eb53c6c7c1becb96911516a136e24d7ced386b2355358b75a39190a25050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610bef5760405162461bcd60e51b815260040161078890612228565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c386000805160206123d6833981519152546001600160a01b031690565b6001600160a01b031614610c5e5760405162461bcd60e51b815260040161078890612274565b610c67826117bf565b610c73828260016117c7565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d175760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610788565b506000805160206123d683398151915290565b60ca6020528160005260406000208181548110610d4657600080fd5b60009182526020909120600290910201805460019091015463ffffffff9091169250905082565b610d75611932565b610d7f600061198c565b565b33600090815260008051602061241d833981519152602081905260409091205460ff16610dc05760405162461bcd60e51b8152600401610788906121b0565b600080805b33600090815260ca6020526040902054811015610e405733600090815260ca60205260409020805463ffffffff8716919083908110610e0657610e06612158565b600091825260209091206002909102015463ffffffff1603610e2e5760019250809150610e40565b80610e3881612197565b915050610dc5565b5081610e6d5760405163201493e360e21b815233600482015263ffffffff85166024820152604401610788565b33600090815260ca60205260409020546001108015610ea7575033600090815260ca6020526040902054610ea3906001906122c0565b8114155b15610f505733600090815260ca602052604090208054610ec9906001906122c0565b81548110610ed957610ed9612158565b906000526020600020906002020160ca6000336001600160a01b03166001600160a01b031681526020019081526020016000208281548110610f1d57610f1d612158565b600091825260209091208254600290920201805463ffffffff191663ffffffff9092169190911781556001918201549101555b33600090815260ca60205260409020805480610f6e57610f6e6122d3565b6000828152602080822060026000199490940193840201805463ffffffff19168155600101829055919092553380835260c98252604080842063ffffffff891680865290845293819020805461ffff1916905551928352917f44517d80caa322e667548d639479d5f95bb3c39cc0afeed32098066b0b1bedd391015b60405180910390a250505050565b600054610100900460ff16158080156110185750600054600160ff909116105b806110325750303b158015611032575060005460ff166001145b6110955760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610788565b6000805460ff1916600117905580156110b8576000805461ff0019166101001790555b6110c06119de565b8015610995576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60005b818110156109d75761113d83838381811061112857611128612158565b905060200201602081019061045a919061204b565b8061114781612197565b91505061110b565b60005b818110156109d75761117a83838381811061116f5761116f612158565b90506040020161118c565b8061118481612197565b915050611152565b33600090815260008051602061241d833981519152602081905260409091205460ff166111cb5760405162461bcd60e51b8152600401610788906121b0565b33600090815260c96020908152604082209082906111eb9086018661204b565b63ffffffff168152602080820192909252604090810160009081205433825260ca909352205460ff90911691508115801561122a575060048160ff1610155b15611253576040516382f520a960e01b815233600482015260ff82166024820152604401610788565b81158015611264575060048160ff16105b156113145733600090815260ca6020908152604082208054600181018255908352912085916002020161129782826122e9565b50506040805180820182526001815260ff831660208083019190915233600090815260c982529283209192906112cf9088018861204b565b63ffffffff16815260208082019290925260400160002082518154939092015160ff166101000261ff00199215159290921661ffff199093169290921717905561138e565b33600090815260ca6020908152604080832060c98352908320879391929091906113409085018561204b565b63ffffffff168152602081019190915260400160002054815461010090910460ff1690811061137157611371612158565b9060005260206000209060020201818161138b91906122e9565b50505b337f172f792abfbfd784dac801573197a4dc27fe914e9bb2756ff598a68a359c29c26113bd602087018761204b565b6040805163ffffffff90921682526020808901359083015201610fea565b6113e3611932565b6001600160a01b0381166114485760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610788565b6109958161198c565b6000826001600160a01b0316636a3edf286040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b59190612316565b6040516307feec1960e21b81526001600160a01b0384811660048301529190911690631ffbb06490602401602060405180830381865afa1580156114fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190612333565b90505b92915050565b6000826001600160a01b0316636a3edf286040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190612316565b6001600160a01b031663134e18f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ef9190612316565b604051633c3ad79560e21b81526001600160a01b038481166004830152919091169063f0eb5e5490602401602060405180830381865afa158015611637573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190612316565b6001600160a01b03928316600090815260cb6020908152604080832094909516825292835283812063ffffffff9290921681529152206001015442101590565b60006116a7848461152a565b905060005b6001600160a01b038516600090815260ca60205260409020548110156117b857611723858360ca6000896001600160a01b03166001600160a01b03168152602001908152602001600020848154811061170757611707612158565b600091825260209091206002909102015463ffffffff16611a15565b6001600160a01b03808616600081815260cb60209081526040808320948716835293815283822092825260ca90529182208054869391908590811061176a5761176a612158565b6000918252602080832060029092029091015463ffffffff168352820192909252604001812080549091906117a0908490612184565b909155508190506117b081612197565b9150506116ac565b5050505050565b610995611932565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156117fa576109d783611a74565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611854575060408051601f3d908101601f1916820190925261185191810190612355565b60015b6118b75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610788565b6000805160206123d683398151915281146119265760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610788565b506109d7838383611b10565b6033546001600160a01b03163314610d7f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610788565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611a055760405162461bcd60e51b81526004016107889061236e565b611a0d611b35565b610d7f611b64565b611a2083838361165b565b156109d7576001600160a01b03808416600090815260cb60209081526040808320938616835292815282822063ffffffff8516808452915291902090611a669042612184565b600182015560009055505050565b6001600160a01b0381163b611ae15760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610788565b6000805160206123d683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611b1983611b8b565b600082511180611b265750805b156109d7576108b38383611bcb565b600054610100900460ff16611b5c5760405162461bcd60e51b81526004016107889061236e565b610d7f611bf0565b600054610100900460ff16610d7f5760405162461bcd60e51b81526004016107889061236e565b611b9481611a74565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061152183836040518060600160405280602781526020016123f660279139611c20565b600054610100900460ff16611c175760405162461bcd60e51b81526004016107889061236e565b610d7f3361198c565b6060600080856001600160a01b031685604051611c3d91906123b9565b600060405180830381855af49150503d8060008114611c78576040519150601f19603f3d011682016040523d82523d6000602084013e611c7d565b606091505b5091509150611c8e86838387611c98565b9695505050505050565b60608315611d07578251600003611d00576001600160a01b0385163b611d005760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610788565b5081610741565b6107418383815115611d1c5781518083602001fd5b8060405162461bcd60e51b81526004016107889190611de6565b6001600160a01b038116811461099557600080fd5b60008060008060808587031215611d6157600080fd5b8435611d6c81611d36565b93506020850135611d7c81611d36565b9250604085013591506060850135611d9381611d36565b939692955090935050565b600060208284031215611db057600080fd5b8135611dbb81611d36565b9392505050565b60005b83811015611ddd578181015183820152602001611dc5565b50506000910152565b6020815260008251806020840152611e05816040850160208701611dc2565b601f01601f19169190910160400192915050565b63ffffffff8116811461099557600080fd5b600080600060608486031215611e4057600080fd5b8335611e4b81611d36565b92506020840135611e5b81611d36565b91506040840135611e6b81611e19565b809150509250925092565b600080600060608486031215611e8b57600080fd5b8335611e9681611d36565b92506020840135611ea681611d36565b929592945050506040919091013590565b60008060408385031215611eca57600080fd5b8235611ed581611d36565b91506020830135611ee581611e19565b809150509250929050565b60008060408385031215611f0357600080fd5b8235611f0e81611d36565b946020939093013593505050565b602080825282518282018190526000919060409081850190868401855b82811015611f64578151805163ffffffff168552860151868501529284019290850190600101611f39565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611f9a57600080fd5b8235611fa581611d36565b9150602083013567ffffffffffffffff80821115611fc257600080fd5b818501915085601f830112611fd657600080fd5b813581811115611fe857611fe8611f71565b604051601f8201601f19908116603f0116810190838211818310171561201057612010611f71565b8160405282815288602084870101111561202957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561205d57600080fd5b8135611dbb81611e19565b6000806020838503121561207b57600080fd5b823567ffffffffffffffff8082111561209357600080fd5b818501915085601f8301126120a757600080fd5b8135818111156120b657600080fd5b8660208260051b85010111156120cb57600080fd5b60209290920196919550909350505050565b600080602083850312156120f057600080fd5b823567ffffffffffffffff8082111561210857600080fd5b818501915085601f83011261211c57600080fd5b81358181111561212b57600080fd5b8660208260061b85010111156120cb57600080fd5b60006040828403121561215257600080fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156115245761152461216e565b6000600182016121a9576121a961216e565b5060010190565b6020808252601e908201527f6f6e6c7920626f756e6420636f6d706c69616e63652063616e2063616c6c0000604082015260600190565b60208082526021908201527f6f6e6c7920636f6d706c69616e636520636f6e74726163742063616e2063616c6040820152601b60fa1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b818103818111156115245761152461216e565b634e487b7160e01b600052603160045260246000fd5b81356122f481611e19565b63ffffffff811663ffffffff1983541617825550602082013560018201555050565b60006020828403121561232857600080fd5b8151611dbb81611d36565b60006020828403121561234557600080fd5b81518015158114611dbb57600080fd5b60006020828403121561236757600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516123cb818460208701611dc2565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564f6cc97de1266c180cd39f3b311632644143ce7873d2927755382ad4b39e8ae00a2646970667358221220486994c79bd7a02d8c646c98b45cda4fcdd4122d2f087acac88ff9cbd255dd8364736f6c63430008110033",
  "deployedBytecode": "0x6080604052600436106101665760003560e01c806352d1902d116100d157806392d586df1161008a578063d09b3be011610064578063d09b3be0146104fd578063e6f5e8071461051d578063f104a8c914610305578063f2fde38b1461053157600080fd5b806392d586df1461049c578063bcc21053146104bc578063cee624b2146104dd57600080fd5b806352d1902d146103cb57806353ccd57d146103ee578063715018a61461042a578063777fb3f11461043f5780638129fc1c1461045f5780638da5cb5b1461047457600080fd5b80633659cfe6116101235780633659cfe6146102e5578063372491a214610305578063388ebb15146103255780634a932544146103525780634cf4d295146103725780634f1ef286146103b857600080fd5b8063013b7ce41461016b5780630694a5fb146101a057806306fdde03146101c2578063189fa4031461020e5780632cb7e1ec146102685780632f6bbc5d14610288575b600080fd5b34801561017757600080fd5b5061018b610186366004611d4b565b610551565b60405190151581526020015b60405180910390f35b3480156101ac57600080fd5b506101c06101bb366004611d9e565b610749565b005b3480156101ce57600080fd5b50604080518082018252601981527f54696d655472616e73666572734c696d6974734d6f64756c6500000000000000602082015290516101979190611de6565b34801561021a57600080fd5b50610253610229366004611e2b565b60cb6020908152600093845260408085208252928452828420905282529020805460019091015482565b60408051928352602083019190915201610197565b34801561027457600080fd5b506101c0610283366004611e76565b610869565b34801561029457600080fd5b506102cc6102a3366004611eb7565b60c960209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051921515835260ff909116602083015201610197565b3480156102f157600080fd5b506101c0610300366004611d9e565b6108b9565b34801561031157600080fd5b506101c0610320366004611ef0565b610998565b34801561033157600080fd5b50610345610340366004611d9e565b6109dc565b6040516101979190611f1c565b34801561035e57600080fd5b506101c061036d366004611d9e565b610a64565b34801561037e57600080fd5b5061018b61038d366004611d9e565b6001600160a01b0316600090815260008051602061241d833981519152602052604090205460ff1690565b6101c06103c6366004611f87565b610ba7565b3480156103d757600080fd5b506103e0610c77565b604051908152602001610197565b3480156103fa57600080fd5b5061040e610409366004611ef0565b610d2a565b6040805163ffffffff9093168352602083019190915201610197565b34801561043657600080fd5b506101c0610d6d565b34801561044b57600080fd5b506101c061045a36600461204b565b610d81565b34801561046b57600080fd5b506101c0610ff8565b34801561048057600080fd5b506033546040516001600160a01b039091168152602001610197565b3480156104a857600080fd5b506101c06104b7366004612068565b611108565b3480156104c857600080fd5b5061018b6104d7366004611d9e565b50600190565b3480156104e957600080fd5b506101c06104f83660046120dd565b61114f565b34801561050957600080fd5b506101c0610518366004612140565b61118c565b34801561052957600080fd5b50600161018b565b34801561053d57600080fd5b506101c061054c366004611d9e565b6113db565b60006001600160a01b03851661056957506001610741565b6105738286611451565b1561058057506001610741565b600061058c838761152a565b905060005b6001600160a01b038416600090815260ca602052604090205481101561073a576001600160a01b038416600090815260ca602052604090208054829081106105db576105db612158565b9060005260206000209060020201600101548511156105ff57600092505050610741565b610656848360ca6000886001600160a01b03166001600160a01b03168152602001908152602001600020848154811061063a5761063a612158565b600091825260209091206002909102015463ffffffff1661165b565b15801561071857506001600160a01b038416600090815260ca6020526040902080548290811061068857610688612158565b60009182526020808320600160029093020191909101546001600160a01b0380881680855260cb84526040808620928816865291845281852090855260ca909352832080549193899392909190869081106106e5576106e5612158565b6000918252602080832060029092029091015463ffffffff1683528201929092526040019020546107169190612184565b115b1561072857600092505050610741565b8061073281612197565b915050610591565b5060019150505b949350505050565b33600090815260008051602061241d833981519152602081905260409091205460ff166107915760405162461bcd60e51b8152600401610788906121b0565b60405180910390fd5b60008051602061241d8339815191526001600160a01b0383166107f65760405162461bcd60e51b815260206004820152601f60248201527f696e76616c696420617267756d656e74202d207a65726f2061646472657373006044820152606401610788565b336001600160a01b0384161461081e5760405162461bcd60e51b8152600401610788906121e7565b6001600160a01b038316600081815260208390526040808220805460ff19169055517f408b49d9be1c914c52a0227e18a077e5a892dddf32a26cfa94a5d9708fad77189190a2505050565b33600090815260008051602061241d833981519152602081905260409091205460ff166108a85760405162461bcd60e51b8152600401610788906121b0565b6108b333858461169b565b50505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109015760405162461bcd60e51b815260040161078890612228565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661094a6000805160206123d6833981519152546001600160a01b031690565b6001600160a01b0316146109705760405162461bcd60e51b815260040161078890612274565b610979816117bf565b60408051600080825260208201909252610995918391906117c7565b50565b33600090815260008051602061241d833981519152602081905260409091205460ff166109d75760405162461bcd60e51b8152600401610788906121b0565b505050565b6001600160a01b038116600090815260ca60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610a595760008481526020908190206040805180820190915260028502909101805463ffffffff168252600190810154828401529083529092019101610a14565b505050509050919050565b60008051602061241d8339815191526001600160a01b038216610ac95760405162461bcd60e51b815260206004820152601f60248201527f696e76616c696420617267756d656e74202d207a65726f2061646472657373006044820152606401610788565b6001600160a01b03821660009081526020829052604090205460ff1615610b325760405162461bcd60e51b815260206004820152601860248201527f636f6d706c69616e636520616c726561647920626f756e6400000000000000006044820152606401610788565b336001600160a01b03831614610b5a5760405162461bcd60e51b8152600401610788906121e7565b6001600160a01b038216600081815260208390526040808220805460ff19166001179055517f1f7b76c58fb697eb53c6c7c1becb96911516a136e24d7ced386b2355358b75a39190a25050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610bef5760405162461bcd60e51b815260040161078890612228565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c386000805160206123d6833981519152546001600160a01b031690565b6001600160a01b031614610c5e5760405162461bcd60e51b815260040161078890612274565b610c67826117bf565b610c73828260016117c7565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d175760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610788565b506000805160206123d683398151915290565b60ca6020528160005260406000208181548110610d4657600080fd5b60009182526020909120600290910201805460019091015463ffffffff9091169250905082565b610d75611932565b610d7f600061198c565b565b33600090815260008051602061241d833981519152602081905260409091205460ff16610dc05760405162461bcd60e51b8152600401610788906121b0565b600080805b33600090815260ca6020526040902054811015610e405733600090815260ca60205260409020805463ffffffff8716919083908110610e0657610e06612158565b600091825260209091206002909102015463ffffffff1603610e2e5760019250809150610e40565b80610e3881612197565b915050610dc5565b5081610e6d5760405163201493e360e21b815233600482015263ffffffff85166024820152604401610788565b33600090815260ca60205260409020546001108015610ea7575033600090815260ca6020526040902054610ea3906001906122c0565b8114155b15610f505733600090815260ca602052604090208054610ec9906001906122c0565b81548110610ed957610ed9612158565b906000526020600020906002020160ca6000336001600160a01b03166001600160a01b031681526020019081526020016000208281548110610f1d57610f1d612158565b600091825260209091208254600290920201805463ffffffff191663ffffffff9092169190911781556001918201549101555b33600090815260ca60205260409020805480610f6e57610f6e6122d3565b6000828152602080822060026000199490940193840201805463ffffffff19168155600101829055919092553380835260c98252604080842063ffffffff891680865290845293819020805461ffff1916905551928352917f44517d80caa322e667548d639479d5f95bb3c39cc0afeed32098066b0b1bedd391015b60405180910390a250505050565b600054610100900460ff16158080156110185750600054600160ff909116105b806110325750303b158015611032575060005460ff166001145b6110955760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610788565b6000805460ff1916600117905580156110b8576000805461ff0019166101001790555b6110c06119de565b8015610995576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60005b818110156109d75761113d83838381811061112857611128612158565b905060200201602081019061045a919061204b565b8061114781612197565b91505061110b565b60005b818110156109d75761117a83838381811061116f5761116f612158565b90506040020161118c565b8061118481612197565b915050611152565b33600090815260008051602061241d833981519152602081905260409091205460ff166111cb5760405162461bcd60e51b8152600401610788906121b0565b33600090815260c96020908152604082209082906111eb9086018661204b565b63ffffffff168152602080820192909252604090810160009081205433825260ca909352205460ff90911691508115801561122a575060048160ff1610155b15611253576040516382f520a960e01b815233600482015260ff82166024820152604401610788565b81158015611264575060048160ff16105b156113145733600090815260ca6020908152604082208054600181018255908352912085916002020161129782826122e9565b50506040805180820182526001815260ff831660208083019190915233600090815260c982529283209192906112cf9088018861204b565b63ffffffff16815260208082019290925260400160002082518154939092015160ff166101000261ff00199215159290921661ffff199093169290921717905561138e565b33600090815260ca6020908152604080832060c98352908320879391929091906113409085018561204b565b63ffffffff168152602081019190915260400160002054815461010090910460ff1690811061137157611371612158565b9060005260206000209060020201818161138b91906122e9565b50505b337f172f792abfbfd784dac801573197a4dc27fe914e9bb2756ff598a68a359c29c26113bd602087018761204b565b6040805163ffffffff90921682526020808901359083015201610fea565b6113e3611932565b6001600160a01b0381166114485760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610788565b6109958161198c565b6000826001600160a01b0316636a3edf286040518163ffffffff1660e01b8152600401602060405180830381865afa158015611491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b59190612316565b6040516307feec1960e21b81526001600160a01b0384811660048301529190911690631ffbb06490602401602060405180830381865afa1580156114fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190612333565b90505b92915050565b6000826001600160a01b0316636a3edf286040518163ffffffff1660e01b8152600401602060405180830381865afa15801561156a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158e9190612316565b6001600160a01b031663134e18f46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ef9190612316565b604051633c3ad79560e21b81526001600160a01b038481166004830152919091169063f0eb5e5490602401602060405180830381865afa158015611637573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190612316565b6001600160a01b03928316600090815260cb6020908152604080832094909516825292835283812063ffffffff9290921681529152206001015442101590565b60006116a7848461152a565b905060005b6001600160a01b038516600090815260ca60205260409020548110156117b857611723858360ca6000896001600160a01b03166001600160a01b03168152602001908152602001600020848154811061170757611707612158565b600091825260209091206002909102015463ffffffff16611a15565b6001600160a01b03808616600081815260cb60209081526040808320948716835293815283822092825260ca90529182208054869391908590811061176a5761176a612158565b6000918252602080832060029092029091015463ffffffff168352820192909252604001812080549091906117a0908490612184565b909155508190506117b081612197565b9150506116ac565b5050505050565b610995611932565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156117fa576109d783611a74565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611854575060408051601f3d908101601f1916820190925261185191810190612355565b60015b6118b75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610788565b6000805160206123d683398151915281146119265760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610788565b506109d7838383611b10565b6033546001600160a01b03163314610d7f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610788565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611a055760405162461bcd60e51b81526004016107889061236e565b611a0d611b35565b610d7f611b64565b611a2083838361165b565b156109d7576001600160a01b03808416600090815260cb60209081526040808320938616835292815282822063ffffffff8516808452915291902090611a669042612184565b600182015560009055505050565b6001600160a01b0381163b611ae15760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610788565b6000805160206123d683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611b1983611b8b565b600082511180611b265750805b156109d7576108b38383611bcb565b600054610100900460ff16611b5c5760405162461bcd60e51b81526004016107889061236e565b610d7f611bf0565b600054610100900460ff16610d7f5760405162461bcd60e51b81526004016107889061236e565b611b9481611a74565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061152183836040518060600160405280602781526020016123f660279139611c20565b600054610100900460ff16611c175760405162461bcd60e51b81526004016107889061236e565b610d7f3361198c565b6060600080856001600160a01b031685604051611c3d91906123b9565b600060405180830381855af49150503d8060008114611c78576040519150601f19603f3d011682016040523d82523d6000602084013e611c7d565b606091505b5091509150611c8e86838387611c98565b9695505050505050565b60608315611d07578251600003611d00576001600160a01b0385163b611d005760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610788565b5081610741565b6107418383815115611d1c5781518083602001fd5b8060405162461bcd60e51b81526004016107889190611de6565b6001600160a01b038116811461099557600080fd5b60008060008060808587031215611d6157600080fd5b8435611d6c81611d36565b93506020850135611d7c81611d36565b9250604085013591506060850135611d9381611d36565b939692955090935050565b600060208284031215611db057600080fd5b8135611dbb81611d36565b9392505050565b60005b83811015611ddd578181015183820152602001611dc5565b50506000910152565b6020815260008251806020840152611e05816040850160208701611dc2565b601f01601f19169190910160400192915050565b63ffffffff8116811461099557600080fd5b600080600060608486031215611e4057600080fd5b8335611e4b81611d36565b92506020840135611e5b81611d36565b91506040840135611e6b81611e19565b809150509250925092565b600080600060608486031215611e8b57600080fd5b8335611e9681611d36565b92506020840135611ea681611d36565b929592945050506040919091013590565b60008060408385031215611eca57600080fd5b8235611ed581611d36565b91506020830135611ee581611e19565b809150509250929050565b60008060408385031215611f0357600080fd5b8235611f0e81611d36565b946020939093013593505050565b602080825282518282018190526000919060409081850190868401855b82811015611f64578151805163ffffffff168552860151868501529284019290850190600101611f39565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215611f9a57600080fd5b8235611fa581611d36565b9150602083013567ffffffffffffffff80821115611fc257600080fd5b818501915085601f830112611fd657600080fd5b813581811115611fe857611fe8611f71565b604051601f8201601f19908116603f0116810190838211818310171561201057612010611f71565b8160405282815288602084870101111561202957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60006020828403121561205d57600080fd5b8135611dbb81611e19565b6000806020838503121561207b57600080fd5b823567ffffffffffffffff8082111561209357600080fd5b818501915085601f8301126120a757600080fd5b8135818111156120b657600080fd5b8660208260051b85010111156120cb57600080fd5b60209290920196919550909350505050565b600080602083850312156120f057600080fd5b823567ffffffffffffffff8082111561210857600080fd5b818501915085601f83011261211c57600080fd5b81358181111561212b57600080fd5b8660208260061b85010111156120cb57600080fd5b60006040828403121561215257600080fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156115245761152461216e565b6000600182016121a9576121a961216e565b5060010190565b6020808252601e908201527f6f6e6c7920626f756e6420636f6d706c69616e63652063616e2063616c6c0000604082015260600190565b60208082526021908201527f6f6e6c7920636f6d706c69616e636520636f6e74726163742063616e2063616c6040820152601b60fa1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b818103818111156115245761152461216e565b634e487b7160e01b600052603160045260246000fd5b81356122f481611e19565b63ffffffff811663ffffffff1983541617825550602082013560018201555050565b60006020828403121561232857600080fd5b8151611dbb81611d36565b60006020828403121561234557600080fd5b81518015158114611dbb57600080fd5b60006020828403121561236757600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516123cb818460208701611dc2565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564f6cc97de1266c180cd39f3b311632644143ce7873d2927755382ad4b39e8ae00a2646970667358221220486994c79bd7a02d8c646c98b45cda4fcdd4122d2f087acac88ff9cbd255dd8364736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
