{
  "manifest_version": "1.0.0",
  "template": {
    "id": "c6e8dbb0-efe8-4b25-b379-c9e3ad091871",
    "slug": "apache-pinot-or-just-updated-real-time-o",
    "name": "Apache Pinot | (Just Updated) Real-Time OLAP Database, SQL API, Auth On, Data Survives Redeploys",
    "description": "Apache Pinot real-time OLAP database, SQL over REST, auth on, one service",
    "url": "https://railway.com/deploy/apache-pinot-or-just-updated-real-time-o",
    "upstream": {
      "image": "apachepinot/pinot:1.6.0@sha256:94e2825071e62e34bf2dd1b74cc1e4653cc7b3f6a0a2cf3d29ff9ddfa19b81af"
    }
  },
  "status": "unvalidated",
  "validated_at": null,
  "success_rate_30d": null,
  "services": [
    {
      "name": "pinot",
      "source": {
        "image": "apachepinot/pinot:1.6.0@sha256:94e2825071e62e34bf2dd1b74cc1e4653cc7b3f6a0a2cf3d29ff9ddfa19b81af"
      },
      "needs_volume": true,
      "volume_mount_path": "/var/pinot",
      "http": true
    }
  ],
  "required_inputs": [
    {
      "key": "ADMIN_PASSWORD",
      "service": "pinot",
      "description": "Provide a value for ADMIN_PASSWORD.",
      "secret": true,
      "strategy": "generate",
      "generate": "strong_password"
    },
    {
      "key": "RAILWAY_RUN_UID",
      "service": "pinot",
      "description": "Provide a value for RAILWAY_RUN_UID.",
      "secret": false,
      "strategy": "generate",
      "generate": "random_base64_32"
    },
    {
      "key": "PINOT_PUBLIC_URL",
      "service": "pinot",
      "description": "Provide a value for PINOT_PUBLIC_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_domain"
    },
    {
      "key": "PINOT_PRIVATE_URL",
      "service": "pinot",
      "description": "Provide a value for PINOT_PRIVATE_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    },
    {
      "key": "PINOT_PRIVATE_BROKER_URL",
      "service": "pinot",
      "description": "Provide a value for PINOT_PRIVATE_BROKER_URL.",
      "secret": false,
      "strategy": "railway_provided",
      "railway_source": "railway_private_domain"
    }
  ],
  "deploy": {
    "mcp": {
      "server": "railway",
      "tool": "deploy_template",
      "args": {
        "template_code": "apache-pinot-or-just-updated-real-time-o"
      }
    },
    "cli": "railway deploy --template apache-pinot-or-just-updated-real-time-o",
    "api": {
      "method": "POST",
      "path": "/graphql/v2",
      "body": {
        "query": "mutation templateDeploy($input: TemplateDeployV2Input!) { templateDeployV2(input: $input) { projectId workflowId } }",
        "variables": {
          "input": {
            "templateId": "c6e8dbb0-efe8-4b25-b379-c9e3ad091871",
            "serializedConfig": {
              "buckets": {},
              "services": {
                "815fe7af-2232-465a-824f-3bbf22af7d15": {
                  "icon": null,
                  "name": "pinot",
                  "deploy": {
                    "startCommand": "/bin/bash -c 'eval \"$(echo IyEvYmluL2Jhc2gKIyBSYWlsd2F5IGJvb3QgZm9yIEFwYWNoZSBQaW5vdDogWm9vS2VlcGVyLCBjb250cm9sbGVyLCBicm9rZXIgYW5kIHNlcnZlciBpbiBvbmUgY29udGFpbmVyLgojCiMgVXBzdHJlYW0gZG9jdW1lbnRzIFBpbm90IGFzIGZvdXIgY29udGFpbmVycyAocGx1cyBhIFpvb0tlZXBlcikuIE9uIFJhaWx3YXkgdGhhdCBpcyBmb3VyIGlkbGUgSlZNcywKIyBmb3VyIHZvbHVtZXMgYW5kIGEgcHJpdmF0ZS1uZXR3b3JrIHdpcmluZyBqb2IgZm9yIHRoZSBkZXBsb3llciwgc28gdGhpcyBzY3JpcHQgcnVucyBhbGwgZm91ciBpbgojIHRoaXMgY29udGFpbmVyIGFnYWluc3Qgb25lIHZvbHVtZSBhbmQgc3VwZXJ2aXNlcyB0aGVtOiBpZiBhbnkgZXhpdHMsIHRoZSBvdGhlcnMgYXJlIHN0b3BwZWQgYW5kCiMgdGhlIGNvbnRhaW5lciBleGl0cywgd2hpY2ggbWFrZXMgUmFpbHdheSdzIHJlc3RhcnQgcG9saWN5IGRvIHRoZSByZWNvdmVyeSByYXRoZXIgdGhhbiBsZWF2aW5nIGEKIyBoYWxmLWFsaXZlIGNsdXN0ZXIgdGhhdCBhbnN3ZXJzIHRoZSBoZWFsdGhjaGVjayBhbmQgZmFpbHMgcXVlcmllcy4KIwojIFRoaW5ncyBhIHRlbXBsYXRlIGNhbm5vdCBjYXJyeSBhcyBsaXRlcmFscyBhcmUgZG9uZSBoZXJlOgojICAtIGNvbnRyb2xsZXIgYmFzaWMgYXV0aCAodGhlIHN0b2NrIGNvbnRyb2xsZXIsIGJyb2tlciBhbmQgc2VydmVyIGFuc3dlciBhbnkgY2FsbGVyLCBpbmNsdWRpbmcKIyAgICBEREwgYW5kIHNlZ21lbnQgZGVsZXRlcykgd2l0aCB0aGUgcGFzc3dvcmQgZ2VuZXJhdGVkIHBlciBkZXBsb3ksCiMgIC0gYSBGSVhFRCBob3N0IG5hbWUgZm9yIGV2ZXJ5IHJvbGUuIFBpbm90IHJlY29yZHMgaXRzIGluc3RhbmNlIGlkIGFzIDxyb2xlPl88aG9zdG5hbWU+Xzxwb3J0PiBhbmQKIyAgICBwaW5zIGV2ZXJ5IHNlZ21lbnQgdG8gdGhhdCBpZCwgYW5kIFJhaWx3YXkgZ2l2ZXMgYSByZWRlcGxveWVkIGNvbnRhaW5lciBhIG5ldyBob3N0bmFtZSwgc28gdGhlCiMgICAgc3RvY2sgY29uZmlnIG9ycGhhbnMgZXZlcnkgc2VnbWVudCBvbiB0aGUgZmlyc3QgcmVkZXBsb3kuIGBwaW5vdC1ub2RlYCBpcyByZXNvbHZlZCB0aHJvdWdoCiMgICAgL2V0Yy9ob3N0cyB0byB0aGlzIGNvbnRhaW5lciwgc28gdGhlIGluc3RhbmNlIGlkcyBzdXJ2aXZlIGEgcmVkZXBsb3ksCiMgIC0gdGhlIGNvbnRyb2xsZXIgb24gUmFpbHdheSdzIGluamVjdGVkIFBPUlQgKHRoZSBoZWFsdGhjaGVjayBkaWFscyB0aGF0IHBvcnQpLCB0aGUgYnJva2VyIGFuZAojICAgIHNlcnZlciBvbiBwcml2YXRlIGxvb3BiYWNrLXJlYWNoYWJsZSBwb3J0cywKIyAgLSBKVk0gaGVhcCBzaXplZCBmcm9tIHRoZSBjZ3JvdXAgbGltaXQgKHRoZSBpbWFnZSBkZWZhdWx0cyB0byAtWG1zNEcgLVhteDRHIGZvciBFQUNIIG9mIHRoZSBmb3VyCiMgICAgSlZNcykgYW5kIGEgcHJvY2Vzc29yIGNvdW50IGNhcCAoYSBtdWx0aS1KVk0gY29udGFpbmVyIGNhbiBleGhhdXN0IFJhaWx3YXkncyBwaWRzLm1heD0xMDAwKS4Kc2V0IC1ldQoKOiAiJHtBRE1JTl9QQVNTV09SRDo/QURNSU5fUEFTU1dPUkQgbXVzdCBiZSBzZXR9IgpQT1JUPSIke1BPUlQ6LTgwODB9IgpEQVRBPS92YXIvcGlub3QKSE9TVD1waW5vdC1ub2RlCkNMVVNURVI9cmFpbHdheS1waW5vdApDT05GPSIkREFUQS9jb25mIgpta2RpciAtcCAiJERBVEEvemsiICIkREFUQS9jb250cm9sbGVyIiAiJERBVEEvc2VydmVyL2luZGV4IiAiJERBVEEvc2VydmVyL3NlZ21lbnRUYXIiICIkQ09ORiIKCiMgRml4ZWQgaG9zdCBuYW1lIGZvciBldmVyeSByb2xlLCByZXNvbHZlZCB0byB0aGlzIGNvbnRhaW5lci4KZ3JlcCAtcSAiICRIT1NUXCQiIC9ldGMvaG9zdHMgMj4vZGV2L251bGwgfHwgZWNobyAiMTI3LjAuMC4xICRIT1NUIiA+PiAvZXRjL2hvc3RzCgojIFNpemUgZnJvbSB0aGUgY2dyb3VwLCBub3QgdGhlIGhvc3QgKFJhaWx3YXkgY29udGFpbmVycyByZXBvcnQgdGhlIGhvc3QncyBSQU0gYW5kIGNvcmVzKS4KTT0kKGNhdCAvc3lzL2ZzL2Nncm91cC9tZW1vcnkubWF4IDI+L2Rldi9udWxsIHx8IGVjaG8gbWF4KQpRPSQoY3V0IC1kJyAnIC1mMSAvc3lzL2ZzL2Nncm91cC9jcHUubWF4IDI+L2Rldi9udWxsIHx8IGVjaG8gbWF4KQppZiBbICIkTSIgIT0gbWF4IF0gJiYgWyAiJE0iIC1sdCAxMDAwMDAwMDAwMDAwIF0gMj4vZGV2L251bGw7IHRoZW4KICBNRU1fTUI9JCgoTSAvIDEwNDg1NzYpKQplbHNlCiAgTUVNX01CPSQoYXdrICcvTWVtVG90YWwvIHtwcmludCBpbnQoJDIgLyAxMDI0KX0nIC9wcm9jL21lbWluZm8pCiAgWyAiJE1FTV9NQiIgLWd0IDgxOTIgXSAmJiBNRU1fTUI9ODE5MgpmaQppZiBbICIkUSIgIT0gbWF4IF0gJiYgWyAiJFEiIC1ndCAwIF0gMj4vZGV2L251bGw7IHRoZW4KICBDT1JFUz0kKCggKFEgKyA5OTk5OSkgLyAxMDAwMDAgKSkKZWxzZQogIENPUkVTPSQobnByb2MpCmZpClsgIiRDT1JFUyIgLWd0IDggXSAmJiBDT1JFUz04CiMgSGVhcCBzcGxpdDogc2VydmVyIDI4JSwgY29udHJvbGxlciAxMiUsIGJyb2tlciAxMiUsIHpvb2tlZXBlciAzJTsgdGhlIHNlcnZlciBhbHNvIHRha2VzIGRpcmVjdAojIG1lbW9yeSAob2ZmLWhlYXApIGZvciBzZWdtZW50IGxvYWRpbmcuClNSVl9NQj0kKChNRU1fTUIgKiAyOCAvIDEwMCkpOyBbICIkU1JWX01CIiAtbHQgMjU2IF0gJiYgU1JWX01CPTI1NgpDVExfTUI9JCgoTUVNX01CICogMTIgLyAxMDApKTsgWyAiJENUTF9NQiIgLWx0IDE5MiBdICYmIENUTF9NQj0xOTIKQlJLX01CPSQoKE1FTV9NQiAqIDEyIC8gMTAwKSk7IFsgIiRCUktfTUIiIC1sdCAxOTIgXSAmJiBCUktfTUI9MTkyClpLX01CPSQoKE1FTV9NQiAqIDMgLyAxMDApKTsgICBbICIkWktfTUIiIC1sdCA5NiBdICYmIFpLX01CPTk2CkRJUkVDVF9NQj0kKChNRU1fTUIgKiAxNSAvIDEwMCkpOyBbICIkRElSRUNUX01CIiAtbHQgMTI4IF0gJiYgRElSRUNUX01CPTEyOApDT01NT049Ii1YWDpBY3RpdmVQcm9jZXNzb3JDb3VudD0kQ09SRVMgLVhYOitFeGl0T25PdXRPZk1lbW9yeUVycm9yIC1EcGlub3QuYWRtaW4uc3lzdGVtLmV4aXQ9dHJ1ZSIKClRPS0VOPSJCYXNpYyAkKHByaW50ZiAnYWRtaW46JXMnICIkQURNSU5fUEFTU1dPUkQiIHwgYmFzZTY0IHwgdHIgLWQgJ1xuJykiCgpjYXQgPiAiJENPTkYvY29udHJvbGxlci5jb25mIiA8PEVPRgpwaW5vdC5zZXJ2aWNlLnJvbGU9Q09OVFJPTExFUgpwaW5vdC5jbHVzdGVyLm5hbWU9JENMVVNURVIKcGlub3Quemsuc2VydmVyPWxvY2FsaG9zdDoyMTgxCmNvbnRyb2xsZXIuaG9zdD0kSE9TVApjb250cm9sbGVyLnBvcnQ9JFBPUlQKY29udHJvbGxlci52aXAuaG9zdD0kSE9TVApjb250cm9sbGVyLnZpcC5wb3J0PSRQT1JUCmNvbnRyb2xsZXIudmlwLnByb3RvY29sPWh0dHAKY29udHJvbGxlci5kYXRhLmRpcj0kREFUQS9jb250cm9sbGVyCmNvbnRyb2xsZXIuYWRtaW4uYWNjZXNzLmNvbnRyb2wuZmFjdG9yeS5jbGFzcz1vcmcuYXBhY2hlLnBpbm90LmNvbnRyb2xsZXIuYXBpLmFjY2Vzcy5CYXNpY0F1dGhBY2Nlc3NDb250cm9sRmFjdG9yeQpjb250cm9sbGVyLmFkbWluLmFjY2Vzcy5jb250cm9sLnByaW5jaXBhbHM9YWRtaW4KY29udHJvbGxlci5hZG1pbi5hY2Nlc3MuY29udHJvbC5wcmluY2lwYWxzLmFkbWluLnBhc3N3b3JkPSRBRE1JTl9QQVNTV09SRApjb250cm9sbGVyLnNlZ21lbnQuZmV0Y2hlci5hdXRoLnRva2VuPSRUT0tFTgpwaW5vdC5jb250cm9sbGVyLnNlZ21lbnQuZmV0Y2hlci5hdXRoLnRva2VuPSRUT0tFTgpjb250cm9sbGVyLnNlZ21lbnQudXBsb2FkLmF1dGgudG9rZW49JFRPS0VOCkVPRgoKY2F0ID4gIiRDT05GL2Jyb2tlci5jb25mIiA8PEVPRgpwaW5vdC5zZXJ2aWNlLnJvbGU9QlJPS0VSCnBpbm90LmNsdXN0ZXIubmFtZT0kQ0xVU1RFUgpwaW5vdC56ay5zZXJ2ZXI9bG9jYWxob3N0OjIxODEKcGlub3QuYnJva2VyLmNsaWVudC5xdWVyeVBvcnQ9ODA5OQpwaW5vdC5icm9rZXIuaW5zdGFuY2UuaWQ9QnJva2VyX3Bpbm90LW5vZGVfODA5OQpwaW5vdC5icm9rZXIuaG9zdG5hbWU9cGlub3Qtbm9kZQpwaW5vdC5icm9rZXIuYWNjZXNzLmNvbnRyb2wuY2xhc3M9b3JnLmFwYWNoZS5waW5vdC5icm9rZXIuYnJva2VyLkJhc2ljQXV0aEFjY2Vzc0NvbnRyb2xGYWN0b3J5CnBpbm90LmJyb2tlci5hY2Nlc3MuY29udHJvbC5wcmluY2lwYWxzPWFkbWluCnBpbm90LmJyb2tlci5hY2Nlc3MuY29udHJvbC5wcmluY2lwYWxzLmFkbWluLnBhc3N3b3JkPSRBRE1JTl9QQVNTV09SRApwaW5vdC5icm9rZXIuc2VnbWVudC5mZXRjaGVyLmF1dGgudG9rZW49JFRPS0VOCkVPRgoKY2F0ID4gIiRDT05GL3NlcnZlci5jb25mIiA8PEVPRgpwaW5vdC5zZXJ2aWNlLnJvbGU9U0VSVkVSCnBpbm90LmNsdXN0ZXIubmFtZT0kQ0xVU1RFUgpwaW5vdC56ay5zZXJ2ZXI9bG9jYWxob3N0OjIxODEKcGlub3Quc2VydmVyLm5ldHR5LnBvcnQ9ODA5OApwaW5vdC5zZXJ2ZXIuaW5zdGFuY2UuaWQ9U2VydmVyX3Bpbm90LW5vZGVfODA5OApwaW5vdC5zZXJ2ZXIuaG9zdG5hbWU9cGlub3Qtbm9kZQpwaW5vdC5zZXJ2ZXIuYWRtaW5hcGkucG9ydD04MDk3CnBpbm90LnNlcnZlci5pbnN0YW5jZS5kYXRhRGlyPSREQVRBL3NlcnZlci9pbmRleApwaW5vdC5zZXJ2ZXIuaW5zdGFuY2Uuc2VnbWVudFRhckRpcj0kREFUQS9zZXJ2ZXIvc2VnbWVudFRhcgpwaW5vdC5zZXJ2ZXIuc2VnbWVudC5mZXRjaGVyLmF1dGgudG9rZW49JFRPS0VOCnBpbm90LnNlcnZlci5zZWdtZW50LnVwbG9hZGVyLmF1dGgudG9rZW49JFRPS0VOCnBpbm90LnNlcnZlci5pbnN0YW5jZS5hdXRoLnRva2VuPSRUT0tFTgpFT0YKCmVjaG8gIltyYWlsd2F5XSBwaW5vdCB1aWQ9JChpZCAtdSkgb3duZXI9JChzdGF0IC1jICV1OiVnICIkREFUQSIpIHBvcnQ9JFBPUlQgbWVtPSR7TUVNX01CfU1CIGNvcmVzPSRDT1JFUyBoZWFwIHNlcnZlcj0ke1NSVl9NQn1tIGNvbnRyb2xsZXI9JHtDVExfTUJ9bSBicm9rZXI9JHtCUktfTUJ9bSB6az0ke1pLX01CfW0iCgpjZCAvb3B0L3Bpbm90CkpBVkFfT1BUUz0iLVhtcyR7WktfTUJ9bSAtWG14JHtaS19NQn1tICRDT01NT04iIC4vYmluL3Bpbm90LWFkbWluLnNoIFN0YXJ0Wm9va2VlcGVyIC16a1BvcnQgMjE4MSAtZGF0YURpciAiJERBVEEvemsiICYKWks9JCEKIyBDb250cm9sbGVyIGFuZCBicm9rZXIgd2FpdCBvbiBab29LZWVwZXIgdGhlbXNlbHZlcyAoSGVsaXggcmV0cmllcyksIGJ1dCBzdGFydCB0aGVtIGluIG9yZGVyIHNvIHRoZQojIGxvZyByZWFkcyBpbiBvcmRlci4KaT0wCnVudGlsIChleGVjIDM8Pi9kZXYvdGNwLzEyNy4wLjAuMS8yMTgxKSAyPi9kZXYvbnVsbDsgZG8KICBraWxsIC0wICIkWksiIDI+L2Rldi9udWxsIHx8IHsgZWNobyAiW3JhaWx3YXldIHpvb2tlZXBlciBleGl0ZWQgZHVyaW5nIHN0YXJ0IjsgZXhpdCAxOyB9CiAgaT0kKChpICsgMSkpOyBbICIkaSIgLWd0IDkwIF0gJiYgeyBlY2hvICJbcmFpbHdheV0gem9va2VlcGVyIG5vdCBhbnN3ZXJpbmcgYWZ0ZXIgOTBzIjsga2lsbCAiJFpLIjsgZXhpdCAxOyB9CiAgc2xlZXAgMQpkb25lCgpKQVZBX09QVFM9Ii1YbXMke0NUTF9NQn1tIC1YbXgke0NUTF9NQn1tICRDT01NT04iIC4vYmluL3Bpbm90LWFkbWluLnNoIFN0YXJ0Q29udHJvbGxlciAtY29uZmlnICIkQ09ORi9jb250cm9sbGVyLmNvbmYiICYKQ1RMPSQhCkpBVkFfT1BUUz0iLVhtcyR7QlJLX01CfW0gLVhteCR7QlJLX01CfW0gJENPTU1PTiIgLi9iaW4vcGlub3QtYWRtaW4uc2ggU3RhcnRCcm9rZXIgLWJyb2tlckhvc3QgIiRIT1NUIiAtY29uZmlnICIkQ09ORi9icm9rZXIuY29uZiIgJgpCUks9JCEKSkFWQV9PUFRTPSItWG1zJHtTUlZfTUJ9bSAtWG14JHtTUlZfTUJ9bSAtWFg6TWF4RGlyZWN0TWVtb3J5U2l6ZT0ke0RJUkVDVF9NQn1tICRDT01NT04iIC4vYmluL3Bpbm90LWFkbWluLnNoIFN0YXJ0U2VydmVyIC1zZXJ2ZXJIb3N0ICIkSE9TVCIgLWNvbmZpZyAiJENPTkYvc2VydmVyLmNvbmYiICYKU1JWPSQhCgp0cmFwICdraWxsICRTUlYgJEJSSyAkQ1RMICRaSyAyPi9kZXYvbnVsbDsgd2FpdDsgZXhpdCAxNDMnIFRFUk0gSU5UCgp3aGlsZSBraWxsIC0wICIkWksiIDI+L2Rldi9udWxsICYmIGtpbGwgLTAgIiRDVEwiIDI+L2Rldi9udWxsICYmIGtpbGwgLTAgIiRCUksiIDI+L2Rldi9udWxsICYmIGtpbGwgLTAgIiRTUlYiIDI+L2Rldi9udWxsOyBkbwogIHNsZWVwIDIKZG9uZQplY2hvICJbcmFpbHdheV0gYSBwaW5vdCBwcm9jZXNzIGV4aXRlZDsgc3RvcHBpbmcgY29udGFpbmVyIHNvIFJhaWx3YXkgcmVzdGFydHMgaXQiCmtpbGwgIiRTUlYiICIkQlJLIiAiJENUTCIgIiRaSyIgMj4vZGV2L251bGwgfHwgdHJ1ZQp3YWl0IHx8IHRydWUKZXhpdCAxCg== | base64 -d)\"'",
                    "healthcheckPath": "/health",
                    "restartPolicyType": "ON_FAILURE",
                    "restartPolicyMaxRetries": 10
                  },
                  "source": {
                    "image": "apachepinot/pinot:1.6.0@sha256:94e2825071e62e34bf2dd1b74cc1e4653cc7b3f6a0a2cf3d29ff9ddfa19b81af"
                  },
                  "variables": {
                    "ADMIN_PASSWORD": {
                      "isOptional": false,
                      "defaultValue": "{{ADMIN_PASSWORD}}"
                    },
                    "RAILWAY_RUN_UID": {
                      "isOptional": false,
                      "defaultValue": "{{RAILWAY_RUN_UID}}"
                    },
                    "PINOT_PUBLIC_URL": {
                      "isOptional": false,
                      "defaultValue": "https://${{RAILWAY_PUBLIC_DOMAIN}}"
                    },
                    "PINOT_PRIVATE_URL": {
                      "isOptional": false,
                      "defaultValue": "http://${{RAILWAY_PRIVATE_DOMAIN}}:8080"
                    },
                    "PINOT_PRIVATE_BROKER_URL": {
                      "isOptional": false,
                      "defaultValue": "http://${{RAILWAY_PRIVATE_DOMAIN}}:8099"
                    }
                  },
                  "networking": {
                    "serviceDomains": {
                      "<hasDomain>:8080": {
                        "port": 8080
                      }
                    }
                  },
                  "volumeMounts": {
                    "815fe7af-2232-465a-824f-3bbf22af7d15": {
                      "mountPath": "/var/pinot"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "post_deploy": {
    "healthcheck": {
      "service": "pinot",
      "method": "GET",
      "path": "/health",
      "expect_status": 200
    }
  },
  "resources": {
    "expected_services": 1,
    "needs_volume": true
  },
  "generated_at": "2026-11-03T04:15:09.179Z",
  "generator_version": "0.1.0"
}
