{
  "address": "0xfb7244dD69F46A91DD2F73dC3Da5B99eD0d5336f",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "eventId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "EventCreated",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "_name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_description",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_imageHash",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_location",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "_startTime",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_endTime",
          "type": "uint256"
        }
      ],
      "name": "createEvent",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "events",
      "outputs": [
        {
          "internalType": "string",
          "name": "name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "description",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "imageHash",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "location",
          "type": "string"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "startTime",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "endTime",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "active",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAllEvents",
      "outputs": [
        {
          "components": [
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "description",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "imageHash",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "location",
              "type": "string"
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "startTime",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "endTime",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "active",
              "type": "bool"
            }
          ],
          "internalType": "struct EventManager.Event[]",
          "name": "",
          "type": "tuple[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_eventId",
          "type": "uint256"
        }
      ],
      "name": "getEvent",
      "outputs": [
        {
          "components": [
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "description",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "imageHash",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "location",
              "type": "string"
            },
            {
              "internalType": "address",
              "name": "owner",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "startTime",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "endTime",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "active",
              "type": "bool"
            }
          ],
          "internalType": "struct EventManager.Event",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_eventId",
          "type": "uint256"
        },
        {
          "internalType": "string",
          "name": "_name",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_description",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_imageHash",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "_location",
          "type": "string"
        },
        {
          "internalType": "uint256",
          "name": "_startTime",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "_endTime",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "_active",
          "type": "bool"
        }
      ],
      "name": "updateEvent",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "transactionHash": "0xa4369a3e340665f675aec52ab4e3742a00a24ccf813712698ce04d1fc330ce52",
  "receipt": {
    "to": null,
    "from": "0x72ac37F2B8685300a6B3781669a487eBb94a5CCd",
    "contractAddress": "0xfb7244dD69F46A91DD2F73dC3Da5B99eD0d5336f",
    "transactionIndex": 1,
    "gasUsed": "1004098",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "blockHash": "0xa9eca787f57e2c6420a86c576267b6bd871dc1c7c85dbed84ff449682e99a25c",
    "transactionHash": "0xa4369a3e340665f675aec52ab4e3742a00a24ccf813712698ce04d1fc330ce52",
    "logs": [],
    "blockNumber": 9634126,
    "cumulativeGasUsed": "1056325",
    "status": 1,
    "byzantium": true
  },
  "args": [],
  "numDeployments": 1,
  "solcInputHash": "c49dd8bc51acc3f99a54f819637cd7b5",
  "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"eventId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"EventCreated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_imageHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_location\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endTime\",\"type\":\"uint256\"}],\"name\":\"createEvent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"events\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"imageHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllEvents\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"imageHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"internalType\":\"struct EventManager.Event[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"}],\"name\":\"getEvent\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"imageHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"location\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"internalType\":\"struct EventManager.Event\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_eventId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_description\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_imageHash\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_location\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_active\",\"type\":\"bool\"}],\"name\":\"updateEvent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/EventManager.sol\":\"EventManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\",\"useLiteralContent\":true},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[],\"viaIR\":true},\"sources\":{\"contracts/EventManager.sol\":{\"content\":\"//SPDX-License-Identifier: MIT\\npragma solidity >=0.8.0 <0.9.0;\\n\\n/*\\n * @title EventManager\\n * @dev Manages event creation and details.\\n */\\ncontract EventManager {\\n\\tstruct Event {\\n\\t\\tstring name;\\n\\t\\tstring description;\\n\\t\\tstring imageHash; // IPFS hash of the event's image\\n\\t\\tstring location; // Latitude and longitude: \\\"lat, long\\\"\\n\\t\\taddress owner;\\n\\t\\tuint256 startTime; // Unix timestamp\\n\\t\\tuint256 endTime; // Unix timestamp\\n\\t\\tbool active;\\n\\t}\\n\\n\\tEvent[] public events;\\n\\n\\tevent EventCreated(uint256 indexed eventId, string name, address owner); // Event created\\n\\n\\t// Modifier to ensure only the owner can perform an action\\n\\tmodifier onlyOwner(uint256 _eventId) {\\n\\t\\trequire(\\n\\t\\t\\tmsg.sender == events[_eventId].owner,\\n\\t\\t\\t\\\"Only the owner can perform this action\\\"\\n\\t\\t);\\n\\t\\t_;\\n\\t}\\n\\n\\t// Modifier to ensure event exists\\n\\tmodifier eventExists(uint256 _eventId) {\\n\\t\\trequire(_eventId < events.length, \\\"Event does not exist\\\");\\n\\t\\t_;\\n\\t}\\n\\n\\t// Modifier for validating time range\\n\\tmodifier validTime(uint256 _startTime, uint256 _endTime) {\\n\\t\\trequire(_startTime < _endTime, \\\"Invalid time range\\\");\\n\\t\\t_;\\n\\t}\\n\\n\\t// Modifier for validating location\\n\\tmodifier validLocation(string memory _location) {\\n\\t\\trequire(bytes(_location).length > 0, \\\"Invalid location\\\");\\n\\t\\t_;\\n\\t}\\n\\n\\t// Modifier for validating event name\\n\\tmodifier validName(string memory _name) {\\n\\t\\trequire(bytes(_name).length > 0, \\\"Invalid name\\\");\\n\\t\\trequire(bytes(_name).length <= 128, \\\"Name too long\\\");\\n\\t\\t_;\\n\\t}\\n\\n\\t// Modifier for validating event description\\n\\tmodifier validDescription(string memory _description) {\\n\\t\\trequire(bytes(_description).length > 0, \\\"Invalid description\\\");\\n\\t\\trequire(bytes(_description).length <= 1024, \\\"Description too long\\\");\\n\\t\\t_;\\n\\t}\\n\\n\\t// Modifier for validating IPFS hashes\\n\\tmodifier validImageHash(string memory _imageHash) {\\n\\t\\trequire(bytes(_imageHash).length == 46, \\\"Invalid IPFS hash\\\");\\n\\t\\t_;\\n\\t}\\n\\n\\t/*\\n\\t * @dev Sets event details.\\n\\t * @param _eventId ID of the event.\\n\\t * @param _name Name of the event.\\n\\t * @param _description Description of the event.\\n\\t * @param _imageHash IPFS hash of the event's image.\\n\\t * @param _location Location of the event (description or coordinates).\\n\\t * @param _startTime Start time of the event.\\n\\t * @param _endTime End time of the event.\\n\\t * @param _active Whether the event is active.\\n\\t * @param _isNewEvent Whether the event is new.\\n\\t */\\n\\tfunction _setEvent(\\n\\t\\tuint256 _eventId,\\n\\t\\tstring memory _name,\\n\\t\\tstring memory _description,\\n\\t\\tstring memory _imageHash,\\n\\t\\tstring memory _location,\\n\\t\\tuint256 _startTime,\\n\\t\\tuint256 _endTime,\\n\\t\\tbool _active,\\n\\t\\tbool _isNewEvent\\n\\t) private {\\n\\t\\tEvent memory newEvent = Event({\\n\\t\\t\\tname: _name,\\n\\t\\t\\tdescription: _description,\\n\\t\\t\\timageHash: _imageHash,\\n\\t\\t\\tlocation: _location,\\n\\t\\t\\towner: msg.sender,\\n\\t\\t\\tstartTime: _startTime,\\n\\t\\t\\tendTime: _endTime,\\n\\t\\t\\tactive: _active\\n\\t\\t});\\n\\n\\t\\tif (_isNewEvent) {\\n\\t\\t\\tevents.push(newEvent);\\n\\t\\t\\temit EventCreated(events.length - 1, _name, msg.sender);\\n\\t\\t} else {\\n\\t\\t\\tevents[_eventId] = newEvent;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * @dev Creates a new event.\\n\\t * @param _name Name of the event.\\n\\t * @param _description Description of the event.\\n\\t * @param _imageHash IPFS hash of the event's image.\\n\\t * @param _location Location of the event (description or coordinates).\\n\\t * @param _startTime Start time of the event.\\n\\t * @param _endTime End time of the event.\\n\\t */\\n\\tfunction createEvent(\\n\\t\\tstring calldata _name,\\n\\t\\tstring calldata _description,\\n\\t\\tstring calldata _imageHash,\\n\\t\\tstring calldata _location,\\n\\t\\tuint256 _startTime,\\n\\t\\tuint256 _endTime\\n\\t)\\n\\t\\texternal\\n\\t\\tvalidName(_name)\\n\\t\\tvalidDescription(_description)\\n\\t\\tvalidImageHash(_imageHash)\\n\\t\\tvalidLocation(_location)\\n\\t\\tvalidTime(_startTime, _endTime)\\n\\t{\\n\\t\\t_setEvent(\\n\\t\\t\\t0,\\n\\t\\t\\t_name,\\n\\t\\t\\t_description,\\n\\t\\t\\t_imageHash,\\n\\t\\t\\t_location,\\n\\t\\t\\t_startTime,\\n\\t\\t\\t_endTime,\\n\\t\\t\\ttrue,\\n\\t\\t\\ttrue\\n\\t\\t);\\n\\t}\\n\\n\\t/*\\n\\t * @dev Updates event information.\\n\\t * @param _eventId ID of the event.\\n\\t * @param _name Name of the event.\\n\\t * @param _location Location of the event (description or coordinates).\\n\\t * @param _startTime Start time of the event.\\n\\t * @param _endTime End time of the event.\\n\\t */\\n\\tfunction updateEvent(\\n\\t\\tuint256 _eventId,\\n\\t\\tstring calldata _name,\\n\\t\\tstring calldata _description,\\n\\t\\tstring calldata _imageHash,\\n\\t\\tstring calldata _location,\\n\\t\\tuint256 _startTime,\\n\\t\\tuint256 _endTime,\\n\\t\\tbool _active\\n\\t)\\n\\t\\texternal\\n\\t\\teventExists(_eventId)\\n\\t\\tonlyOwner(_eventId)\\n\\t\\tvalidName(_name)\\n\\t\\tvalidDescription(_description)\\n\\t\\tvalidImageHash(_imageHash)\\n\\t\\tvalidLocation(_location)\\n\\t\\tvalidTime(_startTime, _endTime)\\n\\t{\\n\\t\\t_setEvent(\\n\\t\\t\\t_eventId,\\n\\t\\t\\t_name,\\n\\t\\t\\t_description,\\n\\t\\t\\t_imageHash,\\n\\t\\t\\t_location,\\n\\t\\t\\t_startTime,\\n\\t\\t\\t_endTime,\\n\\t\\t\\t_active,\\n\\t\\t\\tfalse\\n\\t\\t);\\n\\t}\\n\\n\\t/*\\n\\t * @dev Retrieves event information.\\n\\t * @param _eventId ID of the event.\\n\\t * @return Event information.\\n\\t */\\n\\tfunction getEvent(uint256 _eventId) external view returns (Event memory) {\\n\\t\\treturn events[_eventId];\\n\\t}\\n\\n\\t/*\\n\\t * @dev Retrieves all events.\\n\\t * @return All events.\\n\\t */\\n\\tfunction getAllEvents() external view returns (Event[] memory) {\\n\\t\\treturn events;\\n\\t}\\n}\\n\",\"keccak256\":\"0xe8ed9cdddccd8e1e5d84f2301679240c7a1c2ef6d67aae0ca59ab5c0e07251dd\",\"license\":\"MIT\"}},\"version\":1}",
  "bytecode": "0x60808060405234601557611130908161001b8239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c80630b7914301461065057806315cd972d146104305780636d1884e0146103b2578063c27a500d146102b35763e2064c691461005757600080fd5b346102af576101003660031901126102af5780356024359167ffffffffffffffff928381116102ab5761008d90369083016108f5565b906044358581116102a7576100a590369085016108f5565b956064358181116102a3576100bd90369087016108f5565b92909160843590811161029f576100d790369088016108f5565b92909160a4359560c4359760e435998a1515809b0361029b578d548c1015610260576101028c610734565b508101546001600160a01b0316330361020d5750836101be61020a9e9f95946101b68f956102049f9e9d9c9b9a9996956101868e8e6101b08f8f8d906101ce9f602e6101c69f610186926101a8968f6104008f8f926101a196610186608061017261018d956101869836916109b1565b61017e815115156109f8565b511115610a33565b36916109b1565b61019981511515610a6f565b511115610ab1565b5114610af4565b511515610b34565b10610b73565b9e36916109b1565b9636916109b1565b9336916109b1565b928151996101db8b6107bb565b8a5260208a0152880152606087015233608087015260a086015260c085015260e0840152610734565b90610c38565b80f35b6084915060208f519162461bcd60e51b8352820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152fd5b6064915060208f519162461bcd60e51b83528201526014602482015273115d995b9d08191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b8d80fd5b8980fd5b8880fd5b8680fd5b8480fd5b5080fd5b50346102af57816003193601126102af5781549067ffffffffffffffff821161039f575060209183516102eb848460051b01826107ee565b82815281805283810192827f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563855b83831061037a57505050508451938085019181865251809252858501958260051b8601019392955b82871061034e5785850386f35b90919293828061036a600193603f198a82030186528851610928565b9601920196019592919092610341565b60088860019261038d859b98999b610bb4565b81520192019201919096949396610319565b634e487b7160e01b835260419052602482fd5b5082903461042c57602036600319011261042c5761040f610415916104289460e085516103de816107bb565b60608152606060208201526060878201526060808201528260808201528260a08201528260c0820152015235610734565b50610bb4565b9051918291602083526020830190610928565b0390f35b8280fd5b5091346102af5760c03660031901126102af5767ffffffffffffffff833581811161064c5761046290369086016108f5565b6024929192358281116106485761047c90369088016108f5565b939092604435818111610644576104969036908a016108f5565b9490916064359081116102a3576104b09036908b016108f5565b9290916084359460a43596366104c79082846109b1565b805115156104d4906109f8565b51608010156104e290610a33565b6104ed368b856109b1565b805115156104fa90610a6f565b51610400101561050990610ab1565b610514368a866109b1565b51602e1461052190610af4565b61052c3687876109b1565b51151561053890610b34565b610543888810610b73565b369061054e926109b1565b97369061055a926109b1565b953690610566926109b1565b913690610572926109b1565b9086519461057f866107bb565b868652602086015286850152606084015233608084015260a083015260c0820152600160e082015283546801000000000000000081101561063157906102048260016105cd94018755610734565b825460001981019290831161061e5790816106127f40fb05b814a900c99fa0a76d919dfdeaf3389540e4ca70f97ba40ca9a38f379793519282849384528301906108b5565b3360208301520390a280f35b634e487b7160e01b845260118552602484fd5b634e487b7160e01b855260418652602485fd5b8780fd5b8580fd5b8380fd5b50823461042c57602036600319011261042c578135928054841015610731575061067c6106ed93610734565b509161068783610810565b9261069460018201610810565b916107166106a460028401610810565b916107086106b460038601610810565b9160018060a01b039086015416966005860154946106fb60ff600760068a0154990154169883519c8d9c8d6101009081815201906108b5565b8c810360208e0152906108b5565b918a8303908b01526108b5565b9087820360608901526108b5565b93608086015260a085015260c0840152151560e08301520390f35b80fd5b90600091825481101561076d5782805260031b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563019190565b634e487b7160e01b83526032600452602483fd5b90600182811c921680156107b1575b602083101461079b57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610790565b610100810190811067ffffffffffffffff8211176107d857604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176107d857604052565b9060405191826000825461082381610781565b908184526020946001916001811690816000146108935750600114610854575b505050610852925003836107ee565b565b600090815285812095935091905b81831061087b5750506108529350820101388080610843565b85548884018501529485019487945091830191610862565b9250505061085294925060ff191682840152151560051b820101388080610843565b919082519283825260005b8481106108e1575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016108c0565b9181601f840112156109235782359167ffffffffffffffff8311610923576020838186019501011161092357565b600080fd5b9060e08061097f61096d61095b6109496101008851908089528801906108b5565b602088015187820360208901526108b5565b604087015186820360408801526108b5565b606086015185820360608701526108b5565b6080808601516001600160a01b03169085015260a0808601519085015260c08086015190850152930151151591015290565b92919267ffffffffffffffff82116107d857604051916109db601f8201601f1916602001846107ee565b829481845281830111610923578281602093846000960137010152565b156109ff57565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964206e616d6560a01b6044820152606490fd5b15610a3a57565b60405162461bcd60e51b815260206004820152600d60248201526c4e616d6520746f6f206c6f6e6760981b6044820152606490fd5b15610a7657565b60405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103232b9b1b934b83a34b7b760691b6044820152606490fd5b15610ab857565b60405162461bcd60e51b81526020600482015260146024820152734465736372697074696f6e20746f6f206c6f6e6760601b6044820152606490fd5b15610afb57565b60405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c84092a08ca640d0c2e6d607b1b6044820152606490fd5b15610b3b57565b60405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103637b1b0ba34b7b760811b6044820152606490fd5b15610b7a57565b60405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d652072616e676560701b6044820152606490fd5b90604051610bc1816107bb565b60e060ff60078395610bd281610810565b8552610be060018201610810565b6020860152610bf160028201610810565b6040860152610c0260038201610810565b606086015260048101546001600160a01b03166080860152600581015460a0860152600681015460c08601520154161515910152565b906110e4578151805167ffffffffffffffff908181116107d85780610c5d8554610781565b93601f94858111611090575b5060209085831160011461102b57600092611020575b50508160011b916000199060031b1c19161783555b600180840160208601518051908482116107d8578190610cb48454610781565b878111610fcd575b50602090878311600114610f6a57600092610f5f575b5050600019600383901b1c191690831b1790555b6002840160408601518051908482116107d8578190610d058454610781565b878111610f0c575b50602090878311600114610ea957600092610e9e575b5050600019600383901b1c191690831b1790555b6003840192606086015180519384116107d857610d548554610781565b828111610e56575b506020918411600114610de957928060079593819360e09896600094610dde575b50501b916000199060031b1c19161790555b6004810160018060a01b036080860151166bffffffffffffffffffffffff60a01b82541617905560a0840151600582015560c0840151600682015501910151151560ff80198354169116179055565b015192503880610d7d565b90601f9392931983169185600052816000209260005b818110610e4057509160e09795939185600798969410610e27575b505050811b019055610d8f565b015160001960f88460031b161c19169055388080610e1a565b8284015185559386019360209384019301610dff565b8560005260206000208380870160051c82019260208810610e95575b0160051c019084905b828110610e89575050610d5c565b60008155018490610e7b565b92508192610e72565b015190503880610d23565b90859350601f1983169185600052816000209260005b818110610ef457508411610edb575b505050811b019055610d37565b015160001960f88460031b161c19169055388080610ece565b82840151855588969094019360209384019301610ebf565b9091508360005260206000208780850160051c82019260208610610f56575b918791869594930160051c01915b828110610f47575050610d0d565b60008155859450879101610f39565b92508192610f2b565b015190503880610cd2565b90859350601f1983169185600052816000209260005b818110610fb557508411610f9c575b505050811b019055610ce6565b015160001960f88460031b161c19169055388080610f8f565b82840151855588969094019360209384019301610f80565b9091508360005260206000208780850160051c82019260208610611017575b918791869594930160051c01915b828110611008575050610cbc565b60008155859450879101610ffa565b92508192610fec565b015190503880610c7f565b60008781528281209350601f198516905b818110611078575090846001959493921061105f575b505050811b018355610c94565b015160001960f88460031b161c19169055388080611052565b9293602060018192878601518155019501930161103c565b90915060008660005260206000208680860160051c820193602087106110db575b908695949392910160051c01915b8281106110cd575050610c69565b8181558594506001016110bf565b935081936110b1565b634e487b7160e01b600052600060045260246000fdfea2646970667358221220e1c0c7dc0fba6f88a7aadf29fd73d12481b275aa4fe3d818881e3da57956168464736f6c63430008190033",
  "deployedBytecode": "0x60406080815260048036101561001457600080fd5b600090813560e01c80630b7914301461065057806315cd972d146104305780636d1884e0146103b2578063c27a500d146102b35763e2064c691461005757600080fd5b346102af576101003660031901126102af5780356024359167ffffffffffffffff928381116102ab5761008d90369083016108f5565b906044358581116102a7576100a590369085016108f5565b956064358181116102a3576100bd90369087016108f5565b92909160843590811161029f576100d790369088016108f5565b92909160a4359560c4359760e435998a1515809b0361029b578d548c1015610260576101028c610734565b508101546001600160a01b0316330361020d5750836101be61020a9e9f95946101b68f956102049f9e9d9c9b9a9996956101868e8e6101b08f8f8d906101ce9f602e6101c69f610186926101a8968f6104008f8f926101a196610186608061017261018d956101869836916109b1565b61017e815115156109f8565b511115610a33565b36916109b1565b61019981511515610a6f565b511115610ab1565b5114610af4565b511515610b34565b10610b73565b9e36916109b1565b9636916109b1565b9336916109b1565b928151996101db8b6107bb565b8a5260208a0152880152606087015233608087015260a086015260c085015260e0840152610734565b90610c38565b80f35b6084915060208f519162461bcd60e51b8352820152602660248201527f4f6e6c7920746865206f776e65722063616e20706572666f726d20746869732060448201526530b1ba34b7b760d11b6064820152fd5b6064915060208f519162461bcd60e51b83528201526014602482015273115d995b9d08191bd95cc81b9bdd08195e1a5cdd60621b6044820152fd5b8d80fd5b8980fd5b8880fd5b8680fd5b8480fd5b5080fd5b50346102af57816003193601126102af5781549067ffffffffffffffff821161039f575060209183516102eb848460051b01826107ee565b82815281805283810192827f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563855b83831061037a57505050508451938085019181865251809252858501958260051b8601019392955b82871061034e5785850386f35b90919293828061036a600193603f198a82030186528851610928565b9601920196019592919092610341565b60088860019261038d859b98999b610bb4565b81520192019201919096949396610319565b634e487b7160e01b835260419052602482fd5b5082903461042c57602036600319011261042c5761040f610415916104289460e085516103de816107bb565b60608152606060208201526060878201526060808201528260808201528260a08201528260c0820152015235610734565b50610bb4565b9051918291602083526020830190610928565b0390f35b8280fd5b5091346102af5760c03660031901126102af5767ffffffffffffffff833581811161064c5761046290369086016108f5565b6024929192358281116106485761047c90369088016108f5565b939092604435818111610644576104969036908a016108f5565b9490916064359081116102a3576104b09036908b016108f5565b9290916084359460a43596366104c79082846109b1565b805115156104d4906109f8565b51608010156104e290610a33565b6104ed368b856109b1565b805115156104fa90610a6f565b51610400101561050990610ab1565b610514368a866109b1565b51602e1461052190610af4565b61052c3687876109b1565b51151561053890610b34565b610543888810610b73565b369061054e926109b1565b97369061055a926109b1565b953690610566926109b1565b913690610572926109b1565b9086519461057f866107bb565b868652602086015286850152606084015233608084015260a083015260c0820152600160e082015283546801000000000000000081101561063157906102048260016105cd94018755610734565b825460001981019290831161061e5790816106127f40fb05b814a900c99fa0a76d919dfdeaf3389540e4ca70f97ba40ca9a38f379793519282849384528301906108b5565b3360208301520390a280f35b634e487b7160e01b845260118552602484fd5b634e487b7160e01b855260418652602485fd5b8780fd5b8580fd5b8380fd5b50823461042c57602036600319011261042c578135928054841015610731575061067c6106ed93610734565b509161068783610810565b9261069460018201610810565b916107166106a460028401610810565b916107086106b460038601610810565b9160018060a01b039086015416966005860154946106fb60ff600760068a0154990154169883519c8d9c8d6101009081815201906108b5565b8c810360208e0152906108b5565b918a8303908b01526108b5565b9087820360608901526108b5565b93608086015260a085015260c0840152151560e08301520390f35b80fd5b90600091825481101561076d5782805260031b7f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563019190565b634e487b7160e01b83526032600452602483fd5b90600182811c921680156107b1575b602083101461079b57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610790565b610100810190811067ffffffffffffffff8211176107d857604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176107d857604052565b9060405191826000825461082381610781565b908184526020946001916001811690816000146108935750600114610854575b505050610852925003836107ee565b565b600090815285812095935091905b81831061087b5750506108529350820101388080610843565b85548884018501529485019487945091830191610862565b9250505061085294925060ff191682840152151560051b820101388080610843565b919082519283825260005b8481106108e1575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016108c0565b9181601f840112156109235782359167ffffffffffffffff8311610923576020838186019501011161092357565b600080fd5b9060e08061097f61096d61095b6109496101008851908089528801906108b5565b602088015187820360208901526108b5565b604087015186820360408801526108b5565b606086015185820360608701526108b5565b6080808601516001600160a01b03169085015260a0808601519085015260c08086015190850152930151151591015290565b92919267ffffffffffffffff82116107d857604051916109db601f8201601f1916602001846107ee565b829481845281830111610923578281602093846000960137010152565b156109ff57565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964206e616d6560a01b6044820152606490fd5b15610a3a57565b60405162461bcd60e51b815260206004820152600d60248201526c4e616d6520746f6f206c6f6e6760981b6044820152606490fd5b15610a7657565b60405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103232b9b1b934b83a34b7b760691b6044820152606490fd5b15610ab857565b60405162461bcd60e51b81526020600482015260146024820152734465736372697074696f6e20746f6f206c6f6e6760601b6044820152606490fd5b15610afb57565b60405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c84092a08ca640d0c2e6d607b1b6044820152606490fd5b15610b3b57565b60405162461bcd60e51b815260206004820152601060248201526f24b73b30b634b2103637b1b0ba34b7b760811b6044820152606490fd5b15610b7a57565b60405162461bcd60e51b8152602060048201526012602482015271496e76616c69642074696d652072616e676560701b6044820152606490fd5b90604051610bc1816107bb565b60e060ff60078395610bd281610810565b8552610be060018201610810565b6020860152610bf160028201610810565b6040860152610c0260038201610810565b606086015260048101546001600160a01b03166080860152600581015460a0860152600681015460c08601520154161515910152565b906110e4578151805167ffffffffffffffff908181116107d85780610c5d8554610781565b93601f94858111611090575b5060209085831160011461102b57600092611020575b50508160011b916000199060031b1c19161783555b600180840160208601518051908482116107d8578190610cb48454610781565b878111610fcd575b50602090878311600114610f6a57600092610f5f575b5050600019600383901b1c191690831b1790555b6002840160408601518051908482116107d8578190610d058454610781565b878111610f0c575b50602090878311600114610ea957600092610e9e575b5050600019600383901b1c191690831b1790555b6003840192606086015180519384116107d857610d548554610781565b828111610e56575b506020918411600114610de957928060079593819360e09896600094610dde575b50501b916000199060031b1c19161790555b6004810160018060a01b036080860151166bffffffffffffffffffffffff60a01b82541617905560a0840151600582015560c0840151600682015501910151151560ff80198354169116179055565b015192503880610d7d565b90601f9392931983169185600052816000209260005b818110610e4057509160e09795939185600798969410610e27575b505050811b019055610d8f565b015160001960f88460031b161c19169055388080610e1a565b8284015185559386019360209384019301610dff565b8560005260206000208380870160051c82019260208810610e95575b0160051c019084905b828110610e89575050610d5c565b60008155018490610e7b565b92508192610e72565b015190503880610d23565b90859350601f1983169185600052816000209260005b818110610ef457508411610edb575b505050811b019055610d37565b015160001960f88460031b161c19169055388080610ece565b82840151855588969094019360209384019301610ebf565b9091508360005260206000208780850160051c82019260208610610f56575b918791869594930160051c01915b828110610f47575050610d0d565b60008155859450879101610f39565b92508192610f2b565b015190503880610cd2565b90859350601f1983169185600052816000209260005b818110610fb557508411610f9c575b505050811b019055610ce6565b015160001960f88460031b161c19169055388080610f8f565b82840151855588969094019360209384019301610f80565b9091508360005260206000208780850160051c82019260208610611017575b918791869594930160051c01915b828110611008575050610cbc565b60008155859450879101610ffa565b92508192610fec565b015190503880610c7f565b60008781528281209350601f198516905b818110611078575090846001959493921061105f575b505050811b018355610c94565b015160001960f88460031b161c19169055388080611052565b9293602060018192878601518155019501930161103c565b90915060008660005260206000208680860160051c820193602087106110db575b908695949392910160051c01915b8281106110cd575050610c69565b8181558594506001016110bf565b935081936110b1565b634e487b7160e01b600052600060045260246000fdfea2646970667358221220e1c0c7dc0fba6f88a7aadf29fd73d12481b275aa4fe3d818881e3da57956168464736f6c63430008190033",
  "devdoc": {
    "kind": "dev",
    "methods": {},
    "version": 1
  },
  "userdoc": {
    "kind": "user",
    "methods": {},
    "version": 1
  },
  "storageLayout": {
    "storage": [
      {
        "astId": 22,
        "contract": "contracts/EventManager.sol:EventManager",
        "label": "events",
        "offset": 0,
        "slot": "0",
        "type": "t_array(t_struct(Event)18_storage)dyn_storage"
      }
    ],
    "types": {
      "t_address": {
        "encoding": "inplace",
        "label": "address",
        "numberOfBytes": "20"
      },
      "t_array(t_struct(Event)18_storage)dyn_storage": {
        "base": "t_struct(Event)18_storage",
        "encoding": "dynamic_array",
        "label": "struct EventManager.Event[]",
        "numberOfBytes": "32"
      },
      "t_bool": {
        "encoding": "inplace",
        "label": "bool",
        "numberOfBytes": "1"
      },
      "t_string_storage": {
        "encoding": "bytes",
        "label": "string",
        "numberOfBytes": "32"
      },
      "t_struct(Event)18_storage": {
        "encoding": "inplace",
        "label": "struct EventManager.Event",
        "members": [
          {
            "astId": 3,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "name",
            "offset": 0,
            "slot": "0",
            "type": "t_string_storage"
          },
          {
            "astId": 5,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "description",
            "offset": 0,
            "slot": "1",
            "type": "t_string_storage"
          },
          {
            "astId": 7,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "imageHash",
            "offset": 0,
            "slot": "2",
            "type": "t_string_storage"
          },
          {
            "astId": 9,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "location",
            "offset": 0,
            "slot": "3",
            "type": "t_string_storage"
          },
          {
            "astId": 11,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "owner",
            "offset": 0,
            "slot": "4",
            "type": "t_address"
          },
          {
            "astId": 13,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "startTime",
            "offset": 0,
            "slot": "5",
            "type": "t_uint256"
          },
          {
            "astId": 15,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "endTime",
            "offset": 0,
            "slot": "6",
            "type": "t_uint256"
          },
          {
            "astId": 17,
            "contract": "contracts/EventManager.sol:EventManager",
            "label": "active",
            "offset": 0,
            "slot": "7",
            "type": "t_bool"
          }
        ],
        "numberOfBytes": "256"
      },
      "t_uint256": {
        "encoding": "inplace",
        "label": "uint256",
        "numberOfBytes": "32"
      }
    }
  }
}