: '\u003CrootDir\u003E\u002Fnode_modules\u002F@formidablejs\u002Fframework\u002Fbin\u002Fjest\u002Fpreprocessor.js',\n },\n};\n","directory_shortid":null,"id":"f0dcd5f8-0ba6-4b5c-b530-84f8c3877e63","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"S19mgSmbAZc","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"jest.config.js","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"# We'll load the axios HTTP library which allows us to easily issue requests\n# to our Formidable back-end. This library automatically handles sending the\n# CSRF token as a header based on the value of the \"XSRF\" token cookie.\n\nwindow.axios = require 'axios'\n","directory_shortid":"S1feermbCZ9","id":"24dd0192-74d8-4413-a8b8-0a6af58521c2","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"SJ67lBQbAbq","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"bootstrap.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"export tag ActionComponent\n\tprop url\n\n\t\u003Cself\u003E\n\t\t\u003Ctable border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"btn btn-primary\" style=\"border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; box-sizing: border-box;\"\u003E\n\t\t\t\u003Ctbody\u003E\n\t\t\t\t\u003Ctr\u003E\n\t\t\t\t\t\u003Ctd align=\"left\" style=\"font-family: sans-serif; font-size: 14px; vertical-align: top; padding-bottom: 15px;\"\u003E\n\t\t\t\t\t\t\u003Ctable border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: auto;\"\u003E\n\t\t\t\t\t\t\t\u003Ctbody\u003E\n\t\t\t\t\t\t\t\t\u003Ctr\u003E\n\t\t\t\t\t\t\t\t\t\u003Ctd style=\"font-family: sans-serif; font-size: 14px; vertical-align: top; background-color: #3498db; border-radius: 5px; text-align: center;\"\u003E\n\t\t\t\t\t\t\t\t\t\t\u003Ca href=url target=\"_blank\" style=\"display: inline-block; color: #ffffff; background-color: #3498db; border: solid 1px #3498db; border-radius: 5px; box-sizing: border-box; cursor: pointer; text-decoration: none; font-size: 14px; font-weight: bold; margin: 0; padding: 12px 25px; text-transform: capitalize; border-color: #3498db;\"\u003E \u003Cslot\u003E","directory_shortid":"Hk9xlSm-RZ9","id":"38bf337c-bb34-449a-94d2-1d23f0fe9e7d","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"r18VlrXWAZq","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"ActionComponent.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"export tag ContentComponent\n\t\u003Cself\u003E\n\t\t\u003Ctr\u003E\n\t\t\t\u003Ctd class=\"content-block\" style=\"font-family: sans-serif; vertical-align: top; padding-bottom: 10px; padding-top: 10px; font-size: 12px; color: #999999; text-align: center;\"\u003E\n\t\t\t\t\u003Cslot\u003E","directory_shortid":"Hk9xlSm-RZ9","id":"c62fc189-b8ef-48d9-8fed-98b13954cf77","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"rkDNxS7bA-c","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"ContentComponent.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"import { helpers } from '@formidablejs\u002Fframework'\n\nexport tag LayoutComponent\n\t\u003Cself\u003E\n\t\t\u003Cbody style=\"margin: 0\"\u003E\n\t\t\t\u003Cdiv style=\"background-color: #f6f6f6; font-family: sans-serif; -webkit-font-smoothing: antialiased; font-size: 14px; line-height: 1.4; margin: 0; padding: 0; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;\"\u003E\n\t\t\t\t\u003Ctable border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"body\" style=\"border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background-color: #f6f6f6\"\u003E\n\t\t\t\t\t\u003Ctr\u003E\n\t\t\t\t\t\t\u003Ctd style=\"font-family: sans-serif; font-size: 14px; vertical-align: top;\"\u003E \" \"\n\t\t\t\t\t\t\u003Ctd class=\"container\" style=\"font-family: sans-serif; font-size: 14px; vertical-align: top; display: block; Margin: 0 auto; max-width: 580px; padding: 10px; width: 580px\"\u003E\n\t\t\t\t\t\t\t\u003Cdiv class=\"content\" style=\"box-sizing: border-box; display: block; Margin: 0 auto; max-width: 580px; padding: 10px\"\u003E\n\t\t\t\t\t\t\t\t\u003Cdiv style=\"clear: both; text-align: center; width: 100%;\"\u003E\n\t\t\t\t\t\t\t\t\t\u003Ctable border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;\"\u003E\n\t\t\t\t\t\t\t\t\t\t\u003Cslot name='header'\u003E\n\n\t\t\t\t\t\t\t\t\u003Ctable class=\"main\" style=\"border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%; background: #ffffff; border-radius: 3px;\"\u003E\n\t\t\t\t\t\t\t\t\t\u003Ctr\u003E\n\t\t\t\t\t\t\t\t\t\t\u003Ctd class=\"wrapper\" style=\"font-family: sans-serif; font-size: 14px; vertical-align: top; box-sizing: border-box; padding: 20px;\"\u003E\n\t\t\t\t\t\t\t\t\t\t\t\u003Ctable border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;\"\u003E\n\t\t\t\t\t\t\t\t\t\t\t\t\u003Ctr\u003E\n\t\t\t\t\t\t\t\t\t\t\t\t\t\u003Ctd style=\"font-family: sans-serif; font-size: 14px; vertical-align: top;\"\u003E\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u003Cslot\u003E\n\n\t\t\t\t\t\t\t\t\u003Cdiv style=\"clear: both; Margin-top: 10px; text-align: center; width: 100%;\"\u003E\n\t\t\t\t\t\t\t\t\t\u003Ctable border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: separate; mso-table-lspace: 0pt; mso-table-rspace: 0pt; width: 100%;\"\u003E\n\t\t\t\t\t\t\t\t\t\t\u003Cslot name='footer'\u003E\n\n\t\t\t\t\t\t\t\t\t\t\u003Ctr\u003E\n\t\t\t\t\t\t\t\t\t\t\t\u003Ctd class=\"content-block\" style=\"font-family: sans-serif; vertical-align: top; padding-bottom: 10px; padding-top: 2px; font-size: 12px; color: #999999; text-align: center;\"\u003E\n\t\t\t\t\t\t\t\t\t\t\t\t\u003Cp\u003E \"© {new Date!.getFullYear!} {helpers.config('app.name')}. All rights reserved.\"\n","directory_shortid":"Hk9xlSm-RZ9","id":"5757a9d1-9ddf-4cb5-8e37-bc151e36fd30","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"HyuNgrmW0Z9","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"LayoutComponent.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"export tag LineComponent\n\t\u003Cself\u003E\n\t\t\u003Chr style=\"background-color: #eee;height: 1px;border:none\"\u003E","directory_shortid":"Hk9xlSm-RZ9","id":"75a26a02-9372-4355-8961-3a0ec453efb9","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"S1FVlrQWAb5","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"LineComponent.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"export tag ParagraphComponent\n\t\u003Cself\u003E\n\t\t\u003Cp style=\"font-family: sans-serif; font-size: 14px; font-weight: normal; margin: 0; Margin-bottom: 15px;\"\u003E \u003Cslot\u003E\n","directory_shortid":"Hk9xlSm-RZ9","id":"a78fa5dd-5dcc-490c-a361-2d6ed54ece09","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"HJ9ElB7ZRWc","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"ParagraphComponent.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"import { Request } from '@formidablejs\u002Fframework'\nimport { Route } from '@formidablejs\u002Fframework'\n\n# --------------------------------------------------------------------------\n# API Routes\n# --------------------------------------------------------------------------\n#\n# Here is where you can register API routes for your application. These\n# routes are loaded by the RouteServiceResolver within a group which\n# is assigned the \"jwt\" middleware group.\n\nRoute.get('\u002Fuser', do(request\\Request)\n\trequest.auth!.user!\n).middleware(['auth'])\n","directory_shortid":"BkigxHX-Cbq","id":"43dd2f3f-8a66-4564-b200-0cddebf21d05","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"SJiNeHm-RZ5","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"api.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"import { App } from '..\u002Fresources\u002Fviews\u002Fapp'\nimport { Request } from '@formidablejs\u002Fframework'\nimport { Route } from '@formidablejs\u002Fframework'\n\n# --------------------------------------------------------------------------\n# Web Routes\n# --------------------------------------------------------------------------\n#\n# Here is where you can register API routes for your application. These\n# routes are loaded by the RouteServiceResolver within a group which\n# is assigned the \"session\" middleware group.\n\nRoute.get '\u002F*', do view(App)\n","directory_shortid":"BkigxHX-Cbq","id":"3f22c62b-52d2-4237-bc74-1d73048f3fb5","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"SJnVgBQZ0Wq","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"web.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"{\n \"template\": \"node\",\n \"infiniteLoopProtection\": true,\n \"view\": \"browser\",\n \"container\": {\n \"port\": 3000,\n \"startScript\": \"start\",\n \"node\": \"14\"\n }\n}\n","directory_shortid":null,"id":"04c029b9-d875-4926-8e8e-017e04977537","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"B1pElB7bAbc","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"sandbox.config.json","updated_at":"2022-03-17T17:43:34","upload_id":null},{"code":"import { Kernel } from '@formidablejs\u002Fframework'\nimport { app } from '.\u002Fbootstrap\u002Fmain'\n\napp.initiate(app.make(Kernel))\n","directory_shortid":null,"id":"55315602-9cef-4581-b2d0-02fbaf672474","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"rkA4lSXZRW5","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"server.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"{\n \"current\": \"http:\u002F\u002F127.0.0.1:3000\"\n}","directory_shortid":"BJElHXbAW5","id":"6a563d43-8934-45ef-9893-ce3ca77f6b12","inserted_at":"2022-03-15T12:14:49","is_binary":null,"sha":null,"shortid":"BJyBlBQWCZ9","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"address.json","updated_at":"2022-03-15T12:15:49","upload_id":null},{"code":"const { current } = require '..\u002Fstorage\u002Fframework\u002Faddress.json'\nconst { SuperTest, Response } = require 'supertest'\nconst request = require 'supertest'\n\ndescribe 'Application (e2e)', do\n\t# @type {SuperTest}\n\tlet app\n\n\tbeforeAll do app = request current\n\n\tit '\u002F (GET: Welcome)', do\n\t\t# @type {Response}\n\t\tconst response = await app.get '\u002F'\n\n\t\texpect(response.status).toEqual(200)\n\t\texpect(response.text).toContain('Yey! You have successfully created a new Formidable project.')\n","directory_shortid":"rJhggrXb0bq","id":"c0b88e14-0778-4ab9-80db-0d04c0f78d47","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"HkergH7bAZ5","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"app.e2e.test.imba","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fdonaldp\u002Fformidable-codesandbox\u002Fb034d30e113e6134f5b6c54ee0d8b509fa531638\u002Fdatabase\u002Fdatabase.sqlite","directory_shortid":"rJexxrmZAWc","id":"dbf9e71a-ee34-41f5-ab22-d689d22e4ac2","inserted_at":"2022-03-15T12:14:49","is_binary":true,"sha":null,"shortid":"SJzHeHm-C-5","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"database.sqlite","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fdonaldp\u002Fformidable-codesandbox\u002Fb034d30e113e6134f5b6c54ee0d8b509fa531638\u002Fpublic\u002Ffavicon.ico","directory_shortid":"r1ZxrXbR-5","id":"30fcdc6c-919e-4cd4-a621-4034c92e1b40","inserted_at":"2022-03-15T12:14:49","is_binary":true,"sha":null,"shortid":"Sk7SlHXWAW5","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"favicon.ico","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"https:\u002F\u002Frawcdn.githack.com\u002Fdonaldp\u002Fformidable-codesandbox\u002Fb034d30e113e6134f5b6c54ee0d8b509fa531638\u002Fresources\u002Fassets\u002Flogo.png","directory_shortid":"SypelHXW0W5","id":"ff30c6e4-792c-4a67-967f-0c73ae82ebef","inserted_at":"2022-03-15T12:14:49","is_binary":true,"sha":null,"shortid":"SkESlrmWC-9","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"logo.png","updated_at":"2022-03-15T12:14:48","upload_id":null},{"code":"## About Formidable\nFormidable is a Imba Framework for Rapid API Development.\n\n![Core](https:\u002F\u002Fgithub.com\u002Fformidablejs\u002Fframework\u002Factions\u002Fworkflows\u002F0-core-test.yml\u002Fbadge.svg)\n![E2E](https:\u002F\u002Fgithub.com\u002Fformidablejs\u002Fframework\u002Factions\u002Fworkflows\u002F1-e2e-test.yml\u002Fbadge.svg)\n![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@formidablejs\u002Fframework)\n![GitHub](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fformidablejs\u002Fframework)\n\n## Contributing\n\nThank you for considering contributing to the Formidable framework! The contribution guide can be found in the [Formidable documentation](https:\u002F\u002Fwww.formidablejs.org\u002Fdocs\u002Fcontributions).\n\n## Code of Conduct\n\nIn order to ensure that the Formidable community is welcoming to all, please review and abide by the [Code of Conduct](https:\u002F\u002Fwww.formidablejs.org\u002Fdocs\u002Fcontributions#code-of-conduct).\n\n## Security Vulnerabilities\n\nIf you discover a security vulnerability within Formidable, please send an e-mail to Donald Pakkies via [donaldpakkies@gmail.com](mailto:donaldpakkies@gmail.com). All security vulnerabilities will be promptly addressed.\n\n## License\n\nThe Formidable framework is open-sourced software licensed under the [MIT license](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT).\n","directory_shortid":null,"id":"190aae25-4325-4c07-9bfc-a51bc1d200c7","inserted_at":"2022-03-15T12:14:48","is_binary":false,"sha":null,"shortid":"B1uZeSQb0-c","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"README1.md","updated_at":"2022-03-15T12:35:43","upload_id":null},{"code":"import { props } from '.\u002Fprops'\nimport { Home } from '.\u002Fpages\u002FHome'\nimport { About } from '.\u002Fpages\u002FAbout'\n\nglobal css @dark\n\tbody bg:gray9 c:white\n\ta c:blue3\n\nexport tag App\n\tcss @off o:0\n\n\tdef render\n\t\t\u003Cself[ff:Nunito ta:center] ease\u003E\n\t\t\t\u003Cnav[p:7 fs:large]\u003E\n\t\t\t\t\u003Ca[fw:bold] route-to=\"\u002F$\"\u003E \"Home\"\n\t\t\t\t\" | \"\n\t\t\t\t\u003Ca[fw:bold] route-to=\"\u002Fabout\"\u003E \"About\"\n\t\n\t\t\t\u003CHome route=\"\u002F$\"\u003E\n\t\t\t\u003CAbout route=\"\u002Fabout\"\u003E\n","directory_shortid":"S1feermbCZ9","id":"55416204-bc90-488e-bda0-9adf70358e29","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"HJ37xSXWCbc","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"App.imba","updated_at":"2022-04-28T17:17:35","upload_id":null},{"code":"#!\u002Fusr\u002Fbin\u002Fenv node\nconst { Console } = require('@formidablejs\u002Fframework');\n\n\u002F**\n * --------------------------------------------------------------------------\n * Run The Craftsman Application\n * --------------------------------------------------------------------------\n *\n * When running the console application, Formidable will attempt to load the\n * console.imba script from the bootstrap directory. This script will be ran\n * using the \"ImbaR\" runtime. Both the runtime and console script can be\n * changed by providing the paths to the runtime and console scripts in the\n * \"make\" function.\n *\u002F\n\nConsole.make().run();\n","directory_shortid":null,"id":"9fe92325-19ff-4ac0-bcba-0a325ddf4eb6","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"Sk8Xxrm-RWc","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"craftsman","updated_at":"2022-04-28T15:43:53","upload_id":null},{"code":"{\n \"name\": \"formidable\",\n \"version\": \"0.0.1\",\n \"description\": \"\",\n \"author\": \"\",\n \"private\": true,\n \"license\": \"UNLICENSED\",\n \"scripts\": {\n \"start\": \"node craftsman serve --addr\",\n \"start:dev\": \"node craftsman serve --dev --addr\",\n \"test\": \"jest --roots test\",\n \"test:watch\": \"jest --roots test --watchAll\"\n },\n \"dependencies\": {\n \"@bugsnag\u002Fjs\": \"^7.16.2\",\n \"@formidablejs\u002Fbugsnag-plugin\": \"^0.0.3\",\n \"@formidablejs\u002Fframework\": \"^0.11.1\",\n \"@formidablejs\u002Fhelpers\": \"^0.1.1\",\n \"@formidablejs\u002Fmailer\": \"0.3.0\",\n \"@formidablejs\u002Fpretty-errors\": \"^0.0.5\",\n \"@formidablejs\u002Fstubs\": \"^0.2.6\",\n \"@formidablejs\u002Fview\": \"^0.1.1\",\n \"@vscode\u002Fsqlite3\": \"^5.0.8\",\n \"axios\": \"^0.27.2\",\n \"imba\": \"^2.0.0-alpha.207\",\n \"imba-shell\": \"^0.4.0\",\n \"supertest\": \"^6.2.3\"\n },\n \"devDependencies\": {\n \"@types\u002Fjest\": \"^27.4.1\",\n \"@types\u002Fnode\": \"^17.0.21\",\n \"jest\": \"^27.5.1\"\n },\n \"keywords\": []\n}\n","directory_shortid":null,"id":"fce4e1fa-5ff4-478f-a92b-6df79fa4a8ee","inserted_at":"2022-03-15T12:14:49","is_binary":false,"sha":null,"shortid":"rJiQeSQbR-9","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"package.json","updated_at":"2022-04-28T17:18:29","upload_id":null},{"code":"import { hasAttr } from '@formidablejs\u002Fview'\nimport { isWaiting } from '@formidablejs\u002Fview'\nimport { readProps } from '@formidablejs\u002Fview'\n\nlet props = { }\nlet ready = false\n\ntag Props\n\tdef render\n\t\t\u003Cself\u003E\n\t\t\tif isWaiting(props) && hasAttr(self)\n\t\t\t\tprops = readProps(self)\n\t\t\t\tready = true\n\t\t\telif !hasAttr(self)\n\t\t\t\tready = true\n\ndef waitForProps\n\tconst condition = do ready === true\n\n\tconst poll = do(resolve)\n\t\tif condition! then resolve!\n\t\telse setTimeout(&, 100) do poll(resolve)\n\t\n\tnew Promise(poll)\n\nexport {\n\tprops\n\tProps\n\twaitForProps\n}\n","directory_shortid":"S1feermbCZ9","id":"1ad0deb0-3c97-40cc-b772-98a23a03946e","inserted_at":"2022-03-15T12:14:48","is_binary":false,"sha":null,"shortid":"SyMEgBmWCWc","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"props.imba","updated_at":"2022-04-28T17:16:28","upload_id":null},{"code":"import '.\u002Fbootstrap'\nimport { waitForProps } from '.\u002Fprops'\nimport { App } from '.\u002FApp'\n\ndef main\n\tawait waitForProps!\n\n\timba.mount \u003CApp\u003E\n\nmain!\n","directory_shortid":"S1feermbCZ9","id":"afd96ecc-3dca-431d-aeba-6b20287fbdfd","inserted_at":"2022-03-15T12:14:48","is_binary":false,"sha":null,"shortid":"BJJ4xSmbCW9","source_id":"1514ecfc-fb24-44bb-9e75-979ccaa1b8cb","title":"main.imba","updated_at":"2022-04-28T17:16:51","upload_id":null}]};