{
  "httpRequest": {
    "method": "POST",
    "path": "/v1/messages",
    "body": {
      "contentType": "application/json",
      "type": "JSON",
      "json": {
        "model": "claude-opus-4-5-20251101",
        "stream": true,
        "max_tokens": 8192,
        "tools": [
          {
            "name": "Search_web_in_Jina_AI",
            "description": "Search web in Jina AI",
            "input_schema": {
              "type": "object",
              "properties": {
                "Search_Query": {
                  "type": "string"
                },
                "Simplify": {
                  "type": "boolean"
                }
              },
              "required": [
                "Search_Query",
                "Simplify"
              ],
              "additionalProperties": false,
              "$schema": "http://json-schema.org/draft-07/schema#"
            }
          }
        ],
        "thinking": {
          "type": "disabled"
        },
        "messages": [
          {
            "role": "user",
            "content": "What is n8n?"
          },
          {
            "role": "assistant",
            "content": [
              {
                "type": "text",
                "text": "Calling Search web in Jina AI with input: {\"Search_Query\":\"What is n8n\",\"Simplify\":true,\"id\":\"toolu_01Mrj9Vv747wuBXEwjtgKJNC\"}"
              },
              {
                "type": "tool_use",
                "id": "toolu_01Mrj9Vv747wuBXEwjtgKJNC",
                "name": "Search_web_in_Jina_AI",
                "input": {
                  "Search_Query": "What is n8n",
                  "Simplify": true,
                  "id": "toolu_01Mrj9Vv747wuBXEwjtgKJNC"
                }
              }
            ]
          },
          {
            "role": "user",
            "content": [
              {
                "type": "tool_result",
                "content": "[{\"title\":\"n8n.io - AI workflow automation tool\",\"url\":\"https://n8n.io/\",\"description\":\"n8n is a workflow automation platform that uniquely combines AI capabilities with business process automation, giving technical teams the flexibility of code with the speed of no-code.\",\"content\":\"AI Workflow Automation Platform & Tools - n8n\\n===============\\n\\nGo from prompt to possibility with AI Workflow Builder [Beta]\\n\\n[Learn how](https://docs.n8n.io/release-notes/#ai-workflow-builder-beta)\\n\\n[n8n.io](https://n8n.io/)[n8n.io](https://n8n.io/)\\n*   [Product](https://n8n.io/features/)\\n    *   [Product overview](https://n8n.io/features/)\\n    *   [Integrations](https://n8n.io/integrations/)\\n    *   [Templates](https://n8n.io/workflows/)\\n    *   [AI](https://n8n.io/ai/)\\n\\n*   Use cases \\n    *   [Building AI agents](https://n8n.io/ai-agents/)\\n    *   [RAG](https://n8n.io/rag/)\\n    *   [IT operations](https://n8n.io/itops/)\\n    *   [Security operations](https://n8n.io/secops/)\\n    *   [Embedded automation](https://n8n.io/embed/)\\n    *   [Lead automation](https://n8n.io/automate-lead-management/)\\n    *   [Supercharge your CRM](https://n8n.io/supercharge-your-crm/)\\n    *   [Limitless integrations](https://n8n.io/limitless-integrations/)\\n    *   [Backend prototyping](https://n8n.io/saas/)\\n\\n*   [Docs](https://docs.n8n.io/)\\n    *   [Self-host n8n](https://docs.n8n.io/hosting)\\n    *   [Documentation](https://docs.n8n.io/)\\n    *   [Our license](https://docs.n8n.io/choose-n8n/faircode-license)\\n    *   [Release notes](https://docs.n8n.io/release-notes/)\\n\\n*   Community \\n    *   [Forum](https://community.n8n.io/)\\n    *   [Discord](https://discord.gg/XPKeKXeB7d)\\n    *   [Careers](https://n8n.io/careers/)\\n    *   [Blog](https://blog.n8n.io/)\\n    *   [Creators](https://n8n.io/creators/)\\n    *   [Contribute](https://docs.n8n.io/help-community/contributing/)\\n    *   [Hire an expert](https://experts.n8n.io/)\\n    *   [Support](https://n8n.io/support/)\\n    *   [Events](https://n8n.io/community/events/)\\n\\n*   [Enterprise](https://n8n.io/enterprise/)\\n*   [Pricing](https://n8n.io/pricing/)\\n\\n[GitHub 164,067](https://github.com/n8n-io/n8n)[Sign in](https://app.n8n.cloud/login)[Get Started](https://app.n8n.cloud/register)\\n\\n![Image 7: Hero image](https://n8n.io/images/hero-bg.webp)\\n\\nFlexible AI workflow automation for technical teams\\n===================================================\\n\\nBuild with the precision of code or the speed of drag-n-drop. Host with on-prem control or in-the-cloud convenience. n8n gives you more freedom to implement multi-step AI agents and integrate apps than any other tool.\\n\\n[Get started for free](https://app.n8n.cloud/register)[Talk to sales](https://n8n-community.typeform.com/to/y9X2YuGa)\\n\\n**IT Ops** can\\n\\n⚡ On-board new employees\\n\\n**Sec Ops** can\\n\\n⚡ Enrich security incident tickets\\n\\n**Dev Ops** can\\n\\n⚡ Convert natural language into API calls\\n\\n**Sales** can\\n\\n⚡ Generate customer insights from reviews\\n\\n**You** can\\n\\n▶️ Watch this video to hear our pitch\\n\\n![Image 8](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/Home_ITO_Ps_5a5aac3fda.webp)\\n\\nThe world's most popular workflow automation platform for technical teams including\\n\\n![Image 9](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/re_dedatech_18e7e6253b.svg)\\n\\n![Image 10: wayfair](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/wayfair_a7aacce828.svg)\\n\\n![Image 11](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/re_vodafone_6deed71a6c.svg)\\n\\n![Image 12: Unbabel](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/unbabel_1392f8b8ac_cca31eda86.svg)\\n\\n![Image 13: onfleet](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/onfleet_04f3069030_deae93e739.svg)\\n\\n![Image 14](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/re_mistral_ai_cf1ceddcce.svg)\\n\\n![Image 15: Microsoft](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/microsoft_a60b0da7d8.svg)\\n\\n![Image 16: SEAT](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/seat_6b0d479e36.svg)\\n\\n![Image 17: Zendesk](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/zendesk_136788a158_6d4c59b139.svg)\\n\\n![Image 18](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/re_vodafone_6deed71a6c.svg)\\n\\n![Image 19: paddle](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/paddle_e74541f6b3_40953a0f7f.svg)\\n\\n![Image 20](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/re_delivery_hero_2f29c05551.svg)\\n\\n[![Image 21](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/VS_Code_Dark_b6aa3d887d.svg) **Top 50 Github.** Our 164.1k stars place us among the most popular projects.](https://github.com/n8n-io/n8n)[![Image 22](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/VS_Code_Dark_1_ab4a2bad7b.svg) **4.9/5 stars on G2.** To quote \\\"A solid automation tool that just works.\\\"](https://www.g2.com/products/n8n/reviews)[![Image 23](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/social_proof_2_14745833f3.svg) **200k+ community members.** This wouldn't be possible without you.](https://community.n8n.io/)\\n\\nPlug AI into your own data &over 500 integrations\\n-------------------------------------------------\\n\\n![Image 24](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a0637fe4700cbc94571_Vector_1_70ecbab421.png)![Image 25](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a05be2624ab9ba447bb_my_Sql_svg_d9740ad4f9.png)![Image 26](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a101c0f1368d96e0b4c_vector_Store_Pinecone_svg_53b9355d44.png)![Image 27](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a056b782256dbbb14c0_Group_f538a48daf.png)![Image 28](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68fbe0cbedc9ca2ddb3_mailchimp_svg_574c2a4641.svg)![Image 29](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ce9b227a3194696e89_automizy_png_6c4c2ae7c0.svg)![Image 30](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd45de65d9d01bbec5_agile_Crm_png_ab0a6823a4.svg)![Image 31](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68f9befbce885cd4c83_marketstack_svg_a3eb7798e5.svg)![Image 32](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0fc4_airtable_svg_3260e9a572.svg)![Image 33](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc8fbc5fb41664b4ba_aggregate_svg_920d36c8b1.svg)![Image 34](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdc905e0766217414a_ai_Transform_svg_295de265a2.svg)![Image 35](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc51d72b9903df9fde_amqp_svg_ebc4c3b32a.svg)![Image 36](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7710ca11e9ff79c3_affinity_svg_bfb77106bf.svg)![Image 37](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0f6a_asana_svg_55712e4bc0.svg)![Image 38](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ccbfc12ceb1fe6ae68_active_Campaign_svg_35c109a2eb.svg)![Image 39](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd19ed90bc689462b3_autopilot_svg_b9a6db3526.svg)![Image 40](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729c77b48f5c03da73d_Group_2_58ad425d58.svg)![Image 41](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7d05b082d9860095_Img_1_0efa51a03c.svg)![Image 42](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729644e57ad4c4882db_d3bf3a_svg_679a3f62f0.svg)![Image 43](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729fbb7d09521916b34_microsoft_Outlook_svg_baf4ee4ddf.svg)![Image 44](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a0637fe4700cbc94571_Vector_1_70ecbab421.png)![Image 45](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a05be2624ab9ba447bb_my_Sql_svg_d9740ad4f9.png)![Image 46](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a101c0f1368d96e0b4c_vector_Store_Pinecone_svg_53b9355d44.png)![Image 47](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f57a056b782256dbbb14c0_Group_f538a48daf.png)![Image 48](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68fbe0cbedc9ca2ddb3_mailchimp_svg_574c2a4641.svg)![Image 49](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ce9b227a3194696e89_automizy_png_6c4c2ae7c0.svg)![Image 50](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd45de65d9d01bbec5_agile_Crm_png_ab0a6823a4.svg)![Image 51](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68f9befbce885cd4c83_marketstack_svg_a3eb7798e5.svg)![Image 52](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0fc4_airtable_svg_3260e9a572.svg)![Image 53](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc8fbc5fb41664b4ba_aggregate_svg_920d36c8b1.svg)![Image 54](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdc905e0766217414a_ai_Transform_svg_295de265a2.svg)![Image 55](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc51d72b9903df9fde_amqp_svg_ebc4c3b32a.svg)![Image 56](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7710ca11e9ff79c3_affinity_svg_bfb77106bf.svg)![Image 57](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0f6a_asana_svg_55712e4bc0.svg)![Image 58](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ccbfc12ceb1fe6ae68_active_Campaign_svg_35c109a2eb.svg)![Image 59](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd19ed90bc689462b3_autopilot_svg_b9a6db3526.svg)![Image 60](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729c77b48f5c03da73d_Group_2_58ad425d58.svg)![Image 61](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7d05b082d9860095_Img_1_0efa51a03c.svg)![Image 62](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729644e57ad4c4882db_d3bf3a_svg_679a3f62f0.svg)![Image 63](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729fbb7d09521916b34_microsoft_Outlook_svg_baf4ee4ddf.svg)\\n\\n![Image 64](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0fc4_airtable_svg_3260e9a572.svg)![Image 65](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc8fbc5fb41664b4ba_aggregate_svg_920d36c8b1.svg)![Image 66](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdc905e0766217414a_ai_Transform_svg_295de265a2.svg)![Image 67](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc51d72b9903df9fde_amqp_svg_ebc4c3b32a.svg)![Image 68](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7710ca11e9ff79c3_affinity_svg_bfb77106bf.svg)![Image 69](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0f6a_asana_svg_55712e4bc0.svg)![Image 70](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ccbfc12ceb1fe6ae68_active_Campaign_svg_35c109a2eb.svg)![Image 71](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd19ed90bc689462b3_autopilot_svg_b9a6db3526.svg)![Image 72](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729c77b48f5c03da73d_Group_2_58ad425d58.svg)![Image 73](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7d05b082d9860095_Img_1_0efa51a03c.svg)![Image 74](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729644e57ad4c4882db_d3bf3a_svg_679a3f62f0.svg)![Image 75](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729fbb7d09521916b34_microsoft_Outlook_svg_baf4ee4ddf.svg)![Image 76](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729485addcc28ecfa78_Icon_44e8e36907.svg)![Image 77](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72d9607e61eeec9add2_bubble_svg_eb8418417c.svg)![Image 78](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729d7214df077bd1a8e_lm_Chat_Aws_Bedrock_svg_1ae33dfeb5.svg)![Image 79](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72aa7e91197f74da789_Vector_1_d7b4c2b619.svg)![Image 80](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729b8346ed0eceba7d8_microsoft_Excel_svg_dc455568ae.svg)![Image 81](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72aedd8d90bd4f8139f_postmark_Trigger_png_77bacccff7.svg)![Image 82](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72a5d5287c0e71f0e6d_post_Hog_svg_0e5a29cd64.svg)![Image 83](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72a355f9c89eb0fe0a0_Vector_2_41fc98a2e5.svg)![Image 84](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0fc4_airtable_svg_3260e9a572.svg)![Image 85](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc8fbc5fb41664b4ba_aggregate_svg_920d36c8b1.svg)![Image 86](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdc905e0766217414a_ai_Transform_svg_295de265a2.svg)![Image 87](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc51d72b9903df9fde_amqp_svg_ebc4c3b32a.svg)![Image 88](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7710ca11e9ff79c3_affinity_svg_bfb77106bf.svg)![Image 89](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0f6a_asana_svg_55712e4bc0.svg)![Image 90](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ccbfc12ceb1fe6ae68_active_Campaign_svg_35c109a2eb.svg)![Image 91](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd19ed90bc689462b3_autopilot_svg_b9a6db3526.svg)![Image 92](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729c77b48f5c03da73d_Group_2_58ad425d58.svg)![Image 93](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7d05b082d9860095_Img_1_0efa51a03c.svg)![Image 94](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729644e57ad4c4882db_d3bf3a_svg_679a3f62f0.svg)![Image 95](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729fbb7d09521916b34_microsoft_Outlook_svg_baf4ee4ddf.svg)![Image 96](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729485addcc28ecfa78_Icon_44e8e36907.svg)![Image 97](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72d9607e61eeec9add2_bubble_svg_eb8418417c.svg)![Image 98](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729d7214df077bd1a8e_lm_Chat_Aws_Bedrock_svg_1ae33dfeb5.svg)![Image 99](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72aa7e91197f74da789_Vector_1_d7b4c2b619.svg)![Image 100](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729b8346ed0eceba7d8_microsoft_Excel_svg_dc455568ae.svg)![Image 101](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72aedd8d90bd4f8139f_postmark_Trigger_png_77bacccff7.svg)![Image 102](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72a5d5287c0e71f0e6d_post_Hog_svg_0e5a29cd64.svg)![Image 103](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d72a355f9c89eb0fe0a0_Vector_2_41fc98a2e5.svg)\\n\\n![Image 104](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68fbe0cbedc9ca2ddb3_mailchimp_svg_574c2a4641.svg)![Image 105](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ce9b227a3194696e89_automizy_png_6c4c2ae7c0.svg)![Image 106](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd45de65d9d01bbec5_agile_Crm_png_ab0a6823a4.svg)![Image 107](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68f9befbce885cd4c83_marketstack_svg_a3eb7798e5.svg)![Image 108](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0fc4_airtable_svg_3260e9a572.svg)![Image 109](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc8fbc5fb41664b4ba_aggregate_svg_920d36c8b1.svg)![Image 110](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdc905e0766217414a_ai_Transform_svg_295de265a2.svg)![Image 111](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc51d72b9903df9fde_amqp_svg_ebc4c3b32a.svg)![Image 112](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7710ca11e9ff79c3_affinity_svg_bfb77106bf.svg)![Image 113](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0f6a_asana_svg_55712e4bc0.svg)![Image 114](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ccbfc12ceb1fe6ae68_active_Campaign_svg_35c109a2eb.svg)![Image 115](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd19ed90bc689462b3_autopilot_svg_b9a6db3526.svg)![Image 116](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729c77b48f5c03da73d_Group_2_58ad425d58.svg)![Image 117](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7d05b082d9860095_Img_1_0efa51a03c.svg)![Image 118](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729644e57ad4c4882db_d3bf3a_svg_679a3f62f0.svg)![Image 119](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729fbb7d09521916b34_microsoft_Outlook_svg_baf4ee4ddf.svg)![Image 120](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68fbe0cbedc9ca2ddb3_mailchimp_svg_574c2a4641.svg)![Image 121](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ce9b227a3194696e89_automizy_png_6c4c2ae7c0.svg)![Image 122](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd45de65d9d01bbec5_agile_Crm_png_ab0a6823a4.svg)![Image 123](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f6a68f9befbce885cd4c83_marketstack_svg_a3eb7798e5.svg)![Image 124](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0fc4_airtable_svg_3260e9a572.svg)![Image 125](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc8fbc5fb41664b4ba_aggregate_svg_920d36c8b1.svg)![Image 126](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdc905e0766217414a_ai_Transform_svg_295de265a2.svg)![Image 127](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc51d72b9903df9fde_amqp_svg_ebc4c3b32a.svg)![Image 128](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7710ca11e9ff79c3_affinity_svg_bfb77106bf.svg)![Image 129](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cdeb6560b7c1ec0f6a_asana_svg_55712e4bc0.svg)![Image 130](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7ccbfc12ceb1fe6ae68_active_Campaign_svg_35c109a2eb.svg)![Image 131](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cd19ed90bc689462b3_autopilot_svg_b9a6db3526.svg)![Image 132](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729c77b48f5c03da73d_Group_2_58ad425d58.svg)![Image 133](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66f4d7cc7d05b082d9860095_Img_1_0efa51a03c.svg)![Image 134](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729644e57ad4c4882db_d3bf3a_svg_679a3f62f0.svg)![Image 135](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/66e3d729fbb7d09521916b34_microsoft_Outlook_svg_baf4ee4ddf.svg)\\n\\n[Browse all integrations](https://n8n.io/integrations/)\\n\\nThe fast way to actually get AI working in your business\\n--------------------------------------------------------\\n\\n![Image 136: Stars](https://n8n.io/images/stars-bg.svg)\\n\\n### Build multi-step agents calling custom tools\\n\\nCreate agentic systems on a single screen. Integrate any LLM into your workflows as fast as you can drag-n-drop.\\n\\n[Explore AI](https://n8n.io/ai/)\\n\\n![Image 137: Teams of agents, calling custom tools](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/teams_of_agent_e1f7b47c2f.png)\\n\\n Update Detected Running Custom Unit Testing Update Rolled Back Automatically\\n\\n IT Team Notified of New Ticket Custom Unit Testing Failed Update Installed\\n\\n![Image 138: Local AI](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/ai_local_0963b5f7b2.png)![Image 139: Fully self-hostable](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/self_host_66e57951a8.png)\\n\\n### Self-host everything – including AI models\\n\\nProtect your data by deploying on-prem.\\n\\n*   Deploy with Docker   \\n*   Access the entire source code on Github   \\n*   Hosted version also available   \\n\\n### Chat with your own data\\n\\nUse Slack, Teams, SMS, voice, or our embedded chat interface to get accurate answers from your data, create tasks, and complete workflows.\\n\\nWho held meetings with SpaceX last week?\\n\\nOn Wednesday, Joe updated the status to \\\"won\\\" in Salesforce after a Zoom call.\\n\\nOn Thursday, Sue provided on-site setup and closed the ServiceNow ticket.\\n\\nCreate a task in Asana...\\n\\n![Image 140: Code / UI](https://n8n.io/images/code.webp)\\n\\nCode when you need it, UI when you don't\\n----------------------------------------\\n\\nOther tools limit you to either a visual building experience, or code. With n8n, you get the best of both worlds.\\n\\n*   **Write JavaScript or Python** - you can always fall back to code   \\n*   **Add libraries** from npm or Python for even more power   \\n*   **Paste cURL requests** into your workflow   \\n*   **Merge workflow branches**, don’t just split them   \\n\\n![Image 141: Thunder](https://n8n.io/images/thunder.webp)\\n\\nRun. Tweak. Repeat\\n------------------\\n\\nThe same short feedback loops that make you smile at your scripts.\\n\\n*   **Re-run single steps** without re-running the whole workflow   \\n*   **Replay or mock data** to avoid waiting for external systems   \\n*   **Debug fast**, with logs in line with your code   \\n*   **Use 1700+ templates** to jump-start your project   \\n\\n[See full product overview](https://n8n.io/features/)\\n\\n See The Results\\n\\nCase Studies\\n------------\\n\\n![Image 142: Delivery Hero](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/cs_delivery_hero_745bb7ac83.svg)\\n\\nHow Delivery Hero saved **200 hours each month** with a single ITOps workflow\\n\\n* * *\\n\\n\\\"We have seen drastic efficiency improvements since we started using n8n for user management. It's incredibly powerful, but also simple to use.\\\"\\n\\n![Image 143](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/E02996_YDSAK_U4_TEE_6_AAW_8f94f206d022_512_9956afea32_5cf58d57e3.jpeg)\\n\\nDennis Zahrt\\n\\nDirector of Global IT Service Delivery\\n\\n[Read Case Study](https://n8n.io/case-studies/delivery-hero/)\\n\\n![Image 144: The Stepstone Group](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/the_stepstone_group_6dccc5eb32.webp)\\n\\nHow StepStone finishes **2 weeks’ work in only 2 hours** with n8n workflows\\n\\n* * *\\n\\n“We’ve sped up our integration of marketplace data sources by 25X. It takes me 2 hours max to connect up APIs and transform the data we need. You can’t do this that fast in code.”\\n\\n![Image 145](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/Luka_Pilic_Stepstone_443e0351bf_4dbe30dafe.jpeg)\\n\\nLuka Pilic\\n\\nMarketplace Tech Lead\\n\\n[Read Case Study](https://n8n.io/case-studies/stepstone/)\\n\\n![Image 146: Server](https://n8n.io/images/server.png)\\n\\n Enterprise-ready\\n\\nSecure. Reliable. Collaborative.\\n--------------------------------\\n\\nRemove inefficiencies across your org by rolling out automation as reliably as you deploy code. Run n8n air-gapped on your servers or on our secure cloud-based solution.\\n\\n[Explore n8n for enterprise](https://n8n.io/enterprise/)[Talk to sales](https://n8n-community.typeform.com/to/y9X2YuGa)\\n\\n*   ### Security\\n\\nFully on-prem option, SSO SAML, and LDAP, encrypted secret stores, version control, advanced RBAC permissions.    \\n*   ### Performance\\n\\nAudit logs & log streaming to 3rd party, workflow history, custom variables, external storage.    \\n*   ### Collaboration\\n\\nGit Control, isolated environments, multi-user workflows.    \\n\\n* * *\\n\\n\\\"The idea is that everybody in the organization can use n8n to manage data retrieval or data transformation.\\\"\\n\\n![Image 147: Martino Bonfiglioli](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/Martino_Bonfiglioni_9a3bf848b3.jpeg)\\n\\nMartino Bonfiglioli\\n\\nSenior Product Manager\\n\\n[See the case](https://n8n.io/case-studies/musixmatch/)\\n\\n![Image 148](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/SOC_2_badge_150px_1c485c7e5c.png)![Image 149](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/gdpr_d6b92d85f1.svg)[![Image 150](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/legal_security_6524969a52.svg)](https://n8n.io/legal/#security)\\n\\n![Image 151: Automation](https://n8n.io/images/embed-automation.webp)\\n\\n n8n embed\\n\\nAutomation for your customers\\n-----------------------------\\n\\nWow your customers with access to 500+ app integrations to automate their own workflows. Your branding. Our white-labelled tech.\\n\\n[Explore n8n embed](https://n8n.io/embed/)\\n\\n![Image 152: Stars](https://n8n.io/images/stars-footer.svg)\\n\\nThere’s nothing you can’t automate with n8n\\n-------------------------------------------\\n\\nOur customer’s words, not ours.\\n\\n Skeptical? **Try it out**, and see for yourself.\\n\\n[Start building](https://app.n8n.cloud/register)\\n\\n*   **Build complex workflows that other tools can't**. I used other tools before. I got to know the N8N and I say it properly: it is better to do everything on the n8n! Congratulations on your work, you are a star!  ![Image 153](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/avatar_igordisco_9243b86232_cd9a5c94ce.jpg)Igor Fediczko [@igordisco](https://x.com/@igordisco)     \\n*   **Thank you to the n8n community**. I did the beginners course and promptly took an automation WAY beyond my skill level.  ![Image 154: neutral-avatar-purple.PNG](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/neutral_avatar_purple_fee36bffe3.PNG)Robin Tindall [@robm](https://x.com/@robm)     \\n*   **n8n is a beast for automation.** self-hosting and low-code make it a dev’s dream. if you’re not automating yet, you’re working too hard.  ![Image 155](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/avatar_anderoav_589989fc39_ceb1c71a0c.jpg)Anderoav [@Anderoav](https://x.com/anderoav)     \\n*   **I've said it many times. But I'll say it again. n8n is the GOAT**. Anything is possible with n8n. You just need some technical knowledge + imagination. I'm actually looking to start a side project. Just to have an excuse to use n8n more 😅  ![Image 156](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/avatar_maxim_poulsen_48f450887b_852d0439bc.jpeg)Maxim Poulsen [@maximpoulsen](https://x.com/@maximpoulsen)     \\n*   **It blows my mind.** I was hating on no-code tools my whole life, but n8n changed everything. Made a Slack agent that can basically do everything, in half an hour.  ![Image 157](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/Felix_Leber_f7a5b3c776_130aeca79d.jpeg)Felix Leber [@felixleber](https://www.linkedin.com/in/felixleber/)     \\n*   I just have to say, **n8n's integration with third-party services is absolutely mind-blowing**. It's like having a Swiss Army knife for automation. So many tasks become a breeze, and I can quickly validate and implement my ideas without any hassle.  ![Image 158](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/avatar_Ironben_0a4b3e7d12_e35805265c.jpg)Nanbing [@1ronben](https://x.com/1ronben)     \\n*   **Found the holy grail of automation yesterday...** Yesterday I tried n8n and it blew my mind 🤯 What would've taken me 3 days to code from scratch? Done in 2 hours. The best part? If you still want to get your hands dirty with code (because let's be honest, we developers can't help ourselves 😅), you can just drop in custom code nodes. Zero restrictions.  ![Image 159](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/Francois_lassl_d5cfb504c7_710c87121d.jpeg)Francois Laßl [@francois-laßl](https://www.linkedin.com/in/francois-la%C3%9Fl-817937243/)     \\n*   **Anything is possible with n8n**. I think @n8n_io Cloud version is great, they are doing amazing stuff and I love that everything is available to look at on Github.  ![Image 160: neutral-avatar-purple.PNG](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/neutral_avatar_purple_fee36bffe3.PNG)Jodie M [@jodiem](https://x.com/@jodiem)     \\n\\n[n8n.io](https://n8n.io/)\\nAutomate without limits\\n\\n[![Image 161](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/twitter_x_62a44e965e.svg)](https://twitter.com/n8n_io)[![Image 162](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/github_e1f217d7a3_b9a271324f.svg)](https://github.com/n8n-io/n8n)[![Image 163](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/discord_253947c90b_191e8f60fa.svg)](https://discord.gg/n8n)[![Image 164](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/linkedin_d710e84d63_6ed0dc28aa.svg)](https://www.linkedin.com/company/n8n/)[![Image 165](https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/youtube_de4bdef50a_4b3a8b8aac.svg)](https://www.youtube.com/c/n8n-io)\\n\\n[Careers Hiring](https://n8n.io/careers/)[Contact](https://n8n.io/contact/)[Make vs n8n](https://n8n.io/vs/make/)[Press](https://n8n.io/press/)[Legal](https://n8n.io/legal/)[Become an expert](https://n8n.io/expert-partners/)\\n\\n[Case Studies](https://n8n.io/case-studies/)[Zapier vs n8n](https://n8n.io/vs/zapier/)[Hire an expert](https://experts.n8n.io/)[Tools](https://n8n.io/tools/)[AI agent report](https://n8n.io/reports/ai-agent-development-tools/)\\n\\n[Affiliate program](https://n8n.io/affiliates/)[Merch](https://merch.n8n.io/)[Join user tests, get a gift](https://internal.users.n8n.cloud/form/n8n-usability-test-signup)[Events](https://lu.ma/n8n-events)[Brand Guideline](https://n8n.io/brandguidelines/)\\n\\nPopular integrations\\n\\n*   [Google Sheets](https://n8n.io/integrations/google-sheets/)\\n*   [Telegram](https://n8n.io/integrations/telegram/)\\n*   [MySQL](https://n8n.io/integrations/mysql/)\\n*   [Slack](https://n8n.io/integrations/slack/)\\n*   [Discord](https://n8n.io/integrations/discord/)\\n*   [Postgres](https://n8n.io/integrations/postgres/)\\n*   [Notion](https://n8n.io/integrations/notion/)\\n*   [Gmail](https://n8n.io/integrations/gmail/)\\n*   [Airtable](https://n8n.io/integrations/airtable/)\\n*   [Google Drive](https://n8n.io/integrations/google-drive/)\\n\\n[Show more integrations](https://n8n.io/integrations/)\\n\\nShow more\\n\\nTrending combinations\\n\\n*   [HubSpot and Salesforce](https://n8n.io/integrations/hubspot/and/salesforce/)\\n*   [Twilio and WhatsApp](https://n8n.io/integrations/twilio/and/whatsapp-business-cloud/)\\n*   [GitHub and Jira](https://n8n.io/integrations/github/and/jira-software/)\\n*   [Asana and Slack](https://n8n.io/integrations/asana/and/slack/)\\n*   [Asana and Salesforce](https://n8n.io/integrations/asana/and/salesforce/)\\n*   [Jira and Slack](https://n8n.io/integrations/jira-software/and/slack/)\\n*   [Jira and Salesforce](https://n8n.io/integrations/jira-software/and/salesforce/)\\n*   [GitHub and Slack](https://n8n.io/integrations/github/and/slack/)\\n*   [HubSpot and QuickBooks](https://n8n.io/integrations/hubspot/and/quickbooks-online/)\\n*   [HubSpot and Slack](https://n8n.io/integrations/hubspot/and/slack/)\\n\\n[Show more integrations](https://n8n.io/integrations/)\\n\\nShow more\\n\\nTop integration categories\\n\\n*   [Communication](https://n8n.io/integrations/categories/communication/)\\n*   [Development](https://n8n.io/integrations/categories/development/)\\n*   [Cybersecurity](https://n8n.io/integrations/categories/cybersecurity/)\\n*   [AI](https://n8n.io/integrations/categories/ai/)\\n*   [Data & Storage](https://n8n.io/integrations/categories/data-and-storage/)\\n*   [Marketing](https://n8n.io/integrations/categories/marketing/)\\n*   [Productivity](https://n8n.io/integrations/categories/productivity/)\\n*   [Sales](https://n8n.io/integrations/categories/sales/)\\n*   [Utility](https://n8n.io/integrations/categories/utility/)\\n*   [Miscellaneous](https://n8n.io/integrations/categories/miscellaneous/)\\n\\n[Explore more categories](https://n8n.io/integrations/)\\n\\nShow more\\n\\nTrending templates\\n\\n*   [Creating an API endpoint](https://n8n.io/workflows/1750-creating-an-api-endpoint/)\\n*   [AI agent chat](https://n8n.io/workflows/1954-ai-agent-chat/)\\n*   [Scrape and summarize webpages with AI](https://n8n.io/workflows/1951-scrape-and-summarize-webpages-with-ai/)\\n*   [Joining different datasets](https://n8n.io/workflows/1747-joining-different-datasets/)\\n*   [Back Up Your n8n Workflows To Github](https://n8n.io/workflows/1534-back-up-your-n8n-workflows-to-github/)\\n*   [Very quick quickstart](https://n8n.io/workflows/1700-very-quick-quickstart/)\\n*   [OpenAI GPT-3: Company Enrichment from website content](https://n8n.io/workflows/1862-openai-gpt-3-company-enrichment-from-website-content/)\\n*   [Pulling data from services that n8n doesn’t have a pre-built integration for](https://n8n.io/workflows/1748-pulling-data-from-services-that-n8n-doesnt-have-a-pre-built-integration-for/)\\n*   [Convert JSON to an Excel file](https://n8n.io/workflows/1435-convert-json-to-an-excel-file/)\\n*   [Telegram AI Chatbot](https://n8n.io/workflows/1934-telegram-ai-chatbot/)\\n\\n[Explore 800+ workflow templates](https://n8n.io/workflows/)\\n\\nShow more\\n\\nTop guides\\n\\n*   [Telegram bots](https://blog.n8n.io/telegram-bots/)\\n*   [Open-source chatbot](https://blog.n8n.io/open-source-chatbot/)\\n*   [Open-source LLM](https://blog.n8n.io/open-source-llm/)\\n*   [Open-source low-code platforms](https://blog.n8n.io/open-source-low-code-platforms/)\\n*   [Zapier alternatives](https://blog.n8n.io/free-zapier-alternatives/)\\n*   [Make vs Zapier](https://blog.n8n.io/make-vs-zapier/)\\n*   [AI agents](https://blog.n8n.io/ai-agents/)\\n*   [AI coding assistants](https://blog.n8n.io/ai-coding-assistants/)\\n*   [ChatGPT Discord bot](https://blog.n8n.io/create-chatgpt-discord-bot/)\\n*   [Best AI chatbot](https://blog.n8n.io/best-ai-chatbot/)\\n\\n[Show guides](https://blog.n8n.io/)\\n\\nShow more\\n\\n[Imprint](https://n8n.io/imprint/) | [Security](https://n8n.io/legal/security/) | [Privacy](https://n8n.io/legal/privacy/) | [Report a vulnerability](https://n8n.io/legal/vulnerability-disclosure-policy/)\\n\\n© 2025 n8n  |  All rights reserved.\\n\\n×\\n\\n This website uses cookies \\n\\n We use cookies to personalise content, ads and to analyse our traffic. We also share information about your use of our site with our advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services. [Read more](https://n8n.io/legal/?eco_features=CAMPAIGN_PERSONALIZATION#privacy)\\n\\n- [x] \\n\\n Strictly necessary  \\n\\n- [x] \\n\\n Performance  \\n\\n- [x] \\n\\n Targeting  \\n\\n- [x] \\n\\n Functionality  \\n\\n Save & Close \\n\\n Accept all \\n\\n Decline all \\n\\n Show details  Hide details \\n\\n Cookie declaration \\n\\n About cookies \\n\\n Strictly necessary \\n\\n Performance \\n\\n Targeting \\n\\n Functionality \\n\\n Strictly necessary cookies allow core website functionality such as user login and account management. The website cannot be used properly without strictly necessary cookies. \\n\\nCookie report| Name | Provider / Domain | Expiration | Description |\\n| --- | --- | --- | --- |\\n| __cf_logged_in | [Cloudflare](https://www.cloudflare.com/privacypolicy/) .cloudflare.com | 4 weeks 2 days | Part of our security firewall Cloudflare (e.g. identifying trusted users) |\\n| AMCVS_XXXXX | [Adobe](https://www.adobe.com/privacy/policy.html) .cloudflare.com | Session | Adobe Experience Cloud cookie that serves as a flag indicating that the session has been initialized. Its value is always 1 and discontinues when the session has ended. |\\n| CF_VERIFIED_DEVICE_XXXXX | [Cloudflare](https://www.cloudflare.com/privacypolicy/) .cloudflare.com | 1 year | Cloudflare |\\n| sparrow_id | [Cloudflare](https://www.cloudflare.com/privacypolicy/) .cloudflare.com | 5 months 4 weeks | This cookie is used by Cloudflare to help optimise the performance and security of the website and access to it. They do not contain user credentials, IP anonymisation is used. |\\n| rl_session | .n8n.io | 1 year | This cookie is used for managing user session on the website. It typically maintains the user's state during the session, ensuring that users remain connected and their interactions with the site are coherent throughout their visit. This can include keeping users logged in, tracking their actions, or persisting settings during the session. |\\n| __sec_tid | n8n.io | 9 months 4 weeks |  |\\n| __sec__token | n8n.io | 1 day |  |\\n| _shopify_essential | [Shopify](https://www.shopify.com/legal/privacy) merch.n8n.io | 1 year | This cookie is essential for the secure checkout and payment function on the website and is provided by Shopify. |\\n| __Host-airtable-session.sig | [Airtable](https://airtable.com/privacy) airtable.com | 1 year | This cookie is used to ensure secure user sessions and for authentication purposes. |\\n| keep_alive | merch.n8n.io | Session | This cookie is used to maintain an active user session on the website and ensure that the user's connection remains secure and uninterrupted during their browsing session. |\\n| __sec__fid | n8n.io | 9 months 4 weeks |  |\\n| brwConsent | [Airtable](https://airtable.com/privacy) .airtable.com | 5 minutes | This cookie is used to record the user's consent to the use of cookies on the website, ensuring compliance with the website's privacy policy by remembering the user's preferences and consent state regarding cookies. |\\n| AWSALBTGCORS | [Airtable](https://airtable.com/privacy) airtable.com | 1 week | This cookie is used to support load balancing, ensuring that visitor page requests are routed to the same server in any browsing session. |\\n| __sec_crid | n8n.io | 9 months 4 weeks |  |\\n| CookieScriptConsent | [CookieScript](https://cookie-script.com/privacy-policy.html) .n8n.io | 1 year | This cookie is used by Cookie-Script.com service to remember visitor cookie consent preferences. It is necessary for Cookie-Script.com cookie banner to work properly. |\\n| __sec__ghost | n8n.io | 9 months 4 weeks |  |\\n| localization | [Flickr Inc.](https://www.flickr.com/help/privacy) merch.n8n.io | 1 year | These cookies are set on pages with the Flickr widget. |\\n| __Host-airtable-session | [Airtable](https://airtable.com/privacy) airtable.com | 1 year | This cookie is used to manage the user session in a secure way, ensuring the user's interaction with the website is seamless and secure while accessing Airtable integrations or content. |\\n| __cf_bm | [Cloudflare Inc.](https://www.cloudflare.com/privacypolicy) .paddle.com | 29 minutes 57 seconds | This cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website. |\\n| __sec__cid | n8n.io | 1 day |  |\\n\\n Performance cookies are used to see how visitors use the website, eg. analytics cookies. Those cookies cannot be used to directly identify a certain visitor. \\n\\nCookie report| Name | Provider / Domain | Expiration | Description |\\n| --- | --- | --- | --- |\\n| ph_phc_XXXXX_posthog | [Posthog](https://posthog.com/privacy) .tapfiliate.com | 1 year | Posthog |\\n| AMCV_XXXXX | [Adobe](https://www.adobe.com/privacy/policy.html) .cloudflare.com | 4 weeks 2 days | Adobe Experience Cloud cookie that enables tracking visitors across multiple domains. |\\n| cfz_google-analytics_v4 | [Google LLC](https://policies.google.com/privacy) .cloudflare.com | 1 year | Cloudflare Zaraz Google Analytics cookie |\\n| cfzs_google-analytics_v4 | [Google LLC](https://policies.google.com/privacy) .cloudflare.com | Session | Cloudflare Zaraz Google Analytics session cookie |\\n| rl_user_id | .n8n.io | 1 year | This cookie is used to recognize and distinguish individual users who visit the website, enabling personalized experiences and interactions. |\\n| _ga_Q7GL51X95F | [Google LLC](https://policies.google.com/privacy) .n8n.io | 1 year 1 month | This cookie is used by Google Analytics to persist session state. |\\n| brw | [Airtable](https://airtable.com/privacy) .airtable.com | 1 year | This cookie is used to track user behavior and interaction to improve user experience and service functionality. |\\n| rl_page_init_referrer | .n8n.io | 1 year |  |\\n| rl_page_init_referring_domain | .n8n.io | 1 year |  |\\n| originalClientId | .n8n.io | 4 weeks 2 days |  |\\n| rl_anonymous_id | .n8n.io | 1 year | This cookie is used to identify anonymously a visitor. It is generally used for tracking and analytics purposes, helping website owners understand how visitors interact with the site. |\\n| n8n_tracking_id | .n8n.io | 1 year 1 month |  |\\n| _ga_1EB8LCPG5B | [Google LLC](https://policies.google.com/privacy) .n8n.io | 1 year 1 month | This cookie is used by Google Analytics to persist session state. |\\n| _gat_gtag_UA_146470481_1 | [Google LLC](https://policies.google.com/privacy) .n8n.io | 1 minute | This cookie is part of Google Analytics and is used to limit requests (throttle request rate). |\\n| rl_group_id | .n8n.io | 1 year | This cookie is used to group users for analytical purposes to enhance user experience on the website. |\\n| _gat_gtag_UA_146470481_8 | .n8n.io | 51 seconds | This cookie is part of Google Analytics and is used to limit requests (throttle request rate). |\\n| _shopify_y | [Shopify Inc.](https://www.shopify.com/legal/privacy) .n8n.io | 1 year 6 hours | This cookie is associated with Shopify's analytics suite. Provider address: 151 O'Connor Street, Ground floor, Ottawa, ON, K2P 2L8, Canada |\\n| _ga | [Google LLC](https://policies.google.com/privacy) .n8n.io | 1 year 1 month | This cookie name is associated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. |\\n| _gid | [Google LLC](https://policies.google.com/privacy) .n8n.io | 1 day | This cookie is set by Google Analytics. It stores and update a unique value for each page visited and is used to count and track pageviews. |\\n| _ga_0SC4FF2FH9 | [Google LLC](https://policies.google.com/privacy) .n8n.io | 1 year 1 month | This cookie is used by Google Analytics to persist session state. |\\n| _shopify_analytics | merch.n8n.io | 1 year |  |\\n| _shopify_s | [Shopify Inc.](https://www.shopify.com/legal/privacy) .n8n.io | 30 minutes | This cookie is associated with Shopify's analytics suite. |\\n\\n Targeting cookies are used to identify visitors between different websites, eg. content partners, banner networks. Those cookies may be used by companies to build a profile of visitor interests or show relevant ads on other websites. \\n\\nCookie report| Name | Provider / Domain | Expiration | Description |\\n| --- | --- | --- | --- |\\n| lang | [LinkedIn Corporation](https://www.linkedin.com/legal/privacy-policy) .linkedin.com | Session | linkedin.com targeting |\\n| li_sugr | [LinkedIn Corporation](https://www.linkedin.com/legal/privacy-policy) .linkedin.com | 3 months | linkedin.com targeting |\\n| UserMatchHistory | [LinkedIn Corporation](https://www.linkedin.com/legal/privacy-policy) .linkedin.com | 4 weeks 2 days | linkedin.com targeting |\\n| AnalyticsSyncHistory | [LinkedIn Corporation](https://www.linkedin.com/legal/privacy-policy) .linkedin.com | 4 weeks 2 days | linkedin.com targeting |\\n| datr | [Meta Platform Inc.](https://www.facebook.com/policy.php) .facebook.com | 1 year 1 month | This cookie identifies the browser connecting to Facebook. It is not directly tied to individual Facebook the user. Facebook reports that it is used to help with security and suspicious login activity, especially around detection of bots trying to access the service. Facebook also say the behavioural profile associated with each datr cookie is deleted after 10 days. This cookie is also read via Like and other Facebook buttons and tags placed on many different websites. |\\n| sb | [Meta Platform Inc.](https://www.facebook.com/policy.php) .facebook.com | 1 year 1 month | Facebook browser identification, authentication, marketing, and other Facebook-specific function cookies. |\\n| wd | [Meta Platform Inc.](https://www.facebook.com/policy.php) .facebook.com | 1 week | This cookie carries out information about how the end user uses the website and any advertising that the end user may have seen before visiting the said website. |\\n| rdt_uuid | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .n8n.io | 3 months | Identify users who've seen n8n ads on Reddit so that we can run our ads more efficiently. |\\n| csv | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | 1 year 1 month | This cookie is typically used for tracking user behavior and interaction with the website to improve user experience. |\\n| edgebucket | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | 1 year 1 month | Used by Reddit to deliver advertising |\\n| loid | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | 1 year 1 month | This cookie is used to identify a unique visitor's session and preferences. |\\n| pc | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | 1 year |  |\\n| reddit_session | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | Session |  |\\n| session_tracker | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | Session | This cookie is used to track user sessions for improving user experience and ensuring secure browsing sessions. It helps in maintaining an active session for the user without needing to log in multiple times during their visit. |\\n| t2_XXXXX_recentclicks3 | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | 1 year |  |\\n| theme | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | 1 year | This cookie is used to store the user's theme preference on the website, allowing for a consistent and personalized visual experience across different pages. |\\n| token_v2 | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | 1 day |  |\\n| ps_l | [Meta Platform Inc.](https://www.facebook.com/policy.php) .facebook.com | 1 year 1 month | This cookie is associated with user preferences and saving settings to enhance the user experience on the website. |\\n| ps_n | [Meta Platform Inc.](https://www.facebook.com/policy.php) .facebook.com | 1 year 1 month | This cookie is used to remember the user's preferences and previous interactions with the website. |\\n| fr | [Meta Platform Inc.](https://www.facebook.com/policy.php) .facebook.com | 3 months | Contains browser and user unique ID combination, used for targeted advertising. |\\n| csrf_token | [Reddit, Inc.](https://www.reddit.com/policies/privacy-policy) .reddit.com | Session | This cookie is used by Cloudflare to identify trusted web traffic. |\\n| cfz_facebook-pixel | [Meta Platform Inc.](https://www.facebook.com/policy.php) .cloudflare.com | 1 year | Cloudflare Zaraz facebook pixel cookie |\\n| rl_trait | .n8n.io | 1 year | This cookie is used to collect information about user behavior and preferences to optimize the user experience and for targeted advertising. |\\n| __Secure-ROLLOUT_TOKEN | [Google LLC](https://policies.google.com/privacy) .youtube.com | 5 months 4 weeks |  |\\n| _gcl_au | [Google LLC](https://policies.google.com/privacy) .n8n.io | 3 months | Used by Google AdSense for experimenting with advertisement efficiency across websites using their services |\\n| rl_group_trait | .n8n.io | 1 year | This cookie is used for segmenting audiences based on predefined criteria, aiming to provide more personalized and relevant content to the website users. |\\n| lidc | [LinkedIn Corporation](https://www.linkedin.com/legal/privacy-policy) .linkedin.com | 1 day | This is a Microsoft MSN 1st party cookie that ensures the proper functioning of this website. |\\n| bcookie | [LinkedIn Corporation](https://www.linkedin.com/legal/privacy-policy) .linkedin.com | 1 year | This is a Microsoft MSN 1st party cookie for sharing the content of the website via social media. |\\n| IDE | [Google LLC](https://policies.google.com/privacy) .doubleclick.net | 1 year | Google Ads targeting |\\n| VISITOR_PRIVACY_METADATA | [Google LLC](https://policies.google.com/privacy) .youtube.com | 5 months 4 weeks | This cookie is used to store the user's consent and privacy choices for their interaction with the site. It records data on the visitor's consent regarding various privacy policies and settings, ensuring that their preferences are honored in future sessions. |\\n| li_gc | [LinkedIn Corporation](https://www.linkedin.com/legal/privacy-policy) .linkedin.com | 5 months 4 weeks | Used to store guest consent to the use of cookies for non-essential purposes |\\n| __Secure-YNID | .youtube.com | 5 months 4 weeks |  |\\n| YSC | [Google LLC](https://policies.google.com/privacy) .youtube.com | Session | This cookie is set by YouTube to track views of embedded videos. |\\n| VISITOR_INFO1_LIVE | [Google LLC](https://policies.google.com/privacy) .youtube.com | 5 months 4 weeks | This cookie is set by Youtube to keep track of user preferences for Youtube videos embedded in sites;it can also determine whether the website visitor is using the new or old version of the Youtube interface. |\\n| test_cookie | [Google LLC](https://policies.google.com/privacy) .doubleclick.net | 15 minutes | This cookie is set by DoubleClick (which is owned by Google) to determine if the website visitor's browser supports cookies. |\\n\\n Functionality cookies are used to remember visitor information on the website, eg. language, timezone, enhanced content. \\n\\nCookie report| Name | Provider / Domain | Expiration | Description |\\n| --- | --- | --- | --- |\\n| intercom-device-id-XXXXX | [Intercom](https://www.intercom.com/legal/privacy) .hockeystack.com | 5 months 4 weeks |  |\\n| intercom-id-XXXXX | [Intercom](https://www.intercom.com/legal/privacy) .hockeystack.com | 5 months 4 weeks |  |\\n| intercom-session-XXXXX | [Intercom](https://www.intercom.com/legal/privacy) .hockeystack.com | 1 week |  |\\n| paddle_session | [Paddle](https://www.paddle.com/legal/privacy) .paddle.com | 1 day |  |\\n\\n Cookies are small text files that are placed on your computer by websites that you visit. Websites use cookies to help users navigate efficiently and perform certain functions. Cookies that are required for the website to operate properly are allowed to be set without your permission. All other cookies need to be approved before they can be set in the browser.\\n\\n You can change your consent to cookie usage at any time on our Privacy Policy page. \\n\\n We also use cookies to collect data for the purpose of personalizing and measuring the effectiveness of our advertising. For more details, visit the [Google Privacy Policy](https://business.safety.google/privacy/). \\n\\n Cookies consent ID : \\n\\nCookie [report](https://cookie-script.com/cookie-report?identifier=ed53b7b2bda0a83153e40b6660e65372) created by [CookieScript](https://cookie-script.com/ \\\"CookieScript Consent Management Platform\\\")\",\"metadata\":{\"lang\":\"en\",\"viewport\":\"width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=1\",\"description\":\"n8n is a workflow automation platform that uniquely combines AI capabilities with business process automation, giving technical teams the flexibility of code with the speed of no-code.\",\"keywords\":\"\",\"og:title\":\"n8n.io - AI workflow automation tool\",\"og:description\":\"n8n is a free and source-available workflow automation tool\",\"og:url\":\"https://n8n.io/\",\"og:type\":\"website\",\"og:image\":\"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/og_image_website_3_afd66761a9_017b94d87b.png\",\"twitter:title\":\"n8n.io - AI workflow automation tool\",\"twitter:description\":\"n8n is a free and source-available workflow automation tool\",\"twitter:domain\":\"n8n.io\",\"twitter:card\":\"summary\",\"twitter:image\":\"https://n8niostorageaccount.blob.core.windows.net/n8nio-strapi-blobs-prod/assets/og_image_website_3_afd66761a9_017b94d87b.png\",\"twitter:url\":\"https://n8n.io/\",\"twitter:site\":\"@n8n_io\"},\"external\":{\"preload\":{\"https://www.googletagmanager.com/gtm.js?id=GTM-K7L9C6X\":{\"crossorigin\":\"anonymous\",\"referrerpolicy\":\"no-referrer\",\"fetchpriority\":\"low\",\"as\":\"script\"},\"https://n8n.io/_payload.json?572e881d-6927-4f45-94e9-e3948914b69a\":{\"as\":\"fetch\",\"crossorigin\":\"anonymous\"},\"https://n8n.io/_nuxt/builds/meta/572e881d-6927-4f45-94e9-e3948914b69a.json\":{\"as\":\"fetch\",\"fetchpriority\":\"low\",\"crossorigin\":\"anonymous\"}},\"modulepreload\":{\"https://n8n.io/_nuxt/CAl4lMw4.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BwuNINjQ.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/rjdAwalT.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/Dynedq-p.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BMaxoVs_.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/Cv8i4Yru.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DGkavpfB.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/0L2WOqup.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/C6OIf6Qo.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/D4OxVeH5.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BPfqHuO_.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DWfkxptB.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BYLApWEE.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DKHWWk_R.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/SwQiGtmG.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/CfF3eHRu.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/-gnaO9x6.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/C1VaMSS3.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BF-D4V9i.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/D2aOd017.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/YTJoGoNY.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/CAQluT-N.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/D-q0Tpcb.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/ByLNQKRg.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/CX6gMwgz.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/p8EU7EMP.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DBmxO1wP.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DC3sD8Bn.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/Omzj_VoO.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/Cs4WOpzI.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/X4JhrAae.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/0sv8gOFP.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/Ed7hMWwE.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BZUVZ32D.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/C0ce-1EA.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/CZdXDuAG.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/D5tQWx7O.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/CUgH5nkq.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/_QRmU1Qp.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DlkJGvC1.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DHb_3T5K.js\":{\"as\":\"script\",\"crossorigin\":\"\"}},\"prefetch\":{\"https://n8n.io/_nuxt/5NX2UEvH.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BTGQ8W3p.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/BzVUt8Q7.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/DnZ6vyKP.js\":{\"as\":\"script\",\"crossorigin\":\"\"},\"https://n8n.io/_nuxt/CGeUeiYu.js\":{\"as\":\"script\",\"crossorigin\":\"\"}},\"canonical\":{\"https://n8n.io/\":{}}},\"usage\":{\"tokens\":16463}},{\"title\":\"\",\"url\":\"https://www.reddit.com/r/n8n/comments/1kufnvf/what_is_n8n/\",\"description\":\"\",\"date\":\"May 24, 2025\",\"content\":\"You've been blocked by network security.\\n\\nTo continue, log in to your Reddit account or use your developer token\\n\\nIf you think you've been blocked by mistake, file a ticket below and we'll look into it.\\n\\n[Log in](https://www.reddit.com/login/)[File a ticket](https://support.reddithelp.com/hc/en-us/requests/new?ticket_form_id=21879292693140)\",\"warning\":\"Target URL returned error 403: Forbidden\",\"metadata\":{},\"external\":{},\"usage\":{\"tokens\":86}},{\"title\":\"Part 1: Introduction to n8n — What It Is and How It Works\",\"url\":\"https://medium.com/data-and-beyond/part-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e\",\"description\":\"Part 1: Introduction to n8n — What It Is and How It Works Hey everyone, welcome to this series! Today, we’re kicking off our journey into the world of automation with n8n — the one-stop …\",\"date\":\"Mar 26, 2025\",\"content\":\"Part 1: Introduction to n8n — What It Is and How It Works | by TONI RAMCHANDANI | Data And Beyond | Medium\\n===============\\n\\n[Sitemap](https://medium.com/sitemap/sitemap.xml)\\n\\n[Open in app](https://play.google.com/store/apps/details?id=com.medium.reader&referrer=utm_source%3DmobileNavBar&source=post_page---top_nav_layout_nav-----------------------------------------)\\n\\nSign up\\n\\n[Sign in](https://medium.com/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&source=post_page---top_nav_layout_nav-----------------------global_nav------------------)\\n\\n[](https://medium.com/?source=post_page---top_nav_layout_nav-----------------------------------------)\\n\\n[Write](https://medium.com/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2Fnew-story&source=---top_nav_layout_nav-----------------------new_post_topnav------------------)\\n\\n[Search](https://medium.com/search?source=post_page---top_nav_layout_nav-----------------------------------------)\\n\\nSign up\\n\\n[Sign in](https://medium.com/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&source=post_page---top_nav_layout_nav-----------------------global_nav------------------)\\n\\n![Image 3](https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png)\\n\\n[Data And Beyond ---------------](https://medium.com/data-and-beyond?source=post_page---publication_nav-b680b860beb1-74c214de769e---------------------------------------)\\n\\n·\\nFollow publication\\n\\n[![Image 4: Data And Beyond](https://miro.medium.com/v2/resize:fill:76:76/1*k72U7hHLb9EFXD5CLsbzFQ.png)](https://medium.com/data-and-beyond?source=post_page---post_publication_sidebar-b680b860beb1-74c214de769e---------------------------------------)\\nSelected stories around Data Science, Machine Learning, Artificial Intelligence, Programming, and Technology topics. Writing guide: [https://medium.com/data-and-beyond/how-to-write-for-data-and-beyond-b83ff0f3813e](https://medium.com/data-and-beyond/how-to-write-for-data-and-beyond-b83ff0f3813e)\\n\\nFollow publication\\n\\nMember-only story\\n\\nFeatured\\n\\nPart 1: Introduction to n8n — What It Is and How It Works\\n=========================================================\\n\\n[![Image 5: TONI RAMCHANDANI](https://miro.medium.com/v2/resize:fill:64:64/1*rqTtb644lWV_kq6vWQWJEA.jpeg)](https://medium.com/@toniramchandani?source=post_page---byline--74c214de769e---------------------------------------)\\n\\n[TONI RAMCHANDANI](https://medium.com/@toniramchandani?source=post_page---byline--74c214de769e---------------------------------------)\\n\\nFollow\\n\\n6 min read\\n\\n·\\n\\nMar 26, 2025\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-and-beyond%2F74c214de769e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&user=TONI+RAMCHANDANI&userId=f171d77cdec6&source=---header_actions--74c214de769e---------------------clap_footer------------------)\\n\\n412\\n\\n6\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F74c214de769e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&source=---header_actions--74c214de769e---------------------bookmark_footer------------------)\\n\\n[Listen](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2Fplans%3Fdimension%3Dpost_audio_button%26postId%3D74c214de769e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&source=---header_actions--74c214de769e---------------------post_audio_button------------------)\\n\\nShare\\n\\nHey everyone, welcome to this series! Today, we’re kicking off our journey into the world of automation with n8n — the one-stop workflow automation platform that’s revolutionizing how we connect apps and simplify our daily tasks. If you’ve ever felt overwhelmed by juggling multiple apps, manual data entry, and repetitive tasks, you’re in the right place. Let’s dive in!\\n\\n> Before we proceed further, I’d like to invite you on a deeper exploration into the world of generative AI with my book, **“A Generative Journey to AI”**.\\n> \\n> \\n> This book is your ultimate guide to mastering the foundations and cutting-edge innovations in generative AI, offering insights and practical strategies to transform your understanding and work in the field.\\n> \\n> \\n> You can grab your copy on [Amazon](https://www.amazon.in/Generative-Journey-Mastering-foundations-generative/dp/9365890845).\\n> \\n> \\n> And if you appreciate this content and want to support my work, please give me 50 claps and consider buying me a coffee via [Buy Me A Coffee](https://buymeacoffee.com/toniramchandani?l=en). Thank you for your support, and let’s dive in!\\n\\nOverview\\n--------\\n\\nImagine a day where all your favorite apps — from your email and CRM to social media and databases — are seamlessly connected. No more switching back and forth, no more tedious manual work. That’s what n8n brings to the table.\\n\\nPress enter or click to view image in full size\\n\\n![Image 6](https://miro.medium.com/v2/resize:fit:700/0*G-5F38rBStjlMNwd.png)\\n\\nCreate an account to read the full story.\\n-----------------------------------------\\n\\nThe author made this story available to Medium members only.\\n\\nIf you’re new to Medium, create a new account to read this story on us.\\n\\n[Continue in app](https://play.google.com/store/apps/details?id=com.medium.reader&referrer=utm_source%3Dregwall&source=-----74c214de769e---------------------post_regwall------------------)\\n\\nOr, continue in mobile web\\n\\n[Sign up with Google](https://medium.com/m/connect/google?state=google-%7Chttps%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e%3Fsource%3D-----74c214de769e---------------------post_regwall------------------%26skipOnboarding%3D1%7Cregister&source=-----74c214de769e---------------------post_regwall------------------)\\n\\n[Sign up with Facebook](https://medium.com/m/connect/facebook?state=facebook-%7Chttps%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e%3Fsource%3D-----74c214de769e---------------------post_regwall------------------%26skipOnboarding%3D1%7Cregister&source=-----74c214de769e---------------------post_regwall------------------)\\n\\nSign up with email\\n\\nAlready have an account? [Sign in](https://medium.com/m/signin?operation=login&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&source=-----74c214de769e---------------------post_regwall------------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-and-beyond%2F74c214de769e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&user=TONI+RAMCHANDANI&userId=f171d77cdec6&source=---footer_actions--74c214de769e---------------------clap_footer------------------)\\n\\n412\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fdata-and-beyond%2F74c214de769e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&user=TONI+RAMCHANDANI&userId=f171d77cdec6&source=---footer_actions--74c214de769e---------------------clap_footer------------------)\\n\\n412\\n\\n6\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F74c214de769e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&source=---footer_actions--74c214de769e---------------------bookmark_footer------------------)\\n\\n[![Image 7: Data And Beyond](https://miro.medium.com/v2/resize:fill:96:96/1*k72U7hHLb9EFXD5CLsbzFQ.png)](https://medium.com/data-and-beyond?source=post_page---post_publication_info--74c214de769e---------------------------------------)\\n\\n[![Image 8: Data And Beyond](https://miro.medium.com/v2/resize:fill:128:128/1*k72U7hHLb9EFXD5CLsbzFQ.png)](https://medium.com/data-and-beyond?source=post_page---post_publication_info--74c214de769e---------------------------------------)\\n\\nFollow\\n\\n[Published in Data And Beyond ----------------------------](https://medium.com/data-and-beyond?source=post_page---post_publication_info--74c214de769e---------------------------------------)\\n\\n[1.6K followers](https://medium.com/data-and-beyond/followers?source=post_page---post_publication_info--74c214de769e---------------------------------------)\\n\\n·[Last published 5 hours ago](https://medium.com/data-and-beyond/the-future-of-front-end-development-whats-coming-next-64909b80c0ff?source=post_page---post_publication_info--74c214de769e---------------------------------------)\\n\\nSelected stories around Data Science, Machine Learning, Artificial Intelligence, Programming, and Technology topics. Writing guide: [https://medium.com/data-and-beyond/how-to-write-for-data-and-beyond-b83ff0f3813e](https://medium.com/data-and-beyond/how-to-write-for-data-and-beyond-b83ff0f3813e)\\n\\nFollow\\n\\n[![Image 9: TONI RAMCHANDANI](https://miro.medium.com/v2/resize:fill:96:96/1*rqTtb644lWV_kq6vWQWJEA.jpeg)](https://medium.com/@toniramchandani?source=post_page---post_author_info--74c214de769e---------------------------------------)\\n\\n[![Image 10: TONI RAMCHANDANI](https://miro.medium.com/v2/resize:fill:128:128/1*rqTtb644lWV_kq6vWQWJEA.jpeg)](https://medium.com/@toniramchandani?source=post_page---post_author_info--74c214de769e---------------------------------------)\\n\\nFollow\\n\\n[Written by TONI RAMCHANDANI ---------------------------](https://medium.com/@toniramchandani?source=post_page---post_author_info--74c214de769e---------------------------------------)\\n\\n[1K followers](https://medium.com/@toniramchandani/followers?source=post_page---post_author_info--74c214de769e---------------------------------------)\\n\\n·[375 following](https://medium.com/@toniramchandani/following?source=post_page---post_author_info--74c214de769e---------------------------------------)\\n\\nA Passionate Technocrat [https://www.linkedin.com/in/toni-ramchandani/](https://www.linkedin.com/in/toni-ramchandani/)\\n\\nFollow\\n\\nResponses (6)\\n-------------\\n\\n[](https://policy.medium.com/medium-rules-30e5502c4eb4?source=post_page---post_responses--74c214de769e---------------------------------------)\\n\\n![Image 11: Uli Chalice](https://miro.medium.com/v2/resize:fill:32:32/1*dmbNkD5D-u45r44go_cf0g.png)\\n\\nWrite a response\\n\\n[What are your thoughts?](https://medium.com/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fpart-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e&source=---post_responses--74c214de769e---------------------respond_sidebar------------------)\\n\\nCancel\\n\\nRespond\\n\\n[![Image 12: Ishan Dev Shukl](https://miro.medium.com/v2/resize:fill:32:32/1*fZySYJLvY0PH3SzE2g-AiA.png)](https://medium.com/@ishandevshukl?source=post_page---post_responses--74c214de769e----0-----------------------------------)\\n\\n[Ishan Dev Shukl](https://medium.com/@ishandevshukl?source=post_page---post_responses--74c214de769e----0-----------------------------------)\\n\\n[Mar 26](https://medium.com/@ishandevshukl/great-insights-df1374d2cf3a?source=post_page---post_responses--74c214de769e----0-----------------------------------)\\n\\nGreat insights 👏🏻\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2Fdf1374d2cf3a&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40ishandevshukl%2Fgreat-insights-df1374d2cf3a&user=Ishan+Dev+Shukl&userId=ef6c859f046f&source=---post_responses--df1374d2cf3a----0-----------------respond_sidebar------------------)\\n\\n11\\n\\nReply\\n\\n[![Image 13: Uli Chalice](https://miro.medium.com/v2/resize:fill:32:32/1*dmbNkD5D-u45r44go_cf0g.png)](https://medium.com/@uli.chalice147?source=post_page---post_responses--74c214de769e----1-----------------------------------)\\n\\n[Uli Chalice](https://medium.com/@uli.chalice147?source=post_page---post_responses--74c214de769e----1-----------------------------------)\\n\\n[Aug 4](https://medium.com/@uli.chalice147/nice-article-would-love-to-hear-more-about-tools-like-that-perhaps-with-home-industrial-examples-02694c3ba6cb?source=post_page---post_responses--74c214de769e----1-----------------------------------)\\n\\nNice article, would love to hear more about tools like that perhaps with home/industrial examples of application. It sounds too techy just now\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F02694c3ba6cb&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40uli.chalice147%2Fnice-article-would-love-to-hear-more-about-tools-like-that-perhaps-with-home-industrial-examples-02694c3ba6cb&user=Uli+Chalice&userId=b6ff2171c2cf&source=---post_responses--02694c3ba6cb----1-----------------respond_sidebar------------------)\\n\\n3\\n\\n1 reply\\n\\nReply\\n\\n[![Image 14: Sachin Gora](https://miro.medium.com/v2/resize:fill:32:32/0*lMDu_FyROoNEIs70)](https://medium.com/@sachingora1234?source=post_page---post_responses--74c214de769e----2-----------------------------------)\\n\\n[Sachin Gora](https://medium.com/@sachingora1234?source=post_page---post_responses--74c214de769e----2-----------------------------------)\\n\\n[Jun 15](https://medium.com/@sachingora1234/insightful-content-6dc4dc1d4d12?source=post_page---post_responses--74c214de769e----2-----------------------------------)\\n\\ninsightful content :):):)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Fp%2F6dc4dc1d4d12&operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40sachingora1234%2Finsightful-content-6dc4dc1d4d12&user=Sachin+Gora&userId=c47d9578bfee&source=---post_responses--6dc4dc1d4d12----2-----------------respond_sidebar------------------)\\n\\n2\\n\\nReply\\n\\nSee all responses\\n\\nMore from TONI RAMCHANDANI and Data And Beyond\\n----------------------------------------------\\n\\n![Image 15: How DeepSeek OCR Quietly Solved a Billion-Dollar Problem in AI Scaling](https://miro.medium.com/v2/resize:fit:679/format:webp/0*OgEctMcohHmdcCSv)\\n\\n[![Image 16: Data And Beyond](https://miro.medium.com/v2/resize:fill:20:20/1*k72U7hHLb9EFXD5CLsbzFQ.png)](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----0---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nIn\\n\\n[Data And Beyond](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----0---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nby\\n\\n[TONI RAMCHANDANI](https://medium.com/@toniramchandani?source=post_page---author_recirc--74c214de769e----0---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[How DeepSeek OCR Quietly Solved a Billion-Dollar Problem in AI Scaling ---------------------------------------------------------------------- ### A technical marvel using SAM, CLIP, and a sparse MoE decoder — at open-source scale.](https://medium.com/data-and-beyond/how-deepseek-ocr-quietly-solved-a-billion-dollar-problem-in-ai-scaling-7b4502613af9?source=post_page---author_recirc--74c214de769e----0---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nOct 24\\n\\n[1.4K 17](https://medium.com/data-and-beyond/how-deepseek-ocr-quietly-solved-a-billion-dollar-problem-in-ai-scaling-7b4502613af9?source=post_page---author_recirc--74c214de769e----0---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F7b4502613af9&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fhow-deepseek-ocr-quietly-solved-a-billion-dollar-problem-in-ai-scaling-7b4502613af9&source=---author_recirc--74c214de769e----0-----------------bookmark_preview----f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n![Image 17: After my Viral Story and a +50 Promptbook Sales: Here is the Final Verbalized-Sampling System…](https://miro.medium.com/v2/resize:fit:679/format:webp/1*KcJ7BbaJYtRwBox6U10_OQ.png)\\n\\n[![Image 18: Data And Beyond](https://miro.medium.com/v2/resize:fill:20:20/1*k72U7hHLb9EFXD5CLsbzFQ.png)](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----1---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nIn\\n\\n[Data And Beyond](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----1---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nby\\n\\n[Adham Khaled](https://medium.com/@adhamhidawy?source=post_page---author_recirc--74c214de769e----1---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[After my Viral Story and a +50 Promptbook Sales: Here is the Final Verbalized-Sampling System… ---------------------------------------------------------------------------------------------- ### Free Verbalized Sampling system prompts for ChatGPT, Claude, Gemini, Copilot, and Perplexity. Make your AI permanently creative in 60…](https://medium.com/data-and-beyond/after-my-viral-story-and-a-50-promptbook-sales-here-is-the-final-verbalized-sampling-system-62815c083621?source=post_page---author_recirc--74c214de769e----1---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nNov 23\\n\\n[280 6](https://medium.com/data-and-beyond/after-my-viral-story-and-a-50-promptbook-sales-here-is-the-final-verbalized-sampling-system-62815c083621?source=post_page---author_recirc--74c214de769e----1---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F62815c083621&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fafter-my-viral-story-and-a-50-promptbook-sales-here-is-the-final-verbalized-sampling-system-62815c083621&source=---author_recirc--74c214de769e----1-----------------bookmark_preview----f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n![Image 19: I Don’t Use Microsoft Word for Math Anymore. Gemini’s LaTeX Upgrade Changed Everything.](https://miro.medium.com/v2/resize:fit:679/format:webp/1*_0a6C0HCI_XiJOT0VR9APw.jpeg)\\n\\n[![Image 20: Data And Beyond](https://miro.medium.com/v2/resize:fill:20:20/1*k72U7hHLb9EFXD5CLsbzFQ.png)](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----2---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nIn\\n\\n[Data And Beyond](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----2---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nby\\n\\n[Adham Khaled](https://medium.com/@adhamhidawy?source=post_page---author_recirc--74c214de769e----2---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[I Don’t Use Microsoft Word for Math Anymore. Gemini’s LaTeX Upgrade Changed Everything. --------------------------------------------------------------------------------------- ### I tried Gemini’s new LaTeX features — here’s how they fix math for students, engineers, and creators (and why you should care).](https://medium.com/data-and-beyond/i-dont-use-microsoft-word-for-math-anymore-gemini-s-latex-upgrade-changed-everything-f080bc89b736?source=post_page---author_recirc--74c214de769e----2---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nOct 23\\n\\n[625 17](https://medium.com/data-and-beyond/i-dont-use-microsoft-word-for-math-anymore-gemini-s-latex-upgrade-changed-everything-f080bc89b736?source=post_page---author_recirc--74c214de769e----2---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Ff080bc89b736&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fi-dont-use-microsoft-word-for-math-anymore-gemini-s-latex-upgrade-changed-everything-f080bc89b736&source=---author_recirc--74c214de769e----2-----------------bookmark_preview----f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n![Image 21: IBM’s Granite Docling 258M & Its DocTag Revolution: The Model That Doesn’t Flatten Your Data](https://miro.medium.com/v2/resize:fit:679/format:webp/0*L_8RmcaV7EMu2d3V.png)\\n\\n[![Image 22: Data And Beyond](https://miro.medium.com/v2/resize:fill:20:20/1*k72U7hHLb9EFXD5CLsbzFQ.png)](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----3---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nIn\\n\\n[Data And Beyond](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e----3---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nby\\n\\n[TONI RAMCHANDANI](https://medium.com/@toniramchandani?source=post_page---author_recirc--74c214de769e----3---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[IBM’s Granite Docling 258M & Its DocTag Revolution: The Model That Doesn’t Flatten Your Data -------------------------------------------------------------------------------------------- ### A storytelling journey into how IBM turned vision, language, and structure into a layout-preserving AI built for the RAG era](https://medium.com/data-and-beyond/ibms-granite-docling-258m-its-doctag-revolution-the-model-that-doesn-t-flatten-your-data-a149d3aa580e?source=post_page---author_recirc--74c214de769e----3---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\nSep 24\\n\\n[223 2](https://medium.com/data-and-beyond/ibms-granite-docling-258m-its-doctag-revolution-the-model-that-doesn-t-flatten-your-data-a149d3aa580e?source=post_page---author_recirc--74c214de769e----3---------------------f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fa149d3aa580e&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-and-beyond%2Fibms-granite-docling-258m-its-doctag-revolution-the-model-that-doesn-t-flatten-your-data-a149d3aa580e&source=---author_recirc--74c214de769e----3-----------------bookmark_preview----f4fbd201_8bd5_4d86_97de_559467deeb46--------------)\\n\\n[See all from TONI RAMCHANDANI](https://medium.com/@toniramchandani?source=post_page---author_recirc--74c214de769e---------------------------------------)\\n\\n[See all from Data And Beyond](https://medium.com/data-and-beyond?source=post_page---author_recirc--74c214de769e---------------------------------------)\\n\\nRecommended from Medium\\n-----------------------\\n\\n![Image 23: I Let n8n Automate My Life for 7 Days — Here’s What Happened](https://miro.medium.com/v2/resize:fit:679/format:webp/1*srg_VPvA9_97CQdt61Zxsg.png)\\n\\n[![Image 24: ven coding](https://miro.medium.com/v2/resize:fill:20:20/1*FXTpPb9cHXnOamTWkpjOOQ.png)](https://medium.com/@vencoding?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[ven coding](https://medium.com/@vencoding?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[I Let n8n Automate My Life for 7 Days — Here’s What Happened ------------------------------------------------------------ ### A real beginner’s guide to building AI-powered workflows step by step.](https://medium.com/@vencoding/i-let-n8n-automate-my-life-for-7-days-heres-what-happened-5d9d56e3d5d3?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nOct 11\\n\\n[462 10](https://medium.com/@vencoding/i-let-n8n-automate-my-life-for-7-days-heres-what-happened-5d9d56e3d5d3?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F5d9d56e3d5d3&operation=register&redirect=https%3A%2F%2Fvencoding.medium.com%2Fi-let-n8n-automate-my-life-for-7-days-heres-what-happened-5d9d56e3d5d3&source=---read_next_recirc--74c214de769e----0-----------------bookmark_preview----e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n![Image 25: Building a Self-Improving Agentic RAG System](https://miro.medium.com/v2/resize:fit:679/format:webp/1*kjGERC9aqDtdXKmKDO9UZw.png)\\n\\n[![Image 26: Level Up Coding](https://miro.medium.com/v2/resize:fill:20:20/1*5D9oYBd58pyjMkV_5-zXXQ.jpeg)](https://medium.com/gitconnected?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nIn\\n\\n[Level Up Coding](https://medium.com/gitconnected?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nby\\n\\n[Fareed Khan](https://medium.com/@fareedkhandev?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[Building a Self-Improving Agentic RAG System -------------------------------------------- ### Specialist agents, multi-dimensional eval, Pareto front and more.](https://medium.com/gitconnected/building-a-self-improving-agentic-rag-system-f55003af44c4?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nNov 14\\n\\n[1.5K 11](https://medium.com/gitconnected/building-a-self-improving-agentic-rag-system-f55003af44c4?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Ff55003af44c4&operation=register&redirect=https%3A%2F%2Flevelup.gitconnected.com%2Fbuilding-a-self-improving-agentic-rag-system-f55003af44c4&source=---read_next_recirc--74c214de769e----1-----------------bookmark_preview----e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n![Image 27: The AI Bubble Is About To Burst, But The Next Bubble Is Already Growing](https://miro.medium.com/v2/resize:fit:679/format:webp/0*jQ7Z0Y2Rw8kblsEX)\\n\\n[![Image 28: Will Lockett](https://miro.medium.com/v2/resize:fill:20:20/1*V0qWMQ8V5_NaF9yUoHAdyg.jpeg)](https://medium.com/@wlockett?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[Will Lockett](https://medium.com/@wlockett?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[The AI Bubble Is About To Burst, But The Next Bubble Is Already Growing ----------------------------------------------------------------------- ### Techbros are preparing their latest bandwagon.](https://medium.com/@wlockett/the-ai-bubble-is-about-to-burst-but-the-next-bubble-is-already-growing-383c0c0c7ede?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nSep 14\\n\\n[19.6K 747](https://medium.com/@wlockett/the-ai-bubble-is-about-to-burst-but-the-next-bubble-is-already-growing-383c0c0c7ede?source=post_page---read_next_recirc--74c214de769e----0---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F383c0c0c7ede&operation=register&redirect=https%3A%2F%2Fwlockett.medium.com%2Fthe-ai-bubble-is-about-to-burst-but-the-next-bubble-is-already-growing-383c0c0c7ede&source=---read_next_recirc--74c214de769e----0-----------------bookmark_preview----e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n![Image 29: Building Agentic RAG with LangGraph: Mastering Adaptive RAG for Production](https://miro.medium.com/v2/resize:fit:679/format:webp/0*MwqEsP6YWzxVmaPT.gif)\\n\\n[![Image 30: Artificial Intelligence in Plain English](https://miro.medium.com/v2/resize:fill:20:20/1*9zAmnK08gUCmZX7q0McVKw@2x.png)](https://medium.com/ai-in-plain-english?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nIn\\n\\n[Artificial Intelligence in Plain English](https://medium.com/ai-in-plain-english?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nby\\n\\n[Piyush Agnihotri](https://medium.com/@piyushagni5?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[Building Agentic RAG with LangGraph: Mastering Adaptive RAG for Production -------------------------------------------------------------------------- ### Build intelligent RAG systems that know when to retrieve documents, search the web, or generate responses directly](https://medium.com/ai-in-plain-english/building-agentic-rag-with-langgraph-mastering-adaptive-rag-for-production-c2c4578c836a?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nJul 20\\n\\n[2.3K 31](https://medium.com/ai-in-plain-english/building-agentic-rag-with-langgraph-mastering-adaptive-rag-for-production-c2c4578c836a?source=post_page---read_next_recirc--74c214de769e----1---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Fc2c4578c836a&operation=register&redirect=https%3A%2F%2Fai.plainenglish.io%2Fbuilding-agentic-rag-with-langgraph-mastering-adaptive-rag-for-production-c2c4578c836a&source=---read_next_recirc--74c214de769e----1-----------------bookmark_preview----e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n![Image 31: AI Agents: Complete Course](https://miro.medium.com/v2/resize:fit:679/format:webp/1*PvPPSGJ9779FTWmtK_Yeyw.png)\\n\\n[![Image 32: Data Science Collective](https://miro.medium.com/v2/resize:fill:20:20/1*0nV0Q-FBHj94Kggq00pG2Q.jpeg)](https://medium.com/data-science-collective?source=post_page---read_next_recirc--74c214de769e----2---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nIn\\n\\n[Data Science Collective](https://medium.com/data-science-collective?source=post_page---read_next_recirc--74c214de769e----2---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nby\\n\\n[Marina Wyss - Gratitude Driven](https://medium.com/@gratitudedriven?source=post_page---read_next_recirc--74c214de769e----2---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[AI Agents: Complete Course -------------------------- ### From beginner to intermediate to production.](https://medium.com/data-science-collective/ai-agents-complete-course-f226aa4550a1?source=post_page---read_next_recirc--74c214de769e----2---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nDec 6\\n\\n[1.6K 56](https://medium.com/data-science-collective/ai-agents-complete-course-f226aa4550a1?source=post_page---read_next_recirc--74c214de769e----2---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Ff226aa4550a1&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fdata-science-collective%2Fai-agents-complete-course-f226aa4550a1&source=---read_next_recirc--74c214de769e----2-----------------bookmark_preview----e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n![Image 33: I Failed 47 System Design Interviews — Then One Netflix Engineer Changed Everything](https://miro.medium.com/v2/resize:fit:679/format:webp/1*ZT2SRcl-B_zZuZ0qC5EpxA.png)\\n\\n[![Image 34: Beyond Localhost](https://miro.medium.com/v2/resize:fill:20:20/1*Fiyxx94cx-auOGiV9c4NSg.png)](https://medium.com/beyond-localhost?source=post_page---read_next_recirc--74c214de769e----3---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nIn\\n\\n[Beyond Localhost](https://medium.com/beyond-localhost?source=post_page---read_next_recirc--74c214de769e----3---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nby\\n\\n[The Speedcraft Lab](https://medium.com/@speedcraft21?source=post_page---read_next_recirc--74c214de769e----3---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[I Failed 47 System Design Interviews — Then One Netflix Engineer Changed Everything ----------------------------------------------------------------------------------- ### A single shift in how I framed scalability turned rejection into three competing offers in thirty days.](https://medium.com/beyond-localhost/i-failed-47-system-design-interviews-then-one-netflix-engineer-changed-everything-f1a44709eb86?source=post_page---read_next_recirc--74c214de769e----3---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\nNov 5\\n\\n[1.6K 41](https://medium.com/beyond-localhost/i-failed-47-system-design-interviews-then-one-netflix-engineer-changed-everything-f1a44709eb86?source=post_page---read_next_recirc--74c214de769e----3---------------------e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[](https://medium.com/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2Ff1a44709eb86&operation=register&redirect=https%3A%2F%2Fmedium.com%2Fbeyond-localhost%2Fi-failed-47-system-design-interviews-then-one-netflix-engineer-changed-everything-f1a44709eb86&source=---read_next_recirc--74c214de769e----3-----------------bookmark_preview----e5845c21_28c2_49f9_92a0_b37038766c8d--------------)\\n\\n[See more recommendations](https://medium.com/?source=post_page---read_next_recirc--74c214de769e---------------------------------------)\\n\\n[Help](https://help.medium.com/hc/en-us?source=post_page-----74c214de769e---------------------------------------)\\n\\n[Status](https://status.medium.com/?source=post_page-----74c214de769e---------------------------------------)\\n\\n[About](https://medium.com/about?autoplay=1&source=post_page-----74c214de769e---------------------------------------)\\n\\n[Careers](https://medium.com/jobs-at-medium/work-at-medium-959d1a85284e?source=post_page-----74c214de769e---------------------------------------)\\n\\n[Press](mailto:pressinquiries@medium.com)\\n\\n[Blog](https://blog.medium.com/?source=post_page-----74c214de769e---------------------------------------)\\n\\n[Privacy](https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=post_page-----74c214de769e---------------------------------------)\\n\\n[Rules](https://policy.medium.com/medium-rules-30e5502c4eb4?source=post_page-----74c214de769e---------------------------------------)\\n\\n[Terms](https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=post_page-----74c214de769e---------------------------------------)\\n\\n[Text to speech](https://speechify.com/medium?source=post_page-----74c214de769e---------------------------------------)\",\"publishedTime\":\"2025-03-26T07:16:51Z\",\"metadata\":{\"lang\":\"en\",\"viewport\":\"width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1\",\"theme-color\":\"#000000\",\"twitter:app:name:iphone\":\"Medium\",\"twitter:app:id:iphone\":\"828256236\",\"al:ios:app_name\":\"Medium\",\"al:ios:app_store_id\":\"828256236\",\"al:android:package\":\"com.medium.reader\",\"fb:app_id\":\"542599432471018\",\"og:site_name\":\"Medium\",\"apple-itunes-app\":\"app-id=828256236, app-argument=/data-and-beyond/part-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e, affiliate-data=pt=698524&ct=smart_app_banner&mt=8\",\"og:type\":\"article\",\"article:published_time\":\"2025-03-26T07:32:43.312Z\",\"title\":\"Part 1: Introduction to n8n — What It Is and How It Works | by TONI RAMCHANDANI | Data And Beyond | Medium\",\"og:title\":\"Part 1: Introduction to n8n — What It Is and How It Works\",\"al:android:url\":\"medium://p/74c214de769e\",\"al:ios:url\":\"medium://p/74c214de769e\",\"al:android:app_name\":\"Medium\",\"description\":\"Part 1: Introduction to n8n — What It Is and How It Works Hey everyone, welcome to this series! Today, we’re kicking off our journey into the world of automation with n8n — the one-stop …\",\"og:description\":\"Hey everyone, welcome to this series! Today, we’re kicking off our journey into the world of automation with n8n — the one-stop workflow…\",\"og:url\":\"https://medium.com/data-and-beyond/part-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e\",\"al:web:url\":\"https://medium.com/data-and-beyond/part-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e\",\"og:image\":\"https://miro.medium.com/v2/resize:fit:1155/0*G-5F38rBStjlMNwd.png\",\"article:author\":\"https://toniramchandani.medium.com\",\"author\":\"TONI RAMCHANDANI\",\"robots\":\"index,noarchive,follow,max-image-preview:large\",\"referrer\":\"unsafe-url\",\"twitter:title\":\"Part 1: Introduction to n8n — What It Is and How It Works\",\"twitter:site\":\"@dima806_dima\",\"twitter:app:url:iphone\":\"medium://p/74c214de769e\",\"twitter:description\":\"Hey everyone, welcome to this series! Today, we’re kicking off our journey into the world of automation with n8n — the one-stop workflow…\",\"twitter:image:src\":\"https://miro.medium.com/v2/resize:fit:1155/0*G-5F38rBStjlMNwd.png\",\"twitter:card\":\"summary_large_image\",\"twitter:creator\":\"@ToniRamchandani\",\"twitter:label1\":\"Reading time\",\"twitter:data1\":\"6 min read\"},\"external\":{\"icon\":{\"https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19\":{\"data-rh\":\"true\"}},\"search\":{\"https://medium.com/osd.xml\":{\"data-rh\":\"true\",\"type\":\"application/opensearchdescription+xml\",\"title\":\"Medium\"}},\"preconnect\":{\"https://glyph.medium.com/\":{\"data-rh\":\"true\",\"crossorigin\":\"\"},\"https://www.google.com/\":{\"data-rh\":\"true\"},\"https://www.gstatic.com/\":{\"data-rh\":\"true\",\"crossorigin\":\"\"}},\"manifest\":{\"https://medium.com/manifest.json\":{\"data-rh\":\"true\"}},\"preload\":{\"https://glyph.medium.com/css/unbound.css\":{\"data-rh\":\"true\",\"id\":\"glyph_preload_link\",\"as\":\"style\",\"type\":\"text/css\"}},\"author\":{\"https://toniramchandani.medium.com/\":{\"data-rh\":\"true\"}},\"canonical\":{\"https://medium.com/data-and-beyond/part-1-introduction-to-n8n-what-it-is-and-how-it-works-74c214de769e\":{\"data-rh\":\"true\"}},\"alternate\":{\"android-app://com.medium.reader/https/medium.com/p/74c214de769e\":{\"data-rh\":\"true\"}},\"apple-touch-icon\":{\"https://miro.medium.com/v2/resize:fill:152:152/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156\":{\"sizes\":\"152x152\",\"data-rh\":\"true\"},\"https://miro.medium.com/v2/resize:fill:120:120/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156\":{\"sizes\":\"120x120\",\"data-rh\":\"true\"},\"https://miro.medium.com/v2/resize:fill:76:76/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156\":{\"sizes\":\"76x76\",\"data-rh\":\"true\"},\"https://miro.medium.com/v2/resize:fill:60:60/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156\":{\"sizes\":\"60x60\",\"data-rh\":\"true\"}},\"mask-icon\":{\"https://miro.medium.com/v2/resize:fill:500:500/7*GAOKVe--MXbEJmV9230oOQ.png\":{\"color\":\"#171717\",\"data-rh\":\"true\"}}},\"usage\":{\"tokens\":10784}},{\"title\":\"What is n8n? Understanding the workflow automation tool\",\"url\":\"https://www.hostinger.com/tutorials/what-is-n8n\",\"description\":\"n8n is a workflow automation tool that connects apps and services. Learn how it works, what it does, and why it’s a top open-source option.\",\"content\":\"Dec 15, 2025\\n\\nDovydas\\n\\n5min Read\\n\\n**n8n** is a workflow automation tool that lets you schedule tasks and move data between many of the apps, tools, platforms, and services your team uses every day.\\n\\nIf you’ve ever wished you could automate all the boring, repetitive business, IT, or even personal tasks that span multiple apps but that require no advanced skills, n8n might be exactly what you need.\\n\\nIn this guide, we’ll break down what n8n is, how it works, and why many people choose it over similar AI automation tools – in particular, you’ll see how it compares to Zapier. We’ll give you some real-world examples alongside pricing and hosting options, so you can decide whether n8n is the right solution for your project or business.\\n\\n*   [What is n8n?](https://www.hostinger.com/tutorials/what-is-n8n#What_is_n8n)\\n    *   [How does n8n work?](https://www.hostinger.com/tutorials/what-is-n8n#How_does_n8n_work)\\n\\n*   [Common n8n use cases](https://www.hostinger.com/tutorials/what-is-n8n#Common_n8n_use_cases)\\n    *   [Notifications](https://www.hostinger.com/tutorials/what-is-n8n#Notifications)\\n    *   [Data synchronization across platforms](https://www.hostinger.com/tutorials/what-is-n8n#Data_synchronization_across_platforms)\\n    *   [Invoice and payment processing](https://www.hostinger.com/tutorials/what-is-n8n#Invoice_and_payment_processing)\\n    *   [Reporting automation](https://www.hostinger.com/tutorials/what-is-n8n#Reporting_automation)\\n    *   [Web scraping and data collection](https://www.hostinger.com/tutorials/what-is-n8n#Web_scraping_and_data_collection)\\n    *   [Smart home automation](https://www.hostinger.com/tutorials/what-is-n8n#Smart_home_automation)\\n\\n*   [Zapier vs n8n – comparison](https://www.hostinger.com/tutorials/what-is-n8n#Zapier_vs_n8n_%E2%80%93_comparison)\\n*   [How much does n8n cost?](https://www.hostinger.com/tutorials/what-is-n8n#How_much_does_n8n_cost)\\n\\nWhat is n8n?\\n------------\\n\\n**n8n** (pronounced either en-eight-en or nodemation) is an automation tool that lets you create custom workflows. Think of it as a digital assistant that handles repetitive work for you by scheduling tasks, leveraging [n8n integrations](https://www.hostinger.com/tutorials/n8n-integrations) to connect disparate systems, or automatically moving data between different apps that don’t normally communicate with each other out of the box.\\n\\nUsually, setting up workflow automation requires in-depth coding knowledge, but that’s where n8n stands out. It provides a visual interface with templates for common workflows so you can save time and focus on productivity without having to develop a custom automation tool.\\n\\n### How does n8n work?\\n\\nImagine connecting different apps like puzzle pieces. In n8n, those pieces are called **nodes**. Each node represents a specific action, such as sending an email, updating a spreadsheet, or fetching data from an application programming interface (API).\\n\\nWhen put together, all the nodes form a **workflow** – a set of actions based on a trigger. Because this is a [no-code workflow automation](https://www.hostinger.com/tutorials/what-is-no-code-automation) platform, the nodes are configured through a**visual interface**, making it easy to [build workflows](https://www.hostinger.com/tutorials/how-to-build-an-ai-workflow-in-n8n) without writing custom code.\\n\\nn8n’s flexibility goes beyond its core features, enabling you to automate everything from simple tasks to complex, multistep workflows. This illustrates [what can be automated with n8n](https://www.hostinger.com/tutorials/what-can-you-automate-with-n8n) across various industries.\\n\\nThere are different types of nodes based on their function. In general, a typical workflow consists of:\\n\\n*   **Trigger node**: This is what starts your workflow run. It could be a new form submission, an email in your inbox, or an event from another app.\\n*   **Action nodes**: These define the logic, specific applications, and actions in your workflow.\\n\\nActions can include simple tasks like storing data in a database, sending a notification, or updating a task in your project management app. They can also involve more complex actions like sending HTTP requests, running custom Python or Javascript code, or generating an AI prompt with your own data.\\n\\n![Image 1: Simple n8n workflow example.](https://imagedelivery.net/LqiWLm-3MGbYHtFuUbcBtA/wp-content/uploads/sites/2/2025/02/n8n-workflow-example.png/public)\\n\\nOnce you’ve built a workflow, n8n runs each action automatically upon a trigger, ensuring that everything happens in the right order without manual effort.\\n\\nHowever, if you don’t feel like building a workflow from scratch, you can explore over 1,250 pre-made **[workflow templates](https://www.hostinger.com/tutorials/best-n8n-templates)**.\\n\\nCommon n8n use cases\\n--------------------\\n\\n### Notifications\\n\\nOne of the most popular n8n use cases is the notification service. Depending on the trigger node type, the n8n workflow can be set up to send a notification to any of the supported applications, acting as a connector between platforms.\\n\\nFor example, you can set it up to inform team members via Slack, email, and/or SMS when a new order is placed on your website.\\n\\n### Data synchronization across platforms\\n\\nKeeping data consistent between different platforms can be a mundane, repetitive task that wastes valuable time and creates the potential for human error.\\n\\nThis can easily be solved with two-way synchronization in n8n. A possible scenario could be synchronization between your customer relationship management (CRM) platform and your project management software.\\n\\n### Invoice and payment processing\\n\\nIf you own an ecommerce website, n8n can greatly help you with payment processing from your payment provider.\\n\\nA few examples include payment retries, automated recurring payments, payment status updates, and payment detail verification against fraud detection services. Additionally, a workflow can include additional steps to store the payment information on your system, and to generate and send an invoice to your client via email.\\n\\n### Reporting automation\\n\\nWeekly meetings can require significant time and effort, especially when you need to remember to prepare a report every time.\\n\\nIn this instance, n8n can help to ensure your reports are ready before each week’s meeting. A workflow can be set up to collect and compile data from various sources, add it to a report template, and then add a document link to the meeting notification.\\n\\n### Web scraping and data collection\\n\\nNeed to gather information from multiple sources? With n8n you can extract data from websites, systems, or applications, structure it, and send it to a database or Google Sheets for easy access.\\n\\nThis is useful for tracking competitors, product prices, or industry insights, as well as capturing insights into your own business, like how it is presented in the media, for example.\\n\\n### Smart home automation\\n\\nn8n can be used as a home automation system to control various smart home devices or expand the functionality of your existing home network based on your location.\\n\\nYou can create an automated workflow to turn off the lights and reduce the heating when you go out, or to unlock your door when you’ve returned home.\\n\\nZapier vs n8n – comparison\\n--------------------------\\n\\nWhen [comparing n8n and Zapier](https://www.hostinger.com/tutorials/n8n-vs-zapier), Zapier is a user-friendly workflow automation tool geared toward beginners, whereas n8n provides more flexibility with fewer limitations.\\n\\nZapier is a great choice if you want to connect various applications and automate simple manual tasks without a lot of fine-tuning. n8n, on the other hand, is a better choice for people who want more control, advanced customization, and a self-hosting option.\\n\\nPros of Zapier:\\n\\n*   One of the simplest tools to learn for beginners\\n*   Wide variety of supported applications\\n*   Cloud-based, so you don’t need to worry about hosting\\n\\nCons of Zapier:\\n\\n*   Limited customizability for more advanced tasks\\n*   Can get expensive with complex workflows\\n\\nPros of n8n:\\n\\n*   Free to self-host\\n*   Allows more advanced custom workflows\\n*   Cloud-based option available if you don’t want to care about hosting\\n\\nCons of n8n:\\n\\n*   It takes more time to learn\\n*   Fewer supported applications compared to Zapier\\n*   More complex setup if you opt for the self-hosted option\\n\\nTo conclude, if you are looking for a quick and easy solution, choose Zapier. If you need a more powerful and customizable solution, you will likely benefit from choosing n8n instead.\\n\\nHow much does n8n cost?\\n-----------------------\\n\\nn8n is free to self-host, so the price depends solely on your hosting solution.\\n\\nIf you opt for the cloud version directly from n8n, it’ll cost you **$20/month** for the Starter plan – this should be enough for most basic projects. For more complex projects or for team use, the Pro plan costs **$50/month**.\\n\\nFor those who value customizability and full control, we recommend installing the [self-hosted n8n](https://www.hostinger.com/self-hosted-n8n)version on a virtual private server (VPS) from Hostinger. The KVM 2 plan at **$7.49/month** should be enough to get you started. With hPanel, **[installing n8n with Ubuntu](https://www.hostinger.com/tutorials/how-to-install-n8n)** takes just a few clicks.\\n\\n**Important!** Resource usage grows as you add more or complex workflows. Make sure your VPS has the [correct requirements for your n8n instance](https://www.hostinger.com/tutorials/n8n-vps-requirements), monitor usage in hPanel, and upgrade when needed.\\n\\nIf you’re a bit more tech-savvy, you can try n8n out for free by setting it up on your home computer or a single-board computer such as Raspberry Pi with Node.js or Docker. It’s not as easy as the VPS option, but it can be a great starting point for those who just want to play around with n8n before investing in hosting.\\n\\n[![Image 2](https://imagedelivery.net/LqiWLm-3MGbYHtFuUbcBtA/wp-content/uploads/sites/2/2023/02/VPS-hosting-banner.png/public)](https://www.hostinger.com/vps-hosting)\\nConclusion\\n----------\\n\\nn8n is all about making your life easier. Whether you want to automate notifications, sync data, process payments, or even control smart home devices, it gives you the flexibility to do it all.\\n\\nIf you’re looking for something quick and beginner-friendly, Zapier is still a great option. n8n, however, gives you more power, customization, and the ability to self-host, making it an outstanding player in the automation world.\\n\\n**All of the tutorial content on this website is subject to [Hostinger's rigorous editorial standards and values.](https://www.hostinger.com/tutorials/editorial-standards-and-values)**\\n\\n![Image 3: Author](https://imagedelivery.net/LqiWLm-3MGbYHtFuUbcBtA/wp-content/uploads/sites/2/2025/03/image-4.png/public)\\n\\nThe author\\n\\nDovydas\\n\\nDovydas has worked in cloud engineering and IT operations, focusing on maintaining and improving complex systems. He’s especially interested in software development and automation and is always looking for ways to make things more efficient and reliable. You can find him on [LinkedIn](https://www.linkedin.com/in/dpaulo/).\",\"publishedTime\":\"2025-02-18T14:44:43+00:00\",\"metadata\":{\"lang\":\"en-US\",\"viewport\":\"width=device-width, initial-scale=1, shrink-to-fit=no\",\"description\":\"n8n is a workflow automation tool that connects apps and services. Learn how it works, what it does, and why it’s a top open-source option.\",\"robots\":\"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large\",\"og:locale\":\"en_US\",\"og:type\":\"article\",\"og:title\":\"What is n8n? Understanding the workflow automation tool\",\"og:description\":\"n8n is a workflow automation tool that connects apps and services. Learn how it works, what it does, and why it’s a top open-source option.\",\"og:url\":\"https://www.hostinger.com/tutorials/what-is-n8n\",\"og:site_name\":\"Hostinger Tutorials\",\"article:section\":\"VPS\",\"og:updated_time\":\"2025-12-15T05:02:54+00:00\",\"article:published_time\":\"2025-02-18T14:44:43+00:00\",\"article:modified_time\":\"2025-12-15T05:02:54+00:00\",\"twitter:card\":\"summary_large_image\",\"twitter:title\":\"What is n8n? Understanding the workflow automation tool\",\"twitter:description\":\"n8n is a workflow automation tool that connects apps and services. Learn how it works, what it does, and why it’s a top open-source option.\",\"twitter:label1\":\"Written by\",\"twitter:data1\":\"Dovydas\",\"twitter:label2\":\"Time to read\",\"twitter:data2\":\"7 minutes\",\"generator\":\"WordPress 6.8.2\",\"wpacu-generator\":\"ASSET CLEANUP STYLES MOVED FROM BODY TO HEAD\",\"msapplication-TileImage\":\"https://imagedelivery.net/LqiWLm-3MGbYHtFuUbcBtA/wp-content/uploads/sites/2/2017/04/cropped-hostinger-fav.png/public\"},\"external\":{\"profile\":{\"http://gmpg.org/xfn/11\":{}},\"canonical\":{\"https://www.hostinger.com/tutorials/what-is-n8n\":{}},\"dns-prefetch\":{\"https://facebook.net/\":{}},\"preconnect\":{\"https://fonts.gstatic.com/\":{\"crossorigin\":\"\"}},\"alternate\":{\"https://www.hostinger.com/tutorials/feed\":{\"type\":\"application/rss+xml\",\"title\":\"Hostinger Tutorials » Feed\"},\"https://www.hostinger.com/tutorials/comments/feed\":{\"type\":\"application/rss+xml\",\"title\":\"Hostinger Tutorials » Comments Feed\"},\"https://www.hostinger.com/tutorials/what-is-n8n/feed\":{\"type\":\"application/rss+xml\",\"title\":\"Hostinger Tutorials » What is n8n? Intro to a workflow automation tool Comments Feed\"},\"https://www.hostinger.com/tutorials/wp-json/wp/v2/posts/122928\":{\"title\":\"JSON\",\"type\":\"application/json\"},\"https://www.hostinger.com/tutorials/wp-json/oembed/1.0/embed?url=%2Ftutorials%2Fwhat-is-n8n\":{\"title\":\"oEmbed (JSON)\",\"type\":\"application/json+oembed\"},\"https://www.hostinger.com/tutorials/wp-json/oembed/1.0/embed?url=%2Ftutorials%2Fwhat-is-n8n&format=xml\":{\"title\":\"oEmbed (XML)\",\"type\":\"text/xml+oembed\"},\"https://www.hostinger.com/tutorials/what-is-n8n\":{\"hreflang\":\"en-US\"},\"https://www.hostinger.com/br/tutoriais/o-que-e-n8n\":{\"hreflang\":\"pt-BR\"},\"https://www.hostinger.com/fr/tutoriels/n8n-c-est-quoi\":{\"hreflang\":\"fr-FR\"},\"https://www.hostinger.com/es/tutoriales/que-es-n8n\":{\"hreflang\":\"es-ES\"},\"https://www.hostinger.com/id/tutorial/apa-itu-n8n\":{\"hreflang\":\"id-ID\"},\"https://www.hostinger.com/de/tutorials/was-ist-n8n\":{\"hreflang\":\"de-DE\"},\"https://www.hostinger.com/it/tutorial/cos-e-n8n\":{\"hreflang\":\"it-IT\"},\"https://www.hostinger.com/nl/tutorials/wat-is-n8n\":{\"hreflang\":\"nl-NL\"},\"https://www.hostinger.com/pl/tutoriale/co-jest-n8n/\":{\"hreflang\":\"pl-PL\"},\"https://www.hostinger.com/jp/tutorials/what-is-n8n/\":{\"hreflang\":\"ja-JP\"},\"https://www.blog.hostinger.io/ae/tutorials/what-is-n8n/\":{\"hreflang\":\"ar-AE\"},\"https://www.hostinger.com/uk/tutorials/what-is-n8n\":{\"hreflang\":\"en-UK\"},\"https://www.hostinger.com/my/tutorials/what-is-n8n\":{\"hreflang\":\"en-MY\"},\"https://www.hostinger.com/ph/tutorials/what-is-n8n\":{\"hreflang\":\"en-PH\"},\"https://www.hostinger.com/in/tutorials/what-is-n8n\":{\"hreflang\":\"en-IN\"},\"https://www.hostinger.com/ca/tutorials/what-is-n8n\":{\"hreflang\":\"en-CA\"},\"https://www.hostinger.com/ar/tutoriales/que-es-n8n\":{\"hreflang\":\"es-AR\"},\"https://www.hostinger.com/mx/tutoriales/que-es-n8n\":{\"hreflang\":\"es-MX\"},\"https://www.hostinger.com/co/tutoriales/que-es-n8n\":{\"hreflang\":\"es-CO\"},\"https://www.hostinger.com/pt/tutoriais/o-que-e-n8n\":{\"hreflang\":\"pt-PT\"},\"https://www.hostinger.com/au/tutorials/what-is-n8n\":{\"hreflang\":\"en-AU\"}},\"https://api.w.org/\":{\"https://www.hostinger.com/tutorials/wp-json/\":{}},\"EditURI\":{\"https://www.hostinger.com/tutorials/xmlrpc.php?rsd\":{\"type\":\"application/rsd+xml\",\"title\":\"RSD\"}},\"shortlink\":{\"https://www.hostinger.com/tutorials/?p=122928\":{}},\"icon\":{\"https://imagedelivery.net/LqiWLm-3MGbYHtFuUbcBtA/wp-content/uploads/sites/2/2017/04/cropped-hostinger-fav.png/public\":{\"sizes\":\"192x192\"}},\"apple-touch-icon\":{\"https://imagedelivery.net/LqiWLm-3MGbYHtFuUbcBtA/wp-content/uploads/sites/2/2017/04/cropped-hostinger-fav.png/public\":{}}},\"usage\":{\"tokens\":2554}},{\"title\":\"What is n8n. Fastest and easiest self deployment too\",\"url\":\"https://www.youtube.com/watch?v=AxxAb99y-c0\",\"description\":\"Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.\",\"date\":\"Jul 6, 2025\",\"content\":\"What is n8n. Fastest and easiest self deployment too - YouTube\\n===============\\n\\n Back [![Image 1](https://www.youtube.com/watch?v=AxxAb99y-c0)](https://www.youtube.com/ \\\"YouTube Home\\\")\\n\\nSkip navigation\\n\\n Search \\n\\n Search with your voice \\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[Sign in](https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3Dhttps%253A%252F%252Fwww.youtube.com%252Fwatch%253Fv%253DAxxAb99y-c0&hl=en&ec=65620)\\n\\n[![Image 2](https://www.youtube.com/watch?v=AxxAb99y-c0)](https://www.youtube.com/ \\\"YouTube Home\\\")\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[What is n8n. Fastest and easiest self deployment too](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nTap to unmute\\n\\n2x\\n\\n[![Image 3](https://www.youtube.com/watch?v=AxxAb99y-c0)](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nWhat is n8n. Fastest and easiest self deployment too\\n----------------------------------------------------\\n\\nHitesh Choudhary 41,123 views 5 months ago\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nSearch\\n\\nCopy link\\n\\nInfo\\n\\nShopping\\n\\n![Image 4](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[![Image 5](https://www.youtube.com/watch?v=AxxAb99y-c0)](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nIf playback doesn't begin shortly, try restarting your device.\\n\\n•\\n\\nYou're signed out\\n\\nVideos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer.\\n\\nCancel Confirm\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nShare\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0 \\\"Share link\\\")- [x] Include playlist \\n\\nAn error occurred while retrieving sharing information. Please try again later.\\n\\n![Image 6](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n0:00\\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)[](https://www.youtube.com/watch?v=g1MHGMWfEiI \\\"Next (SHIFT+n)\\\")\\n\\n0:00 / 0:00\\n\\nLive\\n\\n•Watch full video\\n\\n•\\n\\nIntroduction\\n\\n•\\n\\n[36:23 Master 80% of n8n in 36 Minutes Futurepedia and AI Agent Lab 314K views • 3 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=e3OV3LnrS7o)[26:36 You NEED to Use n8n RIGHT NOW!! (Free, Local, Private)NetworkChuck 2.2M views • 5 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=ONgECvZNI3o)[30:21 What are AI Agents. Let's build one Hitesh Choudhary 59K views • 6 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=qsO5jVrzoas)[35:11 35 Best n8n Use Cases You’ll Use Daily (Free Templates)Jono Catliff 19K views • 1 month ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=Yw71-CzeoQI)[14:18 How I'd Learn n8n if I had to Start Over in 2026 Nate Herk | AI Automation 55K views • 11 days ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=Fqeo8q8-nJg)[25:58 From Zero to Your First AI Agent in 25 Minutes (No Coding)Futurepedia and AI Agent Lab 2.9M views • 7 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=EH5jx5qPabU)[19:25 What is n8n in Hindi. Fastest and easiest self deployment too Chai aur Code 318K views • 6 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=tysDxjfgLMg)[47:17 n8n Now Runs My ENTIRE Homelab NetworkChuck 798K views • 2 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=budTmdQfXYU)[2:10:36 Master n8n in 2 Hours: Complete Beginner’s Guide for 2025 Jono Catliff 586K views • 10 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=AURnISajubk)[26:55 Why Latency Could Be Killing Your User Experience Hitesh Choudhary 45K views • 5 months ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=n7XRWZq4caE)[22:14 Tailwind CSS Tutorial Hindi #1 STOP Writing CSS! (Intro & Course Roadmap)Web Coding With Ankur 25 views • 11 days ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=g1MHGMWfEiI)[30:07 Claude Skills Explained: Beginner to Advanced Tutorial Ali H. Salem 24K views • 1 month ago Live Playlist ()Mix (50+)](https://www.youtube.com/watch?v=a3uMv1S-1tM)\\n\\nSign in to confirm you’re not a bot This helps protect our community. [Learn more](https://support.google.com/youtube/answer/3037019#zippy=%2Ccheck-that-youre-signed-into-youtube)\\n\\n[Sign in](https://accounts.google.com/ServiceLogin?service=youtube&uilel=3&passive=true&continue=https%3A%2F%2Fwww.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26app%3Ddesktop%26hl%3Den%26next%3D%252Fwatch%253Fv%253DAxxAb99y-c0&hl=en)\\n\\nWhat is n8n. Fastest and easiest self deployment too\\n====================================================\\n\\n[![Image 7](https://yt3.ggpht.com/arHIKjc6JTqF_b4QJKPHhQC_Jr8q0XfI7LEpJ0-VuiI0ZRz9xFNz94TWl4CLOcozLx-iAhV_=s48-c-k-c0x00ffffff-no-rj)](https://www.youtube.com/@HiteshCodeLab)\\n\\n[Hitesh Choudhary](https://www.youtube.com/@HiteshCodeLab)\\n\\n Hitesh Choudhary \\n\\n1.02M subscribers\\n\\nJoin\\n\\nSubscribe\\n\\nSubscribed\\n\\n404\\n\\nShare\\n\\nSave\\n\\nDownload\\n\\n Download \\n\\n41K views 5 months ago\\n\\n 41,123 views • Jul 6, 2025 \\n\\nLink: [http://hostinger.com/in/chaiaurcode](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFNydGpyZk1neWUta2RQSlJISTVCZkt2MUxyd3xBQ3Jtc0ttbGlXeDY3bGJnX180cURiTU5RUGR6YVNSaFhhRzRQZlFJUC1FX0J6VWpfc1VQaENra2dKWHVGemx0cHUyejE4bENSNEZ5dXhFUjhCdzg4bTFCUm9jaV83emtzVWlwYWhCOEdjXzJHTEIxRkRaQzdLVQ&q=http%3A%2F%2Fhostinger.com%2Fin%2Fchaiaurcode&v=AxxAb99y-c0) Coupon code: CHAIAURCODE n8n is an open source tool that can leverage AI to automate your workflow. Since it's open source, you can self host it too. It is like Langgraph but with UI and no code involvment. Welcome to a youtube channel dedicated to programming and coding related tutorials. We talk about tech, write code, discuss about cloud and devops. That’s what we do all day, all year. Get all source code for react application: [https://github.com/hiteshchoudhary/re...](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbEhDUFBON3d3S2tkUnRlam1PZWp0VnY2YnVIZ3xBQ3Jtc0tuREc0bkRQMXFGVThJN0IwS19QSmxsZkU0cUZkZV93cEkxU216X19haXZQT2N0SERzXzJLQWFWQ0xGcGZrYnlHRmtIeXl3RmRNTjg3WFJvN3VkclY5bngyQlVkRk9zNUszZ082TTRQeHNFNWNoQjFORQ&q=https%3A%2F%2Fgithub.com%2Fhiteshchoudhary%2Freact-english&v=AxxAb99y-c0) All source code is available at my Github account: [https://github.com/hiteshchoudhary](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbng2S1pTRU1ueVlkSDZpN1VRWmlSWmJHT2J3Z3xBQ3Jtc0tsYUJXM2dQeDUzS1hSMEQtVXVoX1M0VldtWXJtVE5hNlc1WGJvY3VBOU9rTGxwTGk0b3IxSlNzcFZtazVIX3h4ZDFHOFdlUE5fLWplRzlpZmV6NWxxUUFCTlNteVItTm9qeFpIM3NjVjdYdHVzZGtEbw&q=https%3A%2F%2Fgithub.com%2Fhiteshchoudhary&v=AxxAb99y-c0) Our Open-Source Project is here: [https://freeapi.app](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa0VnUHZjRXVlUnFFWVBNUXBtVGJWUG5GZ01kQXxBQ3Jtc0tsRHRva0FHUFpsNmRreko2b29RRENyeTJ1cTVUc0N0Y3JlNnVQemc2ejRtSWxqdjkzaFBRNXY1Smw1RVBha1lZMDFzOWZmMXFiUjNSZjcwYUlJdWFMNDhlX195Z1FFeHVPRjIwV3lieWJadVNOQjlHbw&q=https%3A%2F%2Ffreeapi.app%2F&v=AxxAb99y-c0) Join me at whatsapp: [https://hitesh.ai/whatsapp](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa3hicGQ1WlFWV3FqNUlPSU02ZUpuUFR0NEg1UXxBQ3Jtc0ttUUdfbFU4RENrUDRyOW1QTjJ2c2dWbEpLU0ZNcTE1Q0t1QkpUd0VDQTNUUjVtdFNFUS1JT3ZObkQ4NmFKMGZGVlZ6ekdHRW1BT1RDNk1tWnV5TUVZWHl3ODBUaG0zVFZGSnFCZ2wtby1PcjgwcHlHcw&q=https%3A%2F%2Fhitesh.ai%2Fwhatsapp&v=AxxAb99y-c0) for community discord: [https://hitesh.ai/discord](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbHFTWGEtMmUtQmZiQ3NNb2NqLVRRakRnZ1l2UXxBQ3Jtc0tuc19jX0ttUjZ5Tnhscm1ENWNDUjZLVG9Kd19FdWl1aHl2cVhIbzdpbzQ3R3NKNGRLY01sYlhMRk5sZVlDRFZvalBPNWhiSnZyNEphejBqZkNKSm02U2d1emtuV3NfaldvWlhhcEtib1FiWU9LSjJOQQ&q=https%3A%2F%2Fhitesh.ai%2Fdiscord&v=AxxAb99y-c0) Instagram pe yaha paaye jaate h: [![Image 8](https://www.youtube.com/watch?v=AxxAb99y-c0)/hiteshchoudharyofficial](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbEI3bi1KTGpNSjB4THBKQ2pYaGJuNjN5MWtsd3xBQ3Jtc0tsWXduTzZBUGFQQm01YlFXWlZ6ZHdpMHZlZzZfY3hqRHN3V2RUZm92bkhNX0JLSUpxaFZMbzJKY2s3cmE5TEFSVWlYd0djSWk1eXlqdFIzZl9WYnhTcTZVZFFoYUhxNVQ0MnA1b24tcTJQY2JwRzVfQQ&q=https%3A%2F%2Fwww.instagram.com%2Fhiteshchoudharyofficial%2F&v=AxxAb99y-c0) Learn React with 10 projects: [![Image 9](https://www.youtube.com/watch?v=AxxAb99y-c0)•Video](https://www.youtube.com/watch?v=eCU7FfMl5WU&list=PLRAV69dS1uWQos1M1xP6LWN6C-lZvpkmq&index=1) Learn Docker: [![Image 10](https://www.youtube.com/watch?v=AxxAb99y-c0)•A practical guide on Docker with projects...](https://www.youtube.com/watch?v=rr9cI4u1_88) Learn Kubernetes: [![Image 11](https://www.youtube.com/watch?v=AxxAb99y-c0)•Complete Kubernetes Course|Deploy MERN app](https://www.youtube.com/watch?v=7XDeI5fyj3w&pp=0gcJCR0AztywvtLA) How does a browser works: [![Image 12](https://www.youtube.com/watch?v=AxxAb99y-c0)•How does a browser work?|Engineering side](https://www.youtube.com/watch?v=5rLFYtXHo9s) How nodejs works: [![Image 13](https://www.youtube.com/watch?v=AxxAb99y-c0)•How node JS works|Engineering side](https://www.youtube.com/watch?v=ooBxSg1Cl1w) Learn Redux-toolkit: [![Image 14](https://www.youtube.com/watch?v=AxxAb99y-c0)•Video](https://www.youtube.com/watch?v=pX0SBJF01EU) Learn NextJS: [![Image 15](https://www.youtube.com/watch?v=AxxAb99y-c0)•Nextjs Full stack course](https://www.youtube.com/watch?v=iPGXk-i-VYU&list=PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE&index=1) Learn Typescript: [![Image 16](https://www.youtube.com/watch?v=AxxAb99y-c0)•Why to learn Typescript](https://www.youtube.com/watch?v=j89BvWz8Eag&list=PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW&index=1) Learn Javascript: [![Image 17](https://www.youtube.com/watch?v=AxxAb99y-c0)•Welcome to new JavaScript course](https://www.youtube.com/watch?v=2md4HQNRqJA&list=PLRAV69dS1uWSxUIk5o3vQY2-_VKsOpXLD&index=1) Learn React Native: [![Image 18](https://www.youtube.com/watch?v=AxxAb99y-c0)•React Native Mastery:Develop 10 Apps with...](https://www.youtube.com/watch?v=kGtEax1WQFg&list=PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c&index=1) Learn Zustand: [![Image 19](https://www.youtube.com/watch?v=AxxAb99y-c0)•React state management crash course|Zustand](https://www.youtube.com/watch?v=KCr-UNsM3vA&list=PLRAV69dS1uWQMXekDgw7fRAsHmsbKWkwu&index=1) Learn Golang: [![Image 20](https://www.youtube.com/watch?v=AxxAb99y-c0)•How to get started with golang|Go progra...](https://www.youtube.com/watch?v=X4q1OM0voO0&list=PLRAV69dS1uWSR89FRQGZ6q9BR2b44Tr9N&index=1)Show less \\n\\nLink: [http://hostinger.com/in/chaiaurcode](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFNydGpyZk1neWUta2RQSlJISTVCZkt2MUxyd3xBQ3Jtc0ttbGlXeDY3bGJnX180cURiTU5RUGR6YVNSaFhhRzRQZlFJUC1FX0J6VWpfc1VQaENra2dKWHVGemx0cHUyejE4bENSNEZ5dXhFUjhCdzg4bTFCUm9jaV83emtzVWlwYWhCOEdjXzJHTEIxRkRaQzdLVQ&q=http%3A%2F%2Fhostinger.com%2Fin%2Fchaiaurcode&v=AxxAb99y-c0) Coupon code: CHAIAURCODE …...more \\n\\n...more \\n\\nHow this was made\\n\\nAuto-dubbed\\n\\nAudio tracks for some languages were automatically generated. [Learn more](https://support.google.com/youtube/answer/15569972?hl=en)\\n\\nChapters\\n\\nView all\\n--------------------\\n\\n[![Image 21](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Introduction #### Introduction 0:00](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[#### Introduction](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n0:00\\n\\n[![Image 22](https://www.youtube.com/watch?v=AxxAb99y-c0) #### AI Workflow #### AI Workflow 0:50](https://www.youtube.com/watch?v=AxxAb99y-c0&t=50s)\\n\\n[#### AI Workflow](https://www.youtube.com/watch?v=AxxAb99y-c0&t=50s)\\n\\n0:50\\n\\n[![Image 23](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Demo #### Demo 4:30](https://www.youtube.com/watch?v=AxxAb99y-c0&t=270s&pp=0gcJCd0CDuyUWbzu)\\n\\n[#### Demo](https://www.youtube.com/watch?v=AxxAb99y-c0&t=270s&pp=0gcJCd0CDuyUWbzu)\\n\\n4:30\\n\\n[![Image 24](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Hosting #### Hosting 6:30](https://www.youtube.com/watch?v=AxxAb99y-c0&t=390s)\\n\\n[#### Hosting](https://www.youtube.com/watch?v=AxxAb99y-c0&t=390s)\\n\\n6:30\\n\\n[![Image 25](https://www.youtube.com/watch?v=AxxAb99y-c0) #### App Management #### App Management 11:15](https://www.youtube.com/watch?v=AxxAb99y-c0&t=675s&pp=0gcJCd0CDuyUWbzu)\\n\\n[#### App Management](https://www.youtube.com/watch?v=AxxAb99y-c0&t=675s&pp=0gcJCd0CDuyUWbzu)\\n\\n11:15\\n\\nTranscript\\n\\nFollow along using the transcript.\\n\\nShow transcript\\n\\n[![Image 26](https://www.youtube.com/watch?v=AxxAb99y-c0) ### Hitesh Choudhary 1.02M subscribers](https://www.youtube.com/@HiteshCodeLab)\\n\\n[Videos](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/videos)\\n\\n[About](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/about)\\n\\n[Videos](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/videos)[About](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/about)[![Image 27](https://www.youtube.com/watch?v=AxxAb99y-c0) twitter](https://www.youtube.com/redirect?event=Watch_SD_EP&redir_token=QUFFLUhqbkItMUJuSmtfNjhGT3YxYTNDank1UmhOa1A5d3xBQ3Jtc0ttWlU2cHhBQ29VZktUeGZ4bVZlTXJjQy1vVlFYU0FOUHZZRFloWXJneGlWdXVHVXFXNS1aUnZFU3NKeWtZelZoZFMzVGR4TExpUU13UnpfdDZ4cEk1ZXZmU0tSWXVUa0hpQXlaOFU2N1kzY0FOZEo3WQ&q=https%3A%2F%2Ftwitter.com%2FHiteshdotcom)[![Image 28](https://www.youtube.com/watch?v=AxxAb99y-c0) Instagram](https://www.youtube.com/redirect?event=Watch_SD_EP&redir_token=QUFFLUhqbUEzNmFwc0JhVFRaMHh2c1g5MDdXTnlBR1hrUXxBQ3Jtc0ttOTFfTTlScjBPeThZZTRlTldMdHJpYTJleGJMMjlEMnd4blZZX1lQOENXOE82MXZyNXNtSEZEeXFxb0tHck1NRW5FeVNPYWpMc2pyWTFyaTR1VEZxVzZWdmFtRWpQSkE0SE0tUzNmYm5HTmlyNV9YRQ&q=https%3A%2F%2Finstagram.com%2Fhiteshchoudharyofficial)\\n\\nShow less \\n\\n[](https://www.youtube.com/watch?v=AxxAb99y-c0)\\nWhat is n8n. Fastest and easiest self deployment too\\n====================================================\\n\\n41,123 views 41K views\\n\\nJul 6, 2025\\n\\n404\\n\\nShare\\n\\nSave\\n\\nDownload\\n\\n Download \\n\\n21 Comments\\n-----------\\n\\n Sort comments \\n\\nSort by\\n\\n[Top Show featured comments](https://www.youtube.com/watch?v=AxxAb99y-c0)[Newest Show recent comments, including potential spam](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n![Image 29: Default profile photo](https://yt3.ggpht.com/a/default-user=s48-c-k-c0x00ffffff-no-rj)\\n\\nAdd a comment...\\n\\n![Image 30](https://yt3.ggpht.com/nepiYtvnR6PPfk_oUtAZ-0MPyxVj02y2fT910pxTgB4HUsuWdmJaJOXxPN58NPC4-jfEzFuOFw=s88-c-k-c0x00ffffff-no-rj)\\n\\n### [@gamedevji](https://www.youtube.com/@gamedevji)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgwGcCjmkTCsqnE-Ylp4AaABAg)\\n\\nnext js playlist vote\\n\\nShow less Read more\\n\\n Like \\n\\n 18 \\n\\n Dislike \\n\\nReply\\n\\n![Image 31](https://yt3.ggpht.com/ytc/AIdro_ntnTwCpBXGxQHvoUVvZLpH8NpBnNWZyayKgCZfCxnGEUrQ=s88-c-k-c0x00ffffff-no-rj)\\n\\n### [@thisisdenish](https://www.youtube.com/@thisisdenish)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgyXfiMUIkppCPQalYt4AaABAg)\\n\\nWe want an entire series of this. :)\\n\\nShow less Read more\\n\\n Like \\n\\n 4 \\n\\n Dislike \\n\\nReply\\n\\n![Image 32](https://yt3.ggpht.com/6OJoBSP1Or2FKrzWZOxO08QrX-A2GoDq-f5lvxBTu93P6vx2FNcyJU35t1pzgN00V5Aw_0Qa=s88-c-k-c0x00ffffff-no-rj)\\n\\n### [@karthickrajalearn](https://www.youtube.com/@karthickrajalearn)\\n\\n[4 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgxiR2MjdxHhvPciBqJ4AaABAg)\\n\\nWaiting for part 2 Liking YouTube comments and reply workflow\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 33](https://yt3.ggpht.com/_r7UdaNN0SWi37efhKiXkhkk42sYdVKAQvqKQ_gVzlfAGyx4fOif-GCJF8xrSwT90BSyEw4P=s88-c-k-c0x00ffffff-no-rj)\\n\\n### [@MrClockw3rk](https://www.youtube.com/@MrClockw3rk)\\n\\n[4 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgyqEbs2vH-k576MaV54AaABAg)\\n\\nexcellent description\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 34](https://yt3.ggpht.com/ytc/AIdro_kp5gxWQKmEYbWz8p_eH7V65R7Z2B4Y8Hp4fBv50bQeRw=s88-c-k-c0x00ffffff-no-rj)\\n\\n### [@vikasx08](https://www.youtube.com/@vikasx08)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgxIpPiQa5Hli7-sozl4AaABAg)\\n\\nWe want next js playlist\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 35](https://yt3.ggpht.com/ytc/AIdro_noWCqE7sMiMK0ljNZPaJYSiXIDcEc8RQNxjpZ_0U8=s88-c-k-c0x00ffffff-no-rj)\\n\\n### [@srikanthsapelly4095](https://www.youtube.com/@srikanthsapelly4095)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgyjINaSNG92DDZQzwt4AaABAg)\\n\\nPlease create a playlist on n8n with real time business use cases.\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 36](https://yt3.ggpht.com/ytc/AIdro_mkLO97kTQBhD1y6_12_RwCBlZbvm0lFWC1fm-6j2EAW9Vj9t7ftMX_By3gz5Ppz7-oIQ=s88-c-k-c0x00ffffff-no-rj)\\n\\n### [@nasinasiva9430](https://www.youtube.com/@nasinasiva9430)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgxnCIpypXPa6mB6jId4AaABAg)\\n\\nVideo on how to integrate the agents to our n8n\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 37](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@sweatandcode](https://www.youtube.com/@sweatandcode)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgzoIVaVZBcugO5ZL8x4AaABAg)\\n\\nSuperb video![Image 38: ❤](https://www.youtube.com/watch?v=AxxAb99y-c0) need more like web + ai with easy deployment and saas ready product\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 39](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@dreamsachiever212](https://www.youtube.com/@dreamsachiever212)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgyQJ4jxgQmQxNRFUs54AaABAg)\\n\\n[9:14](https://www.youtube.com/watch?v=AxxAb99y-c0&t=554s) later on I will definitely upgrade this one ![Image 40: 😂](https://www.youtube.com/watch?v=AxxAb99y-c0)![Image 41: 💀](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 42](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@amratatripathi](https://www.youtube.com/@amratatripathi)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgzIjkmD7mLcvLJu-Z14AaABAg&pp=0gcJCSIANpG00pGi)\\n\\nvideo is more about hostinger and less about n8n\\n\\nShow less Read more\\n\\n Like \\n\\n 1 \\n\\n Dislike \\n\\nReply\\n\\n![Image 43](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@Code_ahead](https://www.youtube.com/@Code_ahead)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgyJvYsEefpFqyV_2E14AaABAg)\\n\\ni am currently integrating this n8n workflow, please create a video on it sir, i have to attach a lot of things. please create\\n\\nShow less Read more\\n\\n Like \\n\\n 1 \\n\\n Dislike \\n\\nReply\\n\\n![Image 44](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@97pixels](https://www.youtube.com/@97pixels)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgyFLUDh8ARBZ-xedPh4AaABAg)\\n\\nThis is similar to Apache Nifi. Hoever, I feel like this is something 'usecase driven'. you can wander around, but won't be able to build the workflow unless you have something planned!\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 45](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@madhu14345](https://www.youtube.com/@madhu14345)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgwbBF1VlYK5fD-6wQV4AaABAg)\\n\\ndoes the software companies use tools like n8n in future?\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 46](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@RajkaranchaudhariBauddh](https://www.youtube.com/@RajkaranchaudhariBauddh)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgzRbL2JGfxPEko7WoZ4AaABAg)\\n\\nKulmiakar paidal ho jais ki mani\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 47](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@laravelvuemedia](https://www.youtube.com/@laravelvuemedia)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgysrezE9AvKAqK46lJ4AaABAg)\\n\\n[https://youtu.be/kXLdCiVH30E](https://www.youtube.com/watch?v=kXLdCiVH30E)\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 48](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@CyberAcademia000](https://www.youtube.com/@CyberAcademia000)\\n\\n[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgxL_EWVy5cZE8B5mDd4AaABAg)\\n\\nMr.Hites...plz be respectful when speaking to the viewers of youtube okay?....everybody in india knows the scams you have done in ineuron and putting un fulfilled job gaurantee courses....okay?\\n\\nShow less Read more\\n\\n Like \\n\\n Dislike \\n\\nReply\\n\\n![Image 49](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [@HiteshCodeLab](https://www.youtube.com/@HiteshCodeLab)\\n\\n[@HiteshCodeLab @HiteshCodeLab](https://www.youtube.com/@HiteshCodeLab)[5 months ago](https://www.youtube.com/watch?v=AxxAb99y-c0&lc=UgyNglMqIBxdAK8O47J4AaABAg)\\n\\nHostinger Link: [http://hostinger.com/in/chaiaurcode](https://www.youtube.com/redirect?event=comments&redir_token=QUFFLUhqbUw3Wnd5WVo2dTBncVFKRWZDSlZuMElNLTRDZ3xBQ3Jtc0tuN0d3WXJ6WGMxTDVMMGZuNE1sTG9NLWNfUXVtTEN6clY5TVdKX2JSNE9NQ3ZyTlBOc1Q5T2tqdC1hWjZLaDVwa0w2Z19jUzZMMEJ3OWR5b1BZdDREWjQtN1RxS3lnRktXa2FLUHpqTWlyZWlRcUZpNA&q=http%3A%2F%2Fhostinger.com%2Fin%2Fchaiaurcode) Coupon code: CHAIAURCODE\\n\\nShow less Read more\\n\\n Like \\n\\n 3 \\n\\n Dislike \\n\\nReply\\n\\n1 reply\\n\\nHide replies\\n\\n1 reply\\n\\nTop is selected, so you'll see featured comments\\n\\nNaN / NaN\\n\\n![Image 50](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nComments 21\\n-----------\\n\\n[Top Show featured comments](https://www.youtube.com/watch?v=AxxAb99y-c0)[Newest Show recent comments, including potential spam](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n![Image 51](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nIn this video\\n-------------\\n\\nTimeline\\n\\nChapters\\n\\nTranscript\\n\\n![Image 52](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nChapters\\n--------\\n\\nThese chapters are auto-generated[![Image 53](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Introduction #### Introduction 0:00](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[#### Introduction](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n0:00\\n\\n[![Image 54](https://www.youtube.com/watch?v=AxxAb99y-c0) #### AI Workflow #### AI Workflow 0:50](https://www.youtube.com/watch?v=AxxAb99y-c0&t=50s)\\n\\n[#### AI Workflow](https://www.youtube.com/watch?v=AxxAb99y-c0&t=50s)\\n\\n0:50\\n\\n[![Image 55](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Demo #### Demo 4:30](https://www.youtube.com/watch?v=AxxAb99y-c0&t=270s)\\n\\n[#### Demo](https://www.youtube.com/watch?v=AxxAb99y-c0&t=270s)\\n\\n4:30\\n\\n[![Image 56](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Hosting #### Hosting 6:30](https://www.youtube.com/watch?v=AxxAb99y-c0&t=390s)\\n\\n[#### Hosting](https://www.youtube.com/watch?v=AxxAb99y-c0&t=390s)\\n\\n6:30\\n\\n[![Image 57](https://www.youtube.com/watch?v=AxxAb99y-c0) #### App Management #### App Management 11:15](https://www.youtube.com/watch?v=AxxAb99y-c0&t=675s)\\n\\n[#### App Management](https://www.youtube.com/watch?v=AxxAb99y-c0&t=675s)\\n\\n11:15\\n\\nSync to video time\\n\\n![Image 58](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nDescription\\n-----------\\n\\nWhat is n8n. Fastest and easiest self deployment too\\n\\n404 Likes\\n\\n41,123 Views\\n\\nJul 6 2025\\n\\nLink: [http://hostinger.com/in/chaiaurcode](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbDB5WnpPemFSN2lsMUtWWkxOQnZVdDJyc1ZmUXxBQ3Jtc0ttNURSLVFaYnJoSkFtR2RZUWJYdjdVUW1ibXowd2kzVUo3YXQ1TnYwNmFYOVhpUGJrZFBiZzhpTGlSSUFkMnFDdGExX3haUjlqNEZFN1JacFBnVmV4cm5vRFV6SFBZUk9UeEdQaW1qNmZIcGwzeFBSbw&q=http%3A%2F%2Fhostinger.com%2Fin%2Fchaiaurcode&v=AxxAb99y-c0) Coupon code: CHAIAURCODE n8n is an open source tool that can leverage AI to automate your workflow. Since it's open source, you can self host it too. It is like Langgraph but with UI and no code involvment. Welcome to a youtube channel dedicated to programming and coding related tutorials. We talk about tech, write code, discuss about cloud and devops. That’s what we do all day, all year. Get all source code for react application: [https://github.com/hiteshchoudhary/re...](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbFJldndNWVc4OWJQSThYTEgtUzJmY0VUMndoQXxBQ3Jtc0tseFBIWlE0Z1RGQzM0aDlsS3JucUkwMUtad1BwTFViNE90WHRBaWpYTmUxMlRhRDFPVEFXdFY5UUIzNDlTckhKMkJuakQzNWI1cU02LUI3eGJpbWZac0l2X1JUVno1dGhvZHlXSjFyRnhlRV9ZaXUzQQ&q=https%3A%2F%2Fgithub.com%2Fhiteshchoudhary%2Freact-english&v=AxxAb99y-c0) All source code is available at my Github account: [https://github.com/hiteshchoudhary](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa1N4bmtFdFN3Q1RaeWxIejdXR0xUV0pyWm9vZ3xBQ3Jtc0tsNENWZ3dxb2hLMVJ1Q2g3cEZOR1pwNFdGbU9kVTJORmRGbjJuTkZhR0FHVGp3UEh4d0d1NG9KWWJfRlh2SHhRR1R0QThMcjBEbmlWMWZTRGx3bFoyU2ZWbFRxZ3B1alIxV0VnTWxBXzUzU2hfYlJBNA&q=https%3A%2F%2Fgithub.com%2Fhiteshchoudhary&v=AxxAb99y-c0) Our Open-Source Project is here: [https://freeapi.app](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqblRId0pIRzltXzBwUmpwdUcyTGo0QlF0S0pVZ3xBQ3Jtc0tsNDVVWDB1STU5eUxJSzRVQTJwTE53anE4VzlLRTZ3OERiOEYzQkxINzB0NnZQVjZOYXJ6UTlBQlBjY2FCdmI1Sk9vd1VtMjdmN1VLckthVDNDVlBnYWFVdkNiTTZ2R2VwVGtHaGNJbFBrWkdjbmVFdw&q=https%3A%2F%2Ffreeapi.app%2F&v=AxxAb99y-c0) Join me at whatsapp: [https://hitesh.ai/whatsapp](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbVJISE4xUnRrZDVhZ3Ruc1l2YmphOEFKd1VFQXxBQ3Jtc0ttZml6Uk5wRmk5bUdXVDQ3OWFLUnF2UUw4b3lHVjdGSXkxNGlINnA0NmRwQ1BuRkxQUDdtaXBxM0N1V1kwdG9UTG9acnp1amp0NmZuUHdnS2xHSDhBTUhpeU9OT2ZlVE1faTBhbkRFMHZsTTZHZWEyNA&q=https%3A%2F%2Fhitesh.ai%2Fwhatsapp&v=AxxAb99y-c0) for community discord: [https://hitesh.ai/discord](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbEljUlUtaGhZNklNdDYxSFNubFY5dnB6RHEtQXxBQ3Jtc0ttRXZESGhlN3pZWU5GN3FTd0U2MFVCYXdDV2ZuZEx5X0ZZdHRrX0dHM2tCcl9uNkJoT1ExeUFKT0ZnaEFjbVYzaFkyNVlpRmQ3UGZNSmdxU2pXQmUzNG15SUlZcXJWRmVVOGY0c3pTVUtnX1JCaVRtTQ&q=https%3A%2F%2Fhitesh.ai%2Fdiscord&v=AxxAb99y-c0) Instagram pe yaha paaye jaate h: [![Image 59](https://www.youtube.com/watch?v=AxxAb99y-c0)/hiteshchoudharyofficial](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUVzSERyWXlxay1EQ3hLbGlnUGR0ejJwaVdpZ3xBQ3Jtc0tuaTQ1cTBvYnhYc0RSeGNpdDlia3JrcTdmMFZhQmF0R0pSV2Q1ZTluYXdBYWxfR0NPZkxKQXNBTlExc3lSa0FUWlg1dGlVWkszSURWdzV4M3llTFo4RDFuLXY3RWZrUF9ESnUtOHFNYTQ1eERmSUZ2bw&q=https%3A%2F%2Fwww.instagram.com%2Fhiteshchoudharyofficial%2F&v=AxxAb99y-c0) Learn React with 10 projects: [![Image 60](https://www.youtube.com/watch?v=AxxAb99y-c0)•Video](https://www.youtube.com/watch?v=eCU7FfMl5WU&list=PLRAV69dS1uWQos1M1xP6LWN6C-lZvpkmq&index=1) Learn Docker: [![Image 61](https://www.youtube.com/watch?v=AxxAb99y-c0)•A practical guide on Docker with projects...](https://www.youtube.com/watch?v=rr9cI4u1_88) Learn Kubernetes: [![Image 62](https://www.youtube.com/watch?v=AxxAb99y-c0)•Complete Kubernetes Course|Deploy MERN app](https://www.youtube.com/watch?v=7XDeI5fyj3w) How does a browser works: [![Image 63](https://www.youtube.com/watch?v=AxxAb99y-c0)•How does a browser work?|Engineering side](https://www.youtube.com/watch?v=5rLFYtXHo9s) How nodejs works: [![Image 64](https://www.youtube.com/watch?v=AxxAb99y-c0)•How node JS works|Engineering side](https://www.youtube.com/watch?v=ooBxSg1Cl1w) Learn Redux-toolkit: [![Image 65](https://www.youtube.com/watch?v=AxxAb99y-c0)•Video](https://www.youtube.com/watch?v=pX0SBJF01EU) Learn NextJS: [![Image 66](https://www.youtube.com/watch?v=AxxAb99y-c0)•Nextjs Full stack course](https://www.youtube.com/watch?v=iPGXk-i-VYU&list=PLRAV69dS1uWR7KF-zV6YPYtKYEHENETyE&index=1) Learn Typescript: [![Image 67](https://www.youtube.com/watch?v=AxxAb99y-c0)•Why to learn Typescript](https://www.youtube.com/watch?v=j89BvWz8Eag&list=PLRAV69dS1uWRPSfKzwZsIm-Axxq-LxqhW&index=1) Learn Javascript: [![Image 68](https://www.youtube.com/watch?v=AxxAb99y-c0)•Welcome to new JavaScript course](https://www.youtube.com/watch?v=2md4HQNRqJA&list=PLRAV69dS1uWSxUIk5o3vQY2-_VKsOpXLD&index=1) Learn React Native: [![Image 69](https://www.youtube.com/watch?v=AxxAb99y-c0)•React Native Mastery:Develop 10 Apps with...](https://www.youtube.com/watch?v=kGtEax1WQFg&list=PLRAV69dS1uWSjBBJ-egNNOd4mdblt1P4c&index=1) Learn Zustand: [![Image 70](https://www.youtube.com/watch?v=AxxAb99y-c0)•React state management crash course|Zustand](https://www.youtube.com/watch?v=KCr-UNsM3vA&list=PLRAV69dS1uWQMXekDgw7fRAsHmsbKWkwu&index=1) Learn Golang: [![Image 71](https://www.youtube.com/watch?v=AxxAb99y-c0)•How to get started with golang|Go progra...](https://www.youtube.com/watch?v=X4q1OM0voO0&list=PLRAV69dS1uWSR89FRQGZ6q9BR2b44Tr9N&index=1)…...more \\n\\n...more Show less \\n\\nHow this was made\\n\\nAuto-dubbed\\n\\nAudio tracks for some languages were automatically generated. [Learn more](https://support.google.com/youtube/answer/15569972?hl=en)\\n\\nChapters\\n\\nView all\\n--------------------\\n\\n[![Image 72](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Introduction #### Introduction 0:00](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n[#### Introduction](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n0:00\\n\\n[![Image 73](https://www.youtube.com/watch?v=AxxAb99y-c0) #### AI Workflow #### AI Workflow 0:50](https://www.youtube.com/watch?v=AxxAb99y-c0&t=50s)\\n\\n[#### AI Workflow](https://www.youtube.com/watch?v=AxxAb99y-c0&t=50s)\\n\\n0:50\\n\\n[![Image 74](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Demo #### Demo 4:30](https://www.youtube.com/watch?v=AxxAb99y-c0&t=270s&pp=0gcJCd0CDuyUWbzu)\\n\\n[#### Demo](https://www.youtube.com/watch?v=AxxAb99y-c0&t=270s&pp=0gcJCd0CDuyUWbzu)\\n\\n4:30\\n\\n[![Image 75](https://www.youtube.com/watch?v=AxxAb99y-c0) #### Hosting #### Hosting 6:30](https://www.youtube.com/watch?v=AxxAb99y-c0&t=390s)\\n\\n[#### Hosting](https://www.youtube.com/watch?v=AxxAb99y-c0&t=390s)\\n\\n6:30\\n\\nTranscript\\n\\nFollow along using the transcript.\\n\\nShow transcript\\n\\n[![Image 76](https://www.youtube.com/watch?v=AxxAb99y-c0) ### Hitesh Choudhary 1.02M subscribers](https://www.youtube.com/@HiteshCodeLab)\\n\\n[Videos](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/videos)\\n\\n[About](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/about)\\n\\n[Videos](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/videos)[About](https://www.youtube.com/channel/UCXgGY0wkgOzynnHvSEVmE3A/about)[![Image 77](https://www.youtube.com/watch?v=AxxAb99y-c0) twitter](https://www.youtube.com/redirect?event=Watch_SD_EP&redir_token=QUFFLUhqbkItMUJuSmtfNjhGT3YxYTNDank1UmhOa1A5d3xBQ3Jtc0ttWlU2cHhBQ29VZktUeGZ4bVZlTXJjQy1vVlFYU0FOUHZZRFloWXJneGlWdXVHVXFXNS1aUnZFU3NKeWtZelZoZFMzVGR4TExpUU13UnpfdDZ4cEk1ZXZmU0tSWXVUa0hpQXlaOFU2N1kzY0FOZEo3WQ&q=https%3A%2F%2Ftwitter.com%2FHiteshdotcom)[![Image 78](https://www.youtube.com/watch?v=AxxAb99y-c0) Instagram](https://www.youtube.com/redirect?event=Watch_SD_EP&redir_token=QUFFLUhqbUEzNmFwc0JhVFRaMHh2c1g5MDdXTnlBR1hrUXxBQ3Jtc0ttOTFfTTlScjBPeThZZTRlTldMdHJpYTJleGJMMjlEMnd4blZZX1lQOENXOE82MXZyNXNtSEZEeXFxb0tHck1NRW5FeVNPYWpMc2pyWTFyaTR1VEZxVzZWdmFtRWpQSkE0SE0tUzNmYm5HTmlyNV9YRQ&q=https%3A%2F%2Finstagram.com%2Fhiteshchoudharyofficial)\\n\\n![Image 79](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\nTranscript\\n----------\\n\\n[![Image 80](https://i.ytimg.com/vi/e3OV3LnrS7o/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLCGrl9vn4OClyNNRb0CHnKfNKbaiw) 36:23](https://www.youtube.com/watch?v=e3OV3LnrS7o&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 81](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n![Image 82](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Master 80% of n8n in 36 Minutes](https://www.youtube.com/watch?v=e3OV3LnrS7o&pp=ugUEEgJlbg%3D%3D)\\n\\nFuturepedia and AI Agent Lab\\n\\n314K views • 3 months ago\\n\\n[![Image 83](https://i.ytimg.com/vi/ONgECvZNI3o/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLBNTNCfxKSORV-j85Fg49wJus4jLw) 26:36](https://www.youtube.com/watch?v=ONgECvZNI3o&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 84](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [You NEED to Use n8n RIGHT NOW!! (Free, Local, Private)](https://www.youtube.com/watch?v=ONgECvZNI3o&pp=ugUEEgJlbg%3D%3D)\\n\\nNetworkChuck\\n\\n2.2M views • 5 months ago\\n\\n[![Image 85](https://i.ytimg.com/vi/qsO5jVrzoas/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLDUMQ21vjjTMk5Kyz6DFzipNcnSzA) 30:21](https://www.youtube.com/watch?v=qsO5jVrzoas&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 86](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [What are AI Agents. Let's build one](https://www.youtube.com/watch?v=qsO5jVrzoas&pp=ugUEEgJlbg%3D%3D)\\n\\nHitesh Choudhary\\n\\n59K views • 6 months ago\\n\\n[![Image 87](https://i.ytimg.com/vi/Yw71-CzeoQI/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLBkCO6Eot_zDmkuVIbyIA6ML3fvkQ) 35:11](https://www.youtube.com/watch?v=Yw71-CzeoQI&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 88](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [35 Best n8n Use Cases You’ll Use Daily (Free Templates)](https://www.youtube.com/watch?v=Yw71-CzeoQI&pp=ugUEEgJlbg%3D%3D)\\n\\nJono Catliff\\n\\n19K views • 1 month ago\\n\\n[![Image 89](https://www.youtube.com/watch?v=AxxAb99y-c0) 14:18](https://www.youtube.com/watch?v=Fqeo8q8-nJg&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 90](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [How I'd Learn n8n if I had to Start Over in 2026](https://www.youtube.com/watch?v=Fqeo8q8-nJg&pp=ugUEEgJlbg%3D%3D)\\n\\nNate Herk | AI Automation\\n\\n55K views • 11 days ago\\n\\n[![Image 91](https://www.youtube.com/watch?v=AxxAb99y-c0) 25:58](https://www.youtube.com/watch?v=EH5jx5qPabU&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 92](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n![Image 93](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [From Zero to Your First AI Agent in 25 Minutes (No Coding)](https://www.youtube.com/watch?v=EH5jx5qPabU&pp=ugUEEgJlbg%3D%3D)\\n\\nFuturepedia and AI Agent Lab\\n\\n2.9M views • 7 months ago\\n\\n[![Image 94](https://www.youtube.com/watch?v=AxxAb99y-c0) 19:25](https://www.youtube.com/watch?v=tysDxjfgLMg)\\n\\n![Image 95](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [What is n8n in Hindi. Fastest and easiest self deployment too](https://www.youtube.com/watch?v=tysDxjfgLMg)\\n\\nChai aur Code\\n\\n318K views • 6 months ago\\n\\n[![Image 96](https://www.youtube.com/watch?v=AxxAb99y-c0) 47:17](https://www.youtube.com/watch?v=budTmdQfXYU&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 97](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [n8n Now Runs My ENTIRE Homelab](https://www.youtube.com/watch?v=budTmdQfXYU&pp=ugUEEgJlbg%3D%3D)\\n\\nNetworkChuck\\n\\n798K views • 2 months ago\\n\\n[![Image 98](https://www.youtube.com/watch?v=AxxAb99y-c0) 2:10:36](https://www.youtube.com/watch?v=AURnISajubk)\\n\\n![Image 99](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Master n8n in 2 Hours: Complete Beginner’s Guide for 2025](https://www.youtube.com/watch?v=AURnISajubk)\\n\\nJono Catliff\\n\\n586K views • 10 months ago\\n\\n[![Image 100](https://www.youtube.com/watch?v=AxxAb99y-c0) 26:55](https://www.youtube.com/watch?v=n7XRWZq4caE&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 101](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Why Latency Could Be Killing Your User Experience](https://www.youtube.com/watch?v=n7XRWZq4caE&pp=ugUEEgJlbg%3D%3D)\\n\\nHitesh Choudhary\\n\\n45K views • 5 months ago\\n\\n[![Image 102](https://www.youtube.com/watch?v=AxxAb99y-c0) 22:14](https://www.youtube.com/watch?v=g1MHGMWfEiI)\\n\\n![Image 103](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Tailwind CSS Tutorial Hindi #1 STOP Writing CSS! (Intro & Course Roadmap)](https://www.youtube.com/watch?v=g1MHGMWfEiI)\\n\\nWeb Coding With Ankur \\n\\n25 views • 11 days ago\\n\\n[![Image 104](https://www.youtube.com/watch?v=AxxAb99y-c0) 30:07](https://www.youtube.com/watch?v=a3uMv1S-1tM&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 105](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Claude Skills Explained: Beginner to Advanced Tutorial](https://www.youtube.com/watch?v=a3uMv1S-1tM&pp=ugUEEgJlbg%3D%3D)\\n\\nAli H. Salem\\n\\n24K views • 1 month ago\\n\\n[![Image 106](https://www.youtube.com/watch?v=AxxAb99y-c0) 18:14](https://www.youtube.com/watch?v=79-bApI3GIU&pp=ugUHEgVlbi1VUw%3D%3D)\\n\\n![Image 107](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Ex-OpenAI Scientist WARNS: \\\"You Have No Idea What's Coming\\\"](https://www.youtube.com/watch?v=79-bApI3GIU&pp=ugUHEgVlbi1VUw%3D%3D)\\n\\nAI Upload\\n\\n4.6M views • 5 months ago\\n\\n[![Image 108](https://www.youtube.com/watch?v=AxxAb99y-c0) 18:03](https://www.youtube.com/watch?v=tkxKnPklJhY&pp=ugUHEgVlbi1HQg%3D%3D)\\n\\n![Image 109](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Stop learning n8n? Build NEW AI Systems in 2026](https://www.youtube.com/watch?v=tkxKnPklJhY&pp=ugUHEgVlbi1HQg%3D%3D)\\n\\nJack Roberts\\n\\n34K views • 13 days ago\\n\\n[![Image 110](https://www.youtube.com/watch?v=AxxAb99y-c0) 14:39](https://www.youtube.com/watch?v=cUq0hxZzOLY&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 111](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Make vs n8n—The Wrong Choice Will Cost You](https://www.youtube.com/watch?v=cUq0hxZzOLY&pp=ugUEEgJlbg%3D%3D)\\n\\nJono Catliff\\n\\n10K views • 3 months ago\\n\\n[![Image 112](https://www.youtube.com/watch?v=AxxAb99y-c0) 24:10](https://www.youtube.com/watch?v=E2DEHOEbzks&pp=ugUHEgVlbi1HQg%3D%3D)\\n\\n![Image 113](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [Model Context Protocol (MCP) Explained for Beginners: AI Flight Booking Demo!](https://www.youtube.com/watch?v=E2DEHOEbzks&pp=ugUHEgVlbi1HQg%3D%3D)\\n\\nKodeKloud\\n\\n580K views • 5 months ago\\n\\n[![Image 114](https://www.youtube.com/watch?v=AxxAb99y-c0) 20:19](https://www.youtube.com/watch?v=VP7GQO_Zab4)\\n\\n![Image 115](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [System Design | Kafka vs Inngest](https://www.youtube.com/watch?v=VP7GQO_Zab4)\\n\\nHitesh Choudhary\\n\\n41K views • 3 months ago\\n\\n[![Image 116](https://www.youtube.com/watch?v=AxxAb99y-c0) 41:29](https://www.youtube.com/watch?v=yfpVU_uEpy4&pp=ugUEEgJlbg%3D%3D)\\n\\n![Image 117](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [How to Use Claude & MCPs to INSTANTLY Build n8n AI Agents (MASTERCLASS)](https://www.youtube.com/watch?v=yfpVU_uEpy4&pp=ugUEEgJlbg%3D%3D)\\n\\nMark Kashef\\n\\n57K views • 5 months ago\\n\\n[![Image 118](https://www.youtube.com/watch?v=AxxAb99y-c0) 20:50](https://www.youtube.com/watch?v=L09kacrneOc&pp=ugUEEgJlbtIHCQk8CgGHKiGM7w%3D%3D)\\n\\n![Image 119](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [I Built an AI That Automates My Morning Routine (Using n8n)](https://www.youtube.com/watch?v=L09kacrneOc&pp=ugUEEgJlbtIHCQk8CgGHKiGM7w%3D%3D)\\n\\nMatt Wolfe\\n\\n84K views • 2 months ago\\n\\n[![Image 120](https://www.youtube.com/watch?v=AxxAb99y-c0) 18:51](https://www.youtube.com/watch?v=jfYJywPBZM8)\\n\\n![Image 121](https://www.youtube.com/watch?v=AxxAb99y-c0)\\n\\n### [How I'd Teach a 5 Year Old to Build AI Agents (No Code, n8n)](https://www.youtube.com/watch?v=jfYJywPBZM8)\\n\\n9x\\n\\n109K views • 2 months ago\\n\\nShow more\\n\\n[[](https://www.youtube.com/watch?v=AxxAb99y-c0)](https://www.youtube.com/watch?v=AxxAb99y-c0)\",\"metadata\":{\"lang\":\"en\",\"theme-color\":\"rgba(255, 255, 255, 0.98)\",\"title\":\"\",\"description\":\"Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.\",\"keywords\":\"video, sharing, camera phone, video phone, free, upload\",\"referrer\":\"origin-when-cross-origin\",\"viewport\":\"width=device-width, initial-scale=1.0, viewport-fit=cover\"},\"external\":{\"icon\":{\"https://www.youtube.com/s/desktop/ba2eeb09/img/favicon.ico\":{\"type\":\"image/x-icon\"},\"https://www.youtube.com/s/desktop/ba2eeb09/img/favicon_32x32.png\":{\"sizes\":\"32x32\"},\"https://www.youtube.com/s/desktop/ba2eeb09/img/favicon_48x48.png\":{\"sizes\":\"48x48\"},\"https://www.youtube.com/s/desktop/ba2eeb09/img/favicon_96x96.png\":{\"sizes\":\"96x96\"},\"https://www.youtube.com/s/desktop/ba2eeb09/img/favicon_144x144.png\":{\"sizes\":\"144x144\"}},\"preload\":{\"https://i.ytimg.com/generate_204\":{\"as\":\"fetch\"},\"https://www.youtube.com/s/player/50cc0679/player_es6.vflset/en_US/base.js\":{\"as\":\"script\",\"nonce\":\"55wTBDwp6rfk7AgSFD7M5A\"},\"https://i.ytimg.com/vi/AxxAb99y-c0/hqdefault.jpg\":{\"as\":\"image\",\"fetchpriority\":\"high\"},\"https://www.youtube.com/s/_/ytmainappweb/_/js/k=ytmainappweb.kevlar_base.en_US.IhPSYARmDVQ.es5.O/am=AAAAIAAACA/d=1/br=1/rs=AGKMywH7tAH92YWXbUHEIJGzHOFJXU6MoA/m=kevlar_base_module,kevlar_main_module\":{\"as\":\"script\",\"nonce\":\"55wTBDwp6rfk7AgSFD7M5A\"},\"https://rr1---sn-5ualdnsy.googlevideo.com/generate_204\":{\"as\":\"fetch\"},\"https://rr1---sn-5ualdnsy.googlevideo.com/generate_204?conn2\":{\"as\":\"fetch\"}},\"search\":{\"https://www.youtube.com/opensearch?locale=en_US\":{\"type\":\"application/opensearchdescription+xml\",\"title\":\"YouTube\"}},\"manifest\":{\"https://www.youtube.com/manifest.webmanifest\":{\"crossorigin\":\"use-credentials\"}},\"canonical\":{\"https://www.youtube.com/undefined\":{}},\"alternate\":{\"https://m.youtube.com/watch?v=AxxAb99y-c0\":{\"media\":\"only screen and (max-width: 640px)\"},\"android-app://com.google.android.youtube/http/www.youtube.com/watch?v=AxxAb99y-c0\":{},\"ios-app://544007664/vnd.youtube/www.youtube.com/watch?v=AxxAb99y-c0\":{}}},\"usage\":{\"tokens\":15441}},{\"title\":\"What is n8n? A Beginner's Guide to the Workflow Automation Tool\",\"url\":\"https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic\",\"description\":\"In the fast-paced world of data and digital transformation, automation has become essential. Whether you're managing a business, building an app, or handling analytics, automating tasks can save you time and reduce human error.\",\"date\":\"May 8, 2025\",\"content\":\"What is n8n? A Beginner's Guide to the Workflow Automation Tool\\n===============\\n\\nAgree & Join LinkedIn\\n\\nBy clicking Continue to join or sign in, you agree to LinkedIn’s [User Agreement](https://www.linkedin.com/legal/user-agreement?trk=linkedin-tc_auth-button_user-agreement), [Privacy Policy](https://www.linkedin.com/legal/privacy-policy?trk=linkedin-tc_auth-button_privacy-policy), and [Cookie Policy](https://www.linkedin.com/legal/cookie-policy?trk=linkedin-tc_auth-button_cookie-policy).\\n\\n[Skip to main content](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic#main-content)[LinkedIn](https://www.linkedin.com/?trk=article-ssr-frontend-pulse_nav-header-logo)\\n*   [Top Content](https://www.linkedin.com/top-content?trk=article-ssr-frontend-pulse_guest_nav_menu_topContent)\\n*   [People](https://www.linkedin.com/pub/dir/+/+?trk=article-ssr-frontend-pulse_guest_nav_menu_people)\\n*   [Learning](https://www.linkedin.com/learning/search?trk=article-ssr-frontend-pulse_guest_nav_menu_learning)\\n*   [Jobs](https://www.linkedin.com/jobs/search?trk=article-ssr-frontend-pulse_guest_nav_menu_jobs)\\n*   [Games](https://www.linkedin.com/games?trk=article-ssr-frontend-pulse_guest_nav_menu_games)\\n\\n[Join now](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_nav-header-join)[Sign in](https://www.linkedin.com/uas/login?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&fromSignIn=true&trk=article-ssr-frontend-pulse_nav-header-signin)[![Image 1](https://static.licdn.com/aero-v1/sc/h/9c8pery4andzj6ohjkjp54ma2)](https://www.linkedin.com/uas/login?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&fromSignIn=true&trk=article-ssr-frontend-pulse_nav-header-signin)\\n\\n![Image 2: What is n8n? A Beginner's Guide to the Workflow Automation Tool](https://media.licdn.com/dms/image/v2/D5612AQGFYuV6vVd0Mg/article-cover_image-shrink_600_2000/B56ZapA7GUH0AU-/0/1746592314512?e=2147483647&v=beta&t=PjvNvf1bwbgOmVV2-Q3jULWipI0_UkQkaX5KP11spLQ)\\n\\nWhat is n8n? A Beginner's Guide to the Workflow Automation Tool\\n===============================================================\\n\\n*   [Report this article](https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_ellipsis-menu-semaphore-sign-in-redirect&guestReportContentType=PONCHO_ARTICLE&_f=guest-reporting)\\n\\n[Sriyantha Sandaruwan](https://lk.linkedin.com/in/sriyantha-sandaruwan-72a175250)![Image 3: Sriyantha Sandaruwan](https://media.licdn.com/dms/image/v2/D5603AQEeE5CDDXOwwA/profile-displayphoto-scale_400_400/B56ZqwNQUzHQAg-/0/1763892872430?e=2147483647&v=beta&t=prGjxB4gQqMvM5b2Z6Fw6uKuXr1id08Y9OiOJNV_LKM)\\n\\n### Sriyantha Sandaruwan\\n\\n Published May 8, 2025 \\n\\n[+ Follow](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_publisher-author-card)\\n\\nIn the fast-paced world of data and digital transformation, automation has become essential. Whether you're managing a business, building an app, or handling analytics, automating tasks can save you time and reduce human error. One powerful open-source tool making waves in this space is n8n (pronounced \\\"n-eight-n\\\").\\n\\nWhat is n8n?\\n------------\\n\\nn8n stands for \\\"n ode-based n o-code.\\\" It’s an open-source workflow automation tool that allows you to connect different apps and services with ease. Think of it like a highly customizable, self-hosted version of Zapier or Integromat, but with the added bonus of flexibility and control.\\n\\nWith n8n, you can:\\n\\n*   Automate tasks between 300+ apps and services (e.g., Slack, Google Sheets, Notion, GitHub).\\n*   Create custom workflows with no code or minimal code.\\n*   Run workflows on your local server or in the cloud.\\n*   Use JavaScript functions and expressions to customize logic.\\n\\n![Image 4: Article content](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)\\n\\nAdvanced AI Workflow Automation Software & Tools - n8n\\n\\nHow Does n8n Work?\\n------------------\\n\\nn8n is node-based, meaning each step (or action) in a workflow is a node. These nodes can be anything from sending an email, scraping a website, transforming data, or connecting to an API.\\n\\nA typical n8n workflow includes:\\n\\nRecommended by LinkedIn\\n-----------------------\\n\\n[![Image 5: Automate your business processes with low-coding platforms](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) Automate your business processes with low-coding… DataScience Show 2 years ago](https://www.linkedin.com/pulse/automate-your-business-processes-low-coding)\\n\\n[![Image 6: Accelerating Innovation and Transformation of Legacy Applications ](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) Accelerating Innovation and Transformation of Legacy… Radiant Digital 1 year ago](https://www.linkedin.com/pulse/accelerating-innovation-transformation-legacy-qbuqe)\\n\\n[![Image 7: The Latest Updates in Streamlining Camunda 8 APIs | Camunda Monthly - April 2024](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) The Latest Updates in Streamlining Camunda 8 APIs |… Camunda 1 year ago](https://www.linkedin.com/pulse/latest-updates-streamlining-camunda-8-apis-monthly-april-2024-zrjme)\\n\\n1.   Trigger Node – Starts the workflow (e.g., webhook, time-based trigger).\\n2.   Action Nodes – Performs tasks like sending messages, querying databases, or calling APIs.\\n3.   Logic Nodes – Adds conditions, loops, or code to control the workflow path.\\n\\nWorkflows are built visually in a browser-based interface, making them easy to design and understand.\\n\\nUse Cases\\n---------\\n\\nn8n can automate a wide range of tasks across industries:\\n\\n*   Marketing: Automatically capture form responses and send emails.\\n*   Finance: Fetch exchange rates and update financial spreadsheets daily.\\n*   E-commerce: Update inventory across platforms when a sale is made.\\n*   Development: Monitor GitHub commits and trigger CI/CD pipelines.\\n*   Data Science: Pull in data from APIs, process it, and save it to a database or Google Sheet.\\n\\n### Getting Started\\n\\nYou can get started with n8n in a few ways:\\n\\n*   Cloud Hosting: Sign up at [n8n.io](https://www.linkedin.com/redir/redirect?url=http%3A%2F%2Fn8n%2Eio&urlhash=I2kK&trk=article-ssr-frontend-pulse_little-text-block) for the hosted version.\\n*   Local Installation: Use Docker or npm to install and run on your own machine.\\n\\n[Like](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_like-toggle_like-cta)\\n\\n![Image 8: Like](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)Like\\n\\n![Image 9: Celebrate](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)Celebrate\\n\\n![Image 10: Support](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)Support\\n\\n![Image 11: Love](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)Love\\n\\n![Image 12: Insightful](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)Insightful\\n\\n![Image 13: Funny](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)Funny\\n\\n[Comment](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_comment-cta)\\n\\n*   Copy\\n*   LinkedIn\\n*   Facebook\\n*   X\\n\\n Share \\n\\n[![Image 14](https://static.licdn.com/aero-v1/sc/h/bn39hirwzjqj18ej1fkz55671)![Image 15](https://static.licdn.com/aero-v1/sc/h/a0e8rff6djeoq8iympcysuqfu)![Image 16](https://static.licdn.com/aero-v1/sc/h/asiqslyf4ooq7ggllg4fyo4o2) 112](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_likes-count_social-actions-reactions)[12 Comments](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_likes-count_social-actions-comments)\\n\\n[![Image 17: Miguel Antonio, graphic](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)](https://www.linkedin.com/in/ma188?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-image)\\n\\n[Miguel Antonio](https://www.linkedin.com/in/ma188?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-name) 5mo \\n\\n*   [Report this comment](https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_ellipsis-menu-semaphore-sign-in-redirect&guestReportContentType=COMMENT&_f=guest-reporting)\\n\\nA great beginners guide!\\n\\n[Like](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_like)[Reply](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_reply) 1 Reaction \\n\\n[![Image 18: n8n Developers - UBER for n8n Developers, graphic](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)](https://www.linkedin.com/company/n8n-developers?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-image)\\n\\n[n8n Developers - UBER for n8n Developers](https://www.linkedin.com/company/n8n-developers?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-name) 6mo \\n\\n*   [Report this comment](https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_ellipsis-menu-semaphore-sign-in-redirect&guestReportContentType=COMMENT&_f=guest-reporting)\\n\\nNeat\\n\\n[Like](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_like)[Reply](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_reply) 1 Reaction \\n\\n[![Image 19: Philipp Sparoutz, graphic](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)](https://at.linkedin.com/in/philipp-sparoutz?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-image)\\n\\n[Philipp Sparoutz](https://at.linkedin.com/in/philipp-sparoutz?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-name) 7mo \\n\\n*   [Report this comment](https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_ellipsis-menu-semaphore-sign-in-redirect&guestReportContentType=COMMENT&_f=guest-reporting)\\n\\nn8n if a time saver\\n\\n[Like](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_like)[Reply](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_reply)[1 Reaction](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_reactions) 2 Reactions \\n\\n[![Image 20: Agent UI, graphic](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)](https://www.linkedin.com/company/agentui?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-image)\\n\\n[Agent UI](https://www.linkedin.com/company/agentui?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-name) 7mo \\n\\n*   [Report this comment](https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_ellipsis-menu-semaphore-sign-in-redirect&guestReportContentType=COMMENT&_f=guest-reporting)\\n\\nn8n sounds like a fantastic tool for those looking to streamline their workflows! If you're interested in taking automation to the next level, Agent UI can help you build even more complex automations with ease. Let's chat about how we can make your processes even smoother! 🚀\\n\\n[Like](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_like)[Reply](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_reply)[1 Reaction](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_reactions) 2 Reactions \\n\\n[![Image 21: Mateo Glibo, graphic](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)](https://hr.linkedin.com/in/mateo-glibo-65aa85366?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-image)\\n\\n[Mateo Glibo](https://hr.linkedin.com/in/mateo-glibo-65aa85366?trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_actor-name) 7mo \\n\\n*   [Report this comment](https://www.linkedin.com/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_ellipsis-menu-semaphore-sign-in-redirect&guestReportContentType=COMMENT&_f=guest-reporting)\\n\\nJust integrated fireflies + n8n + slack for a meeting summaries and it’s a game changer.\\n\\n[Like](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_like)[Reply](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments-action_comment_reply) 1 Reaction \\n\\n[See more comments](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_comments_comment-see-more)\\n\\nTo view or add a comment, [sign in](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_x-social-details_feed-cta-banner-cta)\\n\\nMore articles by Sriyantha Sandaruwan\\n-------------------------------------\\n\\n*   [Building a Low-Cost IoT Landslide Early Warning System](https://www.linkedin.com/pulse/building-low-cost-iot-landslide-early-warning-system-sandaruwan-lnkyc)![Image 22](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) Dec 9, 2025 \\n### Building a Low-Cost IoT Landslide Early Warning System\\n\\nThe Problem Landslides are among the most devastating natural disasters, often striking with little warning. While…\\n\\n![Image 23](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)![Image 24](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)![Image 25](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) 17   2 Comments     \\n*   [Beyond ChatGPT: Why Treating Data Like a \\\"Language\\\" Is the Future of Time Series Forecasting.](https://www.linkedin.com/pulse/beyond-chatgpt-why-treating-data-like-language-future-sandaruwan-ctric)![Image 26](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) Nov 24, 2025 \\n### Beyond ChatGPT: Why Treating Data Like a \\\"Language\\\" Is the Future of Time Series Forecasting.\\n\\nWe all know how powerful Large Language Models (LLMs) are at understanding, summarizing, and generating human text…\\n\\n![Image 27](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)![Image 28](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)![Image 29](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) 13     \\n*   [Unlocking Hidden Business Value with Association Rule Learning](https://www.linkedin.com/pulse/unlocking-hidden-business-value-association-rule-sriyantha-sandaruwan-a5hsc)![Image 30](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) Nov 22, 2025 \\n### Unlocking Hidden Business Value with Association Rule Learning\\n\\nHave you ever wondered how Amazon knows exactly what to suggest after you add an item to your cart, or how Netflix…\\n\\n![Image 31](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)![Image 32](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) 10   1 Comment     \\n*   [Building an Interactive HR Analytics Dashboard in Excel](https://www.linkedin.com/pulse/building-interactive-hr-analytics-dashboard-excel-sandaruwan-gdmmc)![Image 33](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) Nov 22, 2025 \\n### Building an Interactive HR Analytics Dashboard in Excel\\n\\nIn today’s data-driven HR environment, organizations increasingly rely on people analytics to understand workforce…\\n\\n![Image 34](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)![Image 35](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) 18   1 Comment     \\n*   [Building GUIs Faster with Qt Designer and PyQt6](https://www.linkedin.com/pulse/building-guis-faster-qt-designer-pyqt6-sriyantha-sandaruwan-m7nic)![Image 36](https://media.licdn.com/dms/image/v2/D5612AQFE_1HAkkVmqA/article-cover_image-shrink_600_2000/B56ZqmHMX1KAAU-/0/1763723495473?e=2147483647&v=beta&t=TL9RhfNujDVpjWKTafVU1xPBf2ngidnmBxwho_VbozA) Nov 21, 2025 \\n### Building GUIs Faster with Qt Designer and PyQt6\\n\\nWhy I Recommend This Stack for Rapid Application Development In many software and research projects, creating a clean…\\n\\n![Image 37](https://static.licdn.com/aero-v1/sc/h/bn39hirwzjqj18ej1fkz55671)![Image 38](https://static.licdn.com/aero-v1/sc/h/a0e8rff6djeoq8iympcysuqfu) 4     \\n*   [The $17 Billion Lesson](https://www.linkedin.com/pulse/17-billion-lesson-sriyantha-sandaruwan-76rjc)![Image 39](https://media.licdn.com/dms/image/v2/D5612AQHYIIWtGw_aeg/article-cover_image-shrink_720_1280/B56Zn3eGT4JsAI-/0/1760793499425?e=2147483647&v=beta&t=BH2LDFl4-LwtLMhiBgnE3SeWKoBS8IsGpbKcAv3JiCE) Oct 18, 2025 \\n### The $17 Billion Lesson\\n\\nThe \\\"Digital Asset Treasury\\\" (DAT) bubble has spectacularly burst, serving as a powerful lesson in valuation and risk…\\n\\n![Image 40](https://static.licdn.com/aero-v1/sc/h/bn39hirwzjqj18ej1fkz55671) 5     \\n*   [Why Mastering the Basics First Will Make You Stand Out](https://www.linkedin.com/pulse/why-mastering-basics-first-make-you-stand-out-sriyantha-sandaruwan-t4pfc)![Image 41](https://media.licdn.com/dms/image/v2/D5612AQHMsONEb0VqPg/article-cover_image-shrink_720_1280/B56Zial0p5HUAM-/0/1754940270414?e=2147483647&v=beta&t=t9IJLPTgTC__EJ3yB823qgkER3-0S4YEdB9xrwYJ8Hw) Aug 11, 2025 \\n### Why Mastering the Basics First Will Make You Stand Out\\n\\nIn today’s world, data science is one of the most in-demand and fastest-growing career fields. It’s easy to be drawn…\\n\\n![Image 42](https://static.licdn.com/aero-v1/sc/h/bn39hirwzjqj18ej1fkz55671)![Image 43](https://static.licdn.com/aero-v1/sc/h/a0e8rff6djeoq8iympcysuqfu)![Image 44](https://static.licdn.com/aero-v1/sc/h/asiqslyf4ooq7ggllg4fyo4o2) 7     \\n*   [The Rise of AI-Only Startups: Hype or Reality?](https://www.linkedin.com/pulse/rise-ai-only-startups-hype-reality-sriyantha-sandaruwan-wbofc)![Image 45](https://media.licdn.com/dms/image/v2/D5612AQGOj3LLsQTURg/article-cover_image-shrink_720_1280/B56ZbScYCMHgAI-/0/1747287376679?e=2147483647&v=beta&t=qIqQxg7lainUkg7SSz-3u1e8C5LPH81x7FIIoUahFtY) May 16, 2025 \\n### The Rise of AI-Only Startups: Hype or Reality?\\n\\nIn today’s rapidly evolving digital landscape, a compelling question is emerging: Can one person successfully build and…\\n\\n![Image 46](https://static.licdn.com/aero-v1/sc/h/bn39hirwzjqj18ej1fkz55671)![Image 47](https://static.licdn.com/aero-v1/sc/h/a0e8rff6djeoq8iympcysuqfu) 8     \\n*   [🎯 Land Your Dream Internship: The Ultimate Guide to Writing an ATS-Friendly Resume and Cover Letter](https://www.linkedin.com/pulse/land-your-dream-internship-ultimate-guide-writing-cover-sandaruwan-3xesc)![Image 48](https://media.licdn.com/dms/image/v2/D5612AQGRzRrz68-Cng/article-cover_image-shrink_720_1280/B56ZawoCVzGUAI-/0/1746720008762?e=2147483647&v=beta&t=Wp4CCUyGuzyJ5DU74-iChTvSIWAJy7FY9du9iA7K0Pk) May 9, 2025 \\n### 🎯 Land Your Dream Internship: The Ultimate Guide to Writing an ATS-Friendly Resume and Cover Letter\\n\\nIn today’s competitive job market, getting noticed by employers often means passing through a gatekeeper you can’t…\\n\\n![Image 49](https://static.licdn.com/aero-v1/sc/h/bn39hirwzjqj18ej1fkz55671)![Image 50](https://static.licdn.com/aero-v1/sc/h/a0e8rff6djeoq8iympcysuqfu) 5     \\n*   [Unlocking the Power of GitHub Copilot with GPT-4o Agent Mode in VS Code](https://www.linkedin.com/pulse/unlocking-power-github-copilot-gpt-4o-agent-mode-vs-code-sandaruwan-leyec)![Image 51](https://media.licdn.com/dms/image/v2/D5612AQFqe2orG0Jywg/article-cover_image-shrink_720_1280/B56ZamDWh_HUAM-/0/1746542657165?e=2147483647&v=beta&t=VfQuwmYFXSnh4rgyuC5xRTs6JnrpjRu7cb9EjKojzZc) May 6, 2025 \\n### Unlocking the Power of GitHub Copilot with GPT-4o Agent Mode in VS Code\\n\\nIntroduction The evolution of GitHub Copilot has transformed how developers write code. With the introduction of GPT-4o…\\n\\n![Image 52](https://static.licdn.com/aero-v1/sc/h/bn39hirwzjqj18ej1fkz55671)![Image 53](https://static.licdn.com/aero-v1/sc/h/a0e8rff6djeoq8iympcysuqfu) 8     \\n\\n Show more \\n\\n[See all articles](https://lk.linkedin.com/in/sriyantha-sandaruwan-72a175250/recent-activity/articles/)\\n\\nSign in\\n-------\\n\\nStay updated on your professional world\\n\\n[Sign in](https://www.linkedin.com/uas/login?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_xandr-ad-fallback_signin)\\n\\nBy clicking Continue to join or sign in, you agree to LinkedIn’s [User Agreement](https://www.linkedin.com/legal/user-agreement?trk=article-ssr-frontend-pulse_auth-button_user-agreement), [Privacy Policy](https://www.linkedin.com/legal/privacy-policy?trk=article-ssr-frontend-pulse_auth-button_privacy-policy), and [Cookie Policy](https://www.linkedin.com/legal/cookie-policy?trk=article-ssr-frontend-pulse_auth-button_cookie-policy).\\n\\nNew to LinkedIn? [Join now](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=article-ssr-frontend-pulse_xandr-ad-fallback_join-link)\\n\\nOthers also viewed\\n------------------\\n\\n*   [![Image 54](https://media.licdn.com/dms/image/v2/D5612AQHptUwhjuJOug/article-cover_image-shrink_720_1280/article-cover_image-shrink_720_1280/0/1726569080407?e=2147483647&v=beta&t=a3DhTn92bJS6tdWbTx5W8dqN_eK5PV-QVqYDuY8RDpc) ### Happiest Minds Newsletter | Issue 4 Happiest Minds Technologies 1y](https://www.linkedin.com/pulse/happiest-minds-newsletter-issue-4-happiest-minds-technologies-wtskc)\\n*   [![Image 55](https://media.licdn.com/dms/image/v2/D4D12AQHuWs9BrfXj4A/article-cover_image-shrink_720_1280/B4DZZnobFCG0AY-/0/1745495372790?e=2147483647&v=beta&t=0OdeNUb9f_dWLSvScWBiDtp_oX86dk3-QN8kDesc0zw) ### Enterprise Software Trends 2025: How They Are Reshaping Businesses Techgropse || Next-Gen AI Services 7mo](https://www.linkedin.com/pulse/enterprise-software-trends-2025-how-reshaping-businesses-techgropse-pqmwf)\\n*   [![Image 56](https://media.licdn.com/dms/image/v2/D4D12AQFfJm_F2CURPg/article-cover_image-shrink_720_1280/article-cover_image-shrink_720_1280/0/1723981544105?e=2147483647&v=beta&t=kh3E7ASBANyEGXR7aVWOog8SZFb9hAyyr8_p34Ca2W0) ### Independent Service Heuristics (ISH): Enhancing Modularity and Autonomy Team Topologies 1y](https://www.linkedin.com/pulse/independent-service-heuristics-ish-enhancing-modularity-mznef)\\n*   [![Image 57](https://media.licdn.com/dms/image/v2/D4D12AQFnZPfkX2Hpfg/article-cover_image-shrink_720_1280/article-cover_image-shrink_720_1280/0/1732618585456?e=2147483647&v=beta&t=pd6oYiXgiqYloiZywiLeMMp7bIT5Xg6P0As8yAZQF9c) ### Key Highlights from Microsoft Ignite 2024 DynaTech Systems 1y](https://www.linkedin.com/pulse/key-highlights-from-microsoft-ignite-2024-dynatechsystems-dvvif)\\n*   [![Image 58](https://media.licdn.com/dms/image/v2/D4D12AQGVBYx1Os75Kg/article-cover_image-shrink_720_1280/article-cover_image-shrink_720_1280/0/1726391005927?e=2147483647&v=beta&t=foVHIz4VYPV7i2ydYqXiq7yFsMHfXYH9OZwO4cyNPRc) ### 11 Reasons to Choose Logic Apps Over Power Automate in Certain Cases Marcel Broschk 1y](https://www.linkedin.com/pulse/11-reasons-choose-logic-apps-over-power-automate-certain-broschk-knptf)\\n*   [![Image 59](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic) ### Service as Software: If You Think it’s a Typo, You’re Already Behind Jason Braun M.Ed., MSML, MA 9mo](https://www.linkedin.com/pulse/service-software-you-think-its-typo-youre-already-jason-ykecc)\\n*   [![Image 60](https://media.licdn.com/dms/image/v2/D4E12AQEj1kS7EaRIyw/article-cover_image-shrink_720_1280/article-cover_image-shrink_720_1280/0/1701108420587?e=2147483647&v=beta&t=6XuYdiWWu3T1n9J4C_qjqonPHjaiIQfK6hj9S7VcTW4) ### 3 trends for APIs in 2024 Tyk 2y](https://www.linkedin.com/pulse/3-trends-apis-2024-tyk-etrne)\\n*   [![Image 61](https://media.licdn.com/dms/image/v2/D4E12AQFQVoCWJB_wsw/article-cover_image-shrink_720_1280/B4EZh8dNfRGYAM-/0/1754434689478?e=2147483647&v=beta&t=s6d1RA-zLGxE7DHCZykOZnq4ZEy8N5zyQOZlZWjWK5Y) ### A guide to integrating with knowledge base systems Merge 4mo](https://www.linkedin.com/pulse/guide-integrating-knowledge-base-systems-merge-api-gvr0e)\\n*   [![Image 62](https://media.licdn.com/dms/image/v2/D5612AQHCjYlshe_JDA/article-cover_image-shrink_720_1280/article-cover_image-shrink_720_1280/0/1736903048675?e=2147483647&v=beta&t=EnIUVwzHuqi1svBmV7q1IqiLAStpM0DjKOElhYm6k6M) ### Breaking the Requirements Bottleneck: AI Transforms How Software Gets Defined Arup Maity 11mo](https://www.linkedin.com/pulse/breaking-requirements-bottleneck-ai-transforms-how-software-maity-waipc)\\n*   [![Image 63](https://media.licdn.com/dms/image/v2/D5612AQHGmoSSLKGyGQ/article-cover_image-shrink_720_1280/B56Zh6nLauHUAI-/0/1754403756424?e=2147483647&v=beta&t=lIIAS_mLCM1-y1ZID9_sEPYuyA9uO2SVj0ayTJQ1Q4M) ### The Platform Era is Dying. Enterprises Are Already Moving On. Vishnu Rajkumar 4mo](https://www.linkedin.com/pulse/platform-era-dying-enterprises-already-moving-vishnu-rajkumar-n9ufc)\\n\\n Show more  Show less \\n\\nExplore content categories\\n--------------------------\\n\\n*   [Career](https://www.linkedin.com/top-content/career/)\\n*   [Productivity](https://www.linkedin.com/top-content/productivity/)\\n*   [Finance](https://www.linkedin.com/top-content/finance/)\\n*   [Soft Skills & Emotional Intelligence](https://www.linkedin.com/top-content/soft-skills-emotional-intelligence/)\\n*   [Project Management](https://www.linkedin.com/top-content/project-management/)\\n*   [Education](https://www.linkedin.com/top-content/education/)\\n*   [Technology](https://www.linkedin.com/top-content/technology/)\\n*   [Leadership](https://www.linkedin.com/top-content/leadership/)\\n*   [Ecommerce](https://www.linkedin.com/top-content/ecommerce/)\\n*   [User Experience](https://www.linkedin.com/top-content/user-experience/)\\n*   [Recruitment & HR](https://www.linkedin.com/top-content/recruitment-hr/)\\n*   [Customer Experience](https://www.linkedin.com/top-content/customer-experience/)\\n*   [Real Estate](https://www.linkedin.com/top-content/real-estate/)\\n*   [Marketing](https://www.linkedin.com/top-content/marketing/)\\n*   [Sales](https://www.linkedin.com/top-content/sales/)\\n*   [Retail & Merchandising](https://www.linkedin.com/top-content/retail-merchandising/)\\n*   [Science](https://www.linkedin.com/top-content/science/)\\n*   [Supply Chain Management](https://www.linkedin.com/top-content/supply-chain-management/)\\n*   [Future Of Work](https://www.linkedin.com/top-content/future-of-work/)\\n*   [Consulting](https://www.linkedin.com/top-content/consulting/)\\n*   [Writing](https://www.linkedin.com/top-content/writing/)\\n*   [Economics](https://www.linkedin.com/top-content/economics/)\\n*   [Artificial Intelligence](https://www.linkedin.com/top-content/artificial-intelligence/)\\n*   [Employee Experience](https://www.linkedin.com/top-content/employee-experience/)\\n*   [Workplace Trends](https://www.linkedin.com/top-content/workplace-trends/)\\n*   [Fundraising](https://www.linkedin.com/top-content/fundraising/)\\n*   [Networking](https://www.linkedin.com/top-content/networking/)\\n*   [Corporate Social Responsibility](https://www.linkedin.com/top-content/corporate-social-responsibility/)\\n*   [Negotiation](https://www.linkedin.com/top-content/negotiation/)\\n*   [Communication](https://www.linkedin.com/top-content/communication/)\\n*   [Engineering](https://www.linkedin.com/top-content/engineering/)\\n*   [Hospitality & Tourism](https://www.linkedin.com/top-content/hospitality-tourism/)\\n*   [Business Strategy](https://www.linkedin.com/top-content/business-strategy/)\\n*   [Change Management](https://www.linkedin.com/top-content/change-management/)\\n*   [Organizational Culture](https://www.linkedin.com/top-content/organizational-culture/)\\n*   [Design](https://www.linkedin.com/top-content/design/)\\n*   [Innovation](https://www.linkedin.com/top-content/innovation/)\\n*   [Event Planning](https://www.linkedin.com/top-content/event-planning/)\\n*   [Training & Development](https://www.linkedin.com/top-content/training-development/)\\n\\n Show more  Show less \\n\\n*   LinkedIn© 2025\\n*   [About](https://about.linkedin.com/?trk=d_flagship2_pulse_read_footer-about)\\n*   [Accessibility](https://www.linkedin.com/accessibility?trk=d_flagship2_pulse_read_footer-accessibility)\\n*   [User Agreement](https://www.linkedin.com/legal/user-agreement?trk=d_flagship2_pulse_read_footer-user-agreement)\\n*   [Privacy Policy](https://www.linkedin.com/legal/privacy-policy?trk=d_flagship2_pulse_read_footer-privacy-policy)\\n*   [Your California Privacy Choices](https://www.linkedin.com/legal/california-privacy-disclosure?trk=d_flagship2_pulse_read_footer-california-privacy-rights-act)\\n*   [Cookie Policy](https://www.linkedin.com/legal/cookie-policy?trk=d_flagship2_pulse_read_footer-cookie-policy)\\n*   [Copyright Policy](https://www.linkedin.com/legal/copyright-policy?trk=d_flagship2_pulse_read_footer-copyright-policy)\\n*   [Brand Policy](https://brand.linkedin.com/policies?trk=d_flagship2_pulse_read_footer-brand-policy)\\n*   [Guest Controls](https://www.linkedin.com/psettings/guest-controls?trk=d_flagship2_pulse_read_footer-guest-controls)\\n*   [Community Guidelines](https://www.linkedin.com/legal/professional-community-policies?trk=d_flagship2_pulse_read_footer-community-guide)\\n*   \\n    *    العربية (Arabic) \\n    *    বাংলা (Bangla) \\n    *    Čeština (Czech) \\n    *    Dansk (Danish) \\n    *    Deutsch (German) \\n    *    Ελληνικά (Greek) \\n    *   **English (English)**\\n    *    Español (Spanish) \\n    *    فارسی (Persian) \\n    *    Suomi (Finnish) \\n    *    Français (French) \\n    *    हिंदी (Hindi) \\n    *    Magyar (Hungarian) \\n    *    Bahasa Indonesia (Indonesian) \\n    *    Italiano (Italian) \\n    *    עברית (Hebrew) \\n    *    日本語 (Japanese) \\n    *    한국어 (Korean) \\n    *    मराठी (Marathi) \\n    *    Bahasa Malaysia (Malay) \\n    *    Nederlands (Dutch) \\n    *    Norsk (Norwegian) \\n    *    ਪੰਜਾਬੀ (Punjabi) \\n    *    Polski (Polish) \\n    *    Português (Portuguese) \\n    *    Română (Romanian) \\n    *    Русский (Russian) \\n    *    Svenska (Swedish) \\n    *    తెలుగు (Telugu) \\n    *    ภาษาไทย (Thai) \\n    *    Tagalog (Tagalog) \\n    *    Türkçe (Turkish) \\n    *    Українська (Ukrainian) \\n    *    Tiếng Việt (Vietnamese) \\n    *    简体中文 (Chinese (Simplified)) \\n    *    正體中文 (Chinese (Traditional)) \\n\\n Language \\n\\n[](https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic)\\n\\n![Image 64](https://static.licdn.com/aero-v1/sc/h/5k9cgtx8rhoyqkcxfoncu1svl)\\nSign in to view more content\\n----------------------------\\n\\nCreate your free account or sign in to continue your search\\n\\n Sign in \\n\\nWelcome back\\n------------\\n\\n Email or phone  \\n\\n Password  \\n\\nShow\\n\\n[Forgot password?](https://www.linkedin.com/uas/request-password-reset?trk=pulse-article_contextual-sign-in-modal_sign-in-modal_forgot_password) Sign in \\n\\nor\\n\\nBy clicking Continue to join or sign in, you agree to LinkedIn’s [User Agreement](https://www.linkedin.com/legal/user-agreement?trk=pulse-article_contextual-sign-in-modal_sign-in-modal_auth-button_user-agreement), [Privacy Policy](https://www.linkedin.com/legal/privacy-policy?trk=pulse-article_contextual-sign-in-modal_sign-in-modal_auth-button_privacy-policy), and [Cookie Policy](https://www.linkedin.com/legal/cookie-policy?trk=pulse-article_contextual-sign-in-modal_sign-in-modal_auth-button_cookie-policy).\\n\\nNew to LinkedIn? [Join now](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=pulse-article_contextual-sign-in-modal_sign-in-modal_join-link)\\n\\nor\\n\\nNew to LinkedIn? [Join now](https://www.linkedin.com/signup/cold-join?session_redirect=%2Fpulse%2Fwhat-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic&trk=pulse-article_contextual-sign-in-modal_join-link)\\n\\nBy clicking Continue to join or sign in, you agree to LinkedIn’s [User Agreement](https://www.linkedin.com/legal/user-agreement?trk=linkedin-tc_auth-button_user-agreement), [Privacy Policy](https://www.linkedin.com/legal/privacy-policy?trk=linkedin-tc_auth-button_privacy-policy), and [Cookie Policy](https://www.linkedin.com/legal/cookie-policy?trk=linkedin-tc_auth-button_cookie-policy).\",\"metadata\":{\"lang\":\"en\",\"pageKey\":\"d_flagship2_pulse_read\",\"robots\":\"max-image-preview:large, noarchive\",\"bingbot\":\"max-image-preview:large, archive\",\"locale\":\"en_US\",\"al:android:url\":\"https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic\",\"al:android:package\":\"com.linkedin.android\",\"al:android:app_name\":\"LinkedIn\",\"al:ios:url\":\"https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic\",\"al:ios:app_store_id\":\"288429040\",\"al:ios:app_name\":\"LinkedIn\",\"description\":\"In the fast-paced world of data and digital transformation, automation has become essential. Whether you're managing a business, building an app, or handling analytics, automating tasks can save you time and reduce human error.\",\"og:title\":\"What is n8n? A Beginner's Guide to the Workflow Automation Tool\",\"og:description\":\"In the fast-paced world of data and digital transformation, automation has become essential. Whether you're managing a business, building an app, or handling analytics, automating tasks can save you time and reduce human error.\",\"og:image\":\"https://media.licdn.com/dms/image/v2/D5612AQGFYuV6vVd0Mg/article-cover_image-shrink_600_2000/B56ZapA7GUH0AU-/0/1746592314512?e=2147483647&v=beta&t=PjvNvf1bwbgOmVV2-Q3jULWipI0_UkQkaX5KP11spLQ\",\"og:type\":\"article\",\"og:url\":\"https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic\",\"twitter:card\":\"summary_large_image\",\"twitter:site\":\"@LinkedInEditors\",\"twitter:title\":\"What is n8n? A Beginner's Guide to the Workflow Automation Tool\",\"twitter:description\":\"In the fast-paced world of data and digital transformation, automation has become essential. Whether you're managing a business, building an app, or handling analytics, automating tasks can save you time and reduce human error.\",\"twitter:image\":\"https://media.licdn.com/dms/image/v2/D5612AQGFYuV6vVd0Mg/article-cover_image-shrink_600_2000/B56ZapA7GUH0AU-/0/1746592314512?e=2147483647&v=beta&t=PjvNvf1bwbgOmVV2-Q3jULWipI0_UkQkaX5KP11spLQ\",\"twitter:label1\":\"Written by\",\"twitter:data1\":\"Sriyantha Sandaruwan\",\"twitter:label2\":\"Reading time\",\"twitter:data2\":\"2 min read\",\"clientSideIngraphs\":\"1\"},\"external\":{\"canonical\":{\"https://www.linkedin.com/pulse/what-n8n-beginners-guide-workflow-automation-tool-sandaruwan-upfic\":{}},\"icon\":{\"https://static.licdn.com/aero-v1/sc/h/al2o9zrvru7aqj8e1x2rzsrca\":{}}},\"usage\":{\"tokens\":10630}},{\"title\":\"What is  n8n? Docs, Demo and How to Deploy   | Shakudo\",\"url\":\"https://www.shakudo.io/integrations/n8n\",\"description\":\"Learn about n8n, what it is and how to use it. See it's documention, integrations and tutorials.\",\"date\":\"Oct 6, 2025\",\"content\":\"What is n8n? Docs, Demo and How to Deploy | Shakudo\\n===============\\n\\n[Latest in White Paper : The Enterprise Guide to AI Agent Readiness](https://www.shakudo.io/blog/enterprise-guide-to-ai-agent-readiness)\\n\\n[**[Event]**See Shakudo at Ai4 2025 - North America’s Largest Artificial Intelligence Industry Event](https://www.shakudo.io/ai4-2025)\\n\\n[![Image 1](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/626ae2159a0d3b8ed5982f87_shakudo-logo-2022.svg)](https://www.shakudo.io/)[![Image 2](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/67afb0d5d40b7001747bc785_shakudo-logo-white.svg)](https://www.shakudo.io/)\\n\\nAI OS\\n\\n![Image 3](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/625447c67b621ac67cb7e48e_icon-chevron-down.svg)\\n\\n[![Image 4](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/65b01b3b4b633215cd9f7a87_shakudo-operatingos.svg) Shakudo PLatform Build your ideal data stack on one unified platform Learn more >](https://www.shakudo.io/platform)\\n\\n#### shakudo AI Application\\n\\n[![Image 5](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/68a8d9bb183bae726fad6dfa_icon-agent.svg) AI Agents Autonomous Multi-Agent Platform in Your Cloud](https://www.shakudo.io/agentflow)[![Image 6](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/6900d4baf49719a16d07c8a6_mcpproxy.svg) MCP Proxy Connect Your APIs to AI](https://www.shakudo.io/mcp-proxy)[![Image 7](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/6900d4d0a82f4bda8d21c1ad_extractflow.svg) Extract Flow Extract Secure Data from Documents](https://www.shakudo.io/extractflow)[![Image 8](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/67ae1e60fd4b83b24079e6b0_icon-kgraph.svg) Knowledge Graph Connect Scattered Data Into Clear Insight](https://www.shakudo.io/knowledge-graph)[![Image 9](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/66158f4d82b5c874b4047f57_shakudo%20workflow%20automation.svg) Workflow Automation Automate Repetitive Tasks and Data Flows](https://www.shakudo.io/workflow-automation)[![Image 10](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/65b01b3acf726399fb8df878_shakudo-vectordb.svg) Vector Database Deploy Context-Aware AI Applications at Scale](https://www.shakudo.io/llm-rag-stack)[![Image 11](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/65bd3705b747cbaaa0241d8c_shakudo-icon-language%20to%20sql.svg) Text to SQL Interact with Your Data using Natural Language](https://www.shakudo.io/natural-language-to-sql)[![Image 12](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/65b01b3a3fefb06b090a4c17_shakudo-reversetl.svg) Reverse ETL Enhance Business Critical Insights with AI](https://www.shakudo.io/reverse-etl)\\n\\n[Components](https://www.shakudo.io/integrations)\\n\\nSolutions\\n\\n![Image 13](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/625447c67b621ac67cb7e48e_icon-chevron-down.svg)\\n\\nShakudo for Industries\\n\\n[![Image 14](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba33f92a7476429955f2a1_aerospace-plane-78px-white.svg) Aerospace](https://www.shakudo.io/industries/aerospace)\\n\\n[![Image 15](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba33e09335b05e6d6264a7_automotive-and-transportation-car-78px-white.svg) Automotive & Transportation](https://www.shakudo.io/industries/automotive-transportation)\\n\\n[![Image 16](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba341a0b375ec556799bdb_climate-and-energy-zap-78px-white.svg) Climate & Energy](https://www.shakudo.io/industries/climate-energy)\\n\\n[![Image 17](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba342d7c7f0ee133d30f7b_financial-services-banknote-78px-white.svg) Financial Services](https://www.shakudo.io/industries/financial-services)\\n\\n[![Image 18](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba340ea85e40aec69ab45b_healthcare-and-life-sciences-heart-pulse-78px-white.svg) Healthcare & Life Sciences](https://www.shakudo.io/industries/healthcare-life-sciences)\\n\\n[![Image 19](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba340001d50df9c718be0a_manufacturing-factory-78px-white.svg) Manufacturing](https://www.shakudo.io/industries/manufacturing)\\n\\n[![Image 20](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba34222f43fdc2a623d044_real-estate-building-78px-white.svg) Real Estate](https://www.shakudo.io/industries/real-estate)\\n\\n[![Image 21](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68ba3427ac8ed3290a6a54ee_retail-shopping-cart-78px-white.svg) Retail](https://www.shakudo.io/industries/retail)\\n\\nShakudo Use Cases\\n\\n[Accelerate Development with AI-Powered Code Review](https://www.shakudo.io/use-cases/accelerate-development-with-ai-powered-code-review)\\n\\n[Optimize Retail Pricing Strategies for Market Advantage](https://www.shakudo.io/use-cases/optimize-retail-pricing-strategies-for-market-advantage)\\n\\n[Implement Digital Twins for Enhanced System Modeling](https://www.shakudo.io/use-cases/implement-digital-twins-for-enhanced-system-modeling)\\n\\n[Extract Custom Insights from Earnings Calls Rapidly](https://www.shakudo.io/use-cases/extract-custom-insights-from-earnings-calls-rapidly)\\n\\n[Analyze Sales Call Transcripts to Identify Winning Strategies](https://www.shakudo.io/use-cases/analyze-sales-call-transcripts-identify-winning-strategies)\\n\\n[Personalize Learning Pathways with Adaptive AI Algorithms](https://www.shakudo.io/use-cases/adaptive-ai-personalized-learning-pathways)\\n\\n[See all >](https://www.shakudo.io/use-cases)\\n\\nResources\\n\\n![Image 22](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/625447c67b621ac67cb7e48e_icon-chevron-down.svg)\\n\\n[![Image 23](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/656e01f111a1f4a0f144fb96_shakudo-partner.svg) Case Studies Learn how leading companies leverage data & AI on Shakudo](https://www.shakudo.io/blog-categories/case-studies)[![Image 24](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/67096bc7d84fe251d18e99a5_icon-file-text.svg) blog Read what's new at Shakudo and the data and AI world](https://www.shakudo.io/blog)[![Image 25](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/67096bc70b51701998a95713_icon-book-open-text.svg) white papers Access in-depth reports and guides on data & AI solutions](https://www.shakudo.io/blog-categories/white-paper)[![Image 26](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/65020d4117e12f84198d4e50_lucide_book%20(1).svg) Docs Explore comprehensive guides on the Shakudo platform](https://docs.shakudo.io/)\\n\\n[![Image 27](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/682611e043ffc7b990a46c29_banking-people-case-study.jpg)![Image 28](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68263a05bce1fa18ab902168_Frame%2012105.svg) Case Study How a Fortune 500 Bank Operationalized MLOps](https://www.shakudo.io/blog/how-top-bank-operationalized-mlops)\\n\\n[![Image 29](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/67e703ae2ff4f686b6d9be19_ritual-blog.avif)![Image 30](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/67e6f9c7cbbae0f892d04366_logo-ritual.svg) Case Study Food Ordering Leader Ritual Boosts Efficiency and Cuts Costs with Scalable Data OS](https://www.shakudo.io/blog/ritual-case-study)\\n\\nCompany\\n\\n![Image 31](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/625447c67b621ac67cb7e48e_icon-chevron-down.svg)\\n\\n[![Image 32](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63d815403dc70520c6126f1b_shakudo%20icon%20about%20(1).svg) ABout Us Learn about our mission and values](https://www.shakudo.io/about)[![Image 33](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63d815634b5c156859cf2c98_shakudo-careers%20(1).svg) Careers Join us in building the next-gen data stack](https://www.shakudo.io/careers)[![Image 34](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/656e01f111a1f4a0f144fb96_shakudo-partner.svg) Partners Learn about the relationships that make it happen](https://www.shakudo.io/partners)[![Image 35](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63d81540b71e68436e9ebfe8_shakudo%20chat%20icon%20(1).svg) Contact us Have a question? We're here to help](https://www.shakudo.io/contact-us)\\n\\n[AI Workshop](https://www.shakudo.io/ai-workshop)[Get Started](https://www.shakudo.io/sign-up)\\n\\n[< Browse Integrations](https://www.shakudo.io/integrations)\\n\\n#### Workflow Automation\\n\\nWhat is n8n, and How to Deploy It in an Enterprise Data Stack?\\n==============================================================\\n\\nLast updated on\\n\\nOctober 6, 2025\\n\\n![Image 36](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d599c273a6b975fdfc0615_n8n-logo.svg)\\n\\n[Button Text](https://www.shakudo.io/integrations/n8n#)\\nn8n\\n---\\n\\n[![Image 37](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63a3634bc780c5266c798b39_official%20website.svg) Website](https://n8n.io/)[![Image 38](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63b5de89b556ed910fc43946_Github-logo-Vector.svg) Github](https://github.com/n8n-io/n8n)[![Image 39](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63c05ccb4e97dd2cc954ca90_video-icon.svg) Video](https://www.shakudo.io/integrations/n8n#)\\n\\n[See n8n on Shakudo](https://www.shakudo.io/sign-up?int=n8n)\\n\\nWhat is n8n?\\n------------\\n\\nn8n is a versatile tool designed to simplify complex workflow automation. It stands out as a low-code, source-available platform that is self-hostable, offering a reliable alternative to conventional automation tools. What sets n8n apart is its flexibility in using JavaScript for intricate tasks and a user-friendly drag-and-drop interface for more straightforward processes. Its visual building block approach makes it easy to configure and manage workflows, enhancing efficiency. n8n is highly regarded for its straightforward user experience and a wide range of integrations, including seamless GitHub webhook setups. Ideal for technical users, it accelerates the creation of sophisticated workflows without the complexity of traditional scripting.\\n\\nWhat is n8n used for?\\n---------------------\\n\\nn8n is primarily used for:\\n\\n1. Automating repetitive tasks across different tools\\n\\n2. Building complex data pipelines\\n\\n3. Creating custom integrations between applications\\n\\n4. Developing AI-powered workflows by incorporating LLM chains\\n\\nIs n8n no code?\\n---------------\\n\\nn8n is considered a \\\"low-code\\\" platform. While it offers a visual interface for creating workflows without coding, it also provides the flexibility to add custom JavaScript code for more advanced use cases. This hybrid approach caters to users with varying technical expertise.\\n\\nIs n8n self-hosted free?\\n------------------------\\n\\nYes, n8n offers a free, self-hosted version. This allows organizations to run n8n on their own infrastructure, maintaining full control over their data and workflows. However, n8n also provides cloud-hosted options for those preferring a managed solution.\\n\\nHow does Shakudo enhance n8n's capabilities in a data science workflow?\\n-----------------------------------------------------------------------\\n\\nShakudo integrates n8n into its comprehensive data platform, amplifying its potential in data science workflows. By combining n8n's automation capabilities with Shakudo's managed infrastructure and tool interoperability, data scientists can create sophisticated, AI-driven pipelines. This integration streamlines the process of connecting data sources, preprocessing steps, and model deployment, all within a cohesive, scalable environment.\\n\\nWatch n8n in action\\n-------------------\\n\\nRead more about n8n\\n-------------------\\n\\n[![Image 40](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/67e465b3035cbbeb30b35562_workflow-automation.avif) ### Top 9 Workflow Automation Tools as of December 2025](https://www.shakudo.io/blog/top-9-workflow-automation-tools)\\n\\n[![Image 41](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/67dc2e966f80ecb6e1233829_image_fx_%20(28)%201.avif) ### 7 Best Practices for Designing Automated Data Pipelines in 2025](https://www.shakudo.io/blog/7-best-practices-for-designing-automated-data-pipelines)\\n\\n[![Image 42](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/66fd8932cd4c6deb655c6da6_aiprepare-blog-image%20(2)%20(1).avif) ### Preparing Your Organization for AI: Practical Steps to Make Your Data AI Ready](https://www.shakudo.io/blog/preparing-organization-ai-practical-steps-get-data-ai-ready)\\n\\nUse cases for n8n\\n-----------------\\n\\n[](https://www.shakudo.io/use-cases/supply-chain-traceability-platform-with-ai-real-time-semiconductor-lot-tracking)\\n\\n![Image 43](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/67521b50c4fa6242d798b7c8_supply-chain-digital%5B1%5D.avif)\\n\\n![Image 44](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65ca4d86c2cecabce3e7309a_MINIO_Bird.avif)\\n\\n![Image 45](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d599b9b34458516930a5e9_snowflake-logo.svg)\\n\\n![Image 46](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d59a1cec14970b4f761a76_dbt-logo.svg)\\n\\n![Image 47](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6511e689dc849173cd6c7e9b_6442b2980b1b8135359d971e_logo.avif)\\n\\n![Image 48](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6511e68983e4ecf36c13d35f_6481eca09f3578b8946cd47e_communityIcon_vw08a423ptxa1.avif)\\n\\nSupply Chain Traceability Platform with AI: Real-time Semiconductor Lot Tracking\\n--------------------------------------------------------------------------------\\n\\n[](https://www.shakudo.io/use-cases/automate-clinical-documentation-with-ai-note-generation)\\n\\n![Image 49](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/66ec987de6bf154bcccf4897_shakudo-usecase-notetaking.avif)\\n\\n![Image 50](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65dcc7d474a539bf2b814c7d_dify-ai-logo.avif)\\n\\n![Image 51](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6617eed8c7a2a78137fc011f_appsmith-18-04.svg)\\n\\n![Image 52](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d599c273a6b975fdfc0615_n8n-logo.svg)\\n\\n![Image 53](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6595a3f16ea6fac5e47d75f3_ollama.avif)\\n\\n![Image 54](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d514a32b5eeee620df73ac_qdrant-logo.svg)\\n\\nAutomate Clinical Documentation with AI Note Generation\\n-------------------------------------------------------\\n\\n[](https://www.shakudo.io/use-cases/optimize-ticket-pricing-with-dynamic-demand-modeling)\\n\\n![Image 55](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/66c8e34031063da92ac35580_Ticket_Touts.avif)\\n\\n![Image 56](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6511e68e70302f0d4d8ba225_63c1c2b4348341745ad9f563_XGBoost-logo.avif)\\n\\n![Image 57](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d59a1cec14970b4f761a76_dbt-logo.svg)\\n\\n![Image 58](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d599b9b34458516930a5e9_snowflake-logo.svg)\\n\\n![Image 59](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6511e689031c7ba81a905dd5_63a48f78853f903fea434c78_MLflow-logo-pos-TM-1%255B1%255D.avif)\\n\\n![Image 60](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6511e689dc849173cd6c7e9b_6442b2980b1b8135359d971e_logo.avif)\\n\\nOptimize Ticket Pricing with Dynamic Demand Modeling\\n----------------------------------------------------\\n\\n[See all use cases >](https://www.shakudo.io/use-cases)\\n\\nWhy is n8n better on Shakudo?\\n-----------------------------\\n\\nWhy is n8n better on Shakudo?\\n-----------------------------\\n\\nCore Shakudo Features\\n---------------------\\n\\n![Image 61](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63a36051f66900218ec3eb76_Subtract%20(1).svg)\\n### Own Your AI\\n\\nKeep data sovereign, protect IP, and avoid vendor lock-in with infra-agnostic deployments.\\n\\n![Image 62](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63a362683e5c9a8d360e3ec0_streamline%20workflow.svg)\\n### Faster Time-to-Value\\n\\nPre-built templates and automated DevOps accelerate time-to-value.\\n\\n![Image 63: integrate](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/63a361a4c8c1bd388ddb4fb0_Vector%20(3).svg)\\n### Flexible with Experts\\n\\nOperating system and dedicated support ensure seamless adoption of the latest and greatest tools.\\n\\nSee Shakudo in Action\\n=====================\\n\\n\\\"Shakudo gave us the flexibility to use the data stack components that fit our needs and evolve the stack to keep up with the industry.\\\"\\n\\nNeal Gilmore\\n\\nSenior Vice President, Enterprise Data & Analytics @ QuadReal\\n\\n❮❯\\n\\n[Get Started >](https://www.shakudo.io/sign-up)\\n\\n[![Image 64](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/6274bb51d4a76989bf39e8d6_shakudo-2022-lockup-black.svg)](https://www.shakudo.io/)\\n\\nShakudo brings the best AI tools into your VPC and operates them for you automatically, achieving a more secure, performant, and cost effective technology stack.\\n\\n[![Image 65](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/67239d68947e5c6b3c89c787_partner-icon-soc2%20(1).png)](https://www.shakudo.io/blog/soc-2-compliance)[![Image 66](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/664260b0e3f509ccf865f092_Google_Cloud_Partner_no_outline_horizontal.png)](https://console.cloud.google.com/marketplace/product/shakudo-public/shakudo)[![Image 67](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/67239c37e1fb7ca6df315077_partner-icon-aws.png)](https://aws.amazon.com/marketplace/pp/prodview-k5njiqzx76zfq)[![Image 68](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/67239c3737e571345a7a00af_partner-icon-micrsoft.png)](https://www.shakudo.io/integrations/n8n#)\\n\\n[![Image 69](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/627b4f77aecdadef40afd28e_event_black_24dp.svg) Book Demo](https://www.shakudo.io/sign-up)[![Image 70](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/627b4f772bd314a04b8ac13d_email_black_24dp.svg) Email](mailto:info@shakudo.io)[![Image 71](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/65396f1a295c51d928809aa2_x-logo.svg) X (Twitter)](https://twitter.com/shakudo_io)[![Image 72](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/625447c67b621a46f3b7e435_icon-LinkedIn-white.svg) LinkedIn](https://ca.linkedin.com/company/shakudo)[![Image 73](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/625447c67b621a7ad6b7e43f_icon-YouTube-white.svg) Youtube](https://www.youtube.com/channel/UCpnPqsVVbmN3MIPYub9etUA?sub_confirmation=1)\\n\\n##### Newsletter\\n\\nSign up for the latest Shakudo news: \\n\\n🎉 Success! You're now signed up for the Shakudo newsletter.\\n\\nOops! Something went wrong while submitting the form.\\n\\n##### Applications\\n\\n[Data and AI OS](https://www.shakudo.io/platform)[Stack Components](https://www.shakudo.io/integrations)[AI Agents](https://www.shakudo.io/agentflow)[MCP Proxy](https://www.shakudo.io/mcp-proxy)[ExtractFlow](https://www.shakudo.io/extractflow)[Knowledge Graph](https://www.shakudo.io/knowledge-graph)[Vector Database + LLM](https://www.shakudo.io/llm-rag-stack)[Workflow Automation](https://www.shakudo.io/workflow-automation)[Text to SQL](https://www.shakudo.io/natural-language-to-sql)[Reverse ETL](https://www.shakudo.io/reverse-etl)\\n\\n##### Industries\\n\\n[Automotive & Transportation](https://www.shakudo.io/industries/automotive-transportation)\\n\\n[Aerospace](https://www.shakudo.io/industries/aerospace)\\n\\n[Manufacturing](https://www.shakudo.io/industries/manufacturing)\\n\\n[Healthcare & Life Sciences](https://www.shakudo.io/industries/healthcare-life-sciences)\\n\\n[Climate & Energy](https://www.shakudo.io/industries/climate-energy)\\n\\n[Real Estate](https://www.shakudo.io/industries/real-estate)\\n\\n[Retail](https://www.shakudo.io/industries/retail)\\n\\n[Financial Services](https://www.shakudo.io/industries/financial-services)\\n\\n##### Resources\\n\\n[Use Cases](https://www.shakudo.io/use-cases)\\n\\n[Insights](https://www.shakudo.io/blog-categories/insights)\\n\\n[White Paper](https://www.shakudo.io/blog-categories/white-paper)\\n\\n[Case Study](https://www.shakudo.io/blog-categories/case-studies)\\n\\n[Press](https://www.shakudo.io/blog-categories/press)\\n\\n[Product](https://www.shakudo.io/blog-categories/product)\\n\\n[Tutorial](https://www.shakudo.io/blog-categories/tutorials)\\n\\n[News](https://www.shakudo.io/blog-categories/news)\\n\\n[Webinar](https://www.shakudo.io/webinar)[Glossary](https://www.shakudo.io/glossary)[Documentation](https://docs.shakudo.io/)\\n\\n##### Company\\n\\n[About](https://www.shakudo.io/about)[Partners](https://www.shakudo.io/partners)[DGX Partner](https://www.shakudo.io/dgx)[Careers](https://www.shakudo.io/careers)[Media Kit](https://shakudo.notion.site/ea513eed010c492c98d70a4f6f94549c?v=e9cb329608fb4167bb4648adb43be891)\\n\\n##### Get Started\\n\\n[AI Workshop](https://www.shakudo.io/ai-workshop)[Signup](https://www.shakudo.io/sign-up)[Contact Us](https://www.shakudo.io/contact-us)[Newsletter](https://www.shakudo.io/newsletter-signup)\\n\\n[© 2025 Shakudo](https://www.shakudo.io/)\\n\\nToronto, Canada\\n\\n[Contact us](https://www.shakudo.io/contact-us)[Privacy Policy](https://www.shakudo.io/privacy)[Terms & Conditions](https://drive.google.com/file/d/17nOqe8JRIeTLT3ubPAZwt7Yl_DT7bLiE/view?usp=share_link)[Sitemap](https://www.shakudo.io/sitemap)\\n\\nTrusted by industry leaders\\n\\n![Image 74](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/6837628b1e06fbc521a2a1ae_Clip%20path%20group.svg)\\n\\n![Image 75](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/670e95e440746505ac24081a_logo-loblawdigital-landscape-white.svg)\\n\\n![Image 76](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/66a3fd02a06b7a8acbf923ce_logo-centralreach%20(1)%201.svg)\\n\\n![Image 77](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/683763425869ae70fa4d6b34_Frame.svg)\\n\\n![Image 78](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68376ecfb641dc2efbee684d_6837640373953e4f4538ca43_logo-bwxt.svg)\\n\\n![Image 79](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/68376a5f800806c38b63eb51_logo-avenue%20capital%20group.svg)\\n\\n![Image 80](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/62947bc255dcf529451b27d6_uc.svg)\\n\\n![Image 81](https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/683762e7c46acd2183ef4c8c_shakudo-cloudhq-logo.svg)\\n\\nSee Shakudo in Action\\n\\nWatch the 3 Minute Demo\\n=======================\\n\\n*   This field is required\\n\\nFor information about how Shakudo handles your personal data, please see our [**Privacy Policy**](https://www.shakudo.io/privacy).\\n\\nThank you for your submission. A Shakudo expert will be in touch with you shortly. \\n\\nIn the meantime, feel free to check out our [data insights](https://www.shakudo.io/blog-categories/insights), [case studies](https://www.shakudo.io/blog-categories/case-studies), and [latest industry news](https://www.shakudo.io/blog-categories/news) that help data teams win.\\n\\n[![Image 82](https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/62fe58ce7d61e013e5b9ee67_bi_chat-left-dots-fill.svg) Live chat Live chat will provide the quickest answer to any of your questions.](https://www.shakudo.io/integrations/n8n#)\\n\\nOops! Something went wrong while submitting the form.\\n\\n⨉\\n\\n![Image 83](https://t.co/1/i/adsct?bci=4&dv=UTC%26en-US%26Google%20Inc.%26Linux%20x86_64%26255%26800%26600%264%2624%26800%26600%260%26na&eci=3&event=%7B%7D&event_id=3b2b5129-0c81-463a-9bce-65b7ec9d47c3&integration=gtm&p_id=Twitter&p_user_id=0&pl_id=8077dfe2-b287-4c98-b245-3a2f49f3a199&pt=What%20is%20n8n%3F%20Docs%2C%20Demo%20and%20How%20to%20Deploy%20%7C%20Shakudo&tw_document_href=https%3A%2F%2Fwww.shakudo.io%2Fintegrations%2Fn8n&tw_iframe_status=0&txn_id=ot1ut&type=javascript&version=2.3.35)![Image 84](https://analytics.twitter.com/1/i/adsct?bci=4&dv=UTC%26en-US%26Google%20Inc.%26Linux%20x86_64%26255%26800%26600%264%2624%26800%26600%260%26na&eci=3&event=%7B%7D&event_id=3b2b5129-0c81-463a-9bce-65b7ec9d47c3&integration=gtm&p_id=Twitter&p_user_id=0&pl_id=8077dfe2-b287-4c98-b245-3a2f49f3a199&pt=What%20is%20n8n%3F%20Docs%2C%20Demo%20and%20How%20to%20Deploy%20%7C%20Shakudo&tw_document_href=https%3A%2F%2Fwww.shakudo.io%2Fintegrations%2Fn8n&tw_iframe_status=0&txn_id=ot1ut&type=javascript&version=2.3.35)\",\"publishedTime\":\"Wed, 17 Dec 2025 22:32:07 GMT\",\"metadata\":{\"lang\":\"en\",\"description\":\"Learn about n8n, what it is and how to use it. See it's documention, integrations and tutorials.\",\"og:title\":\"What is  n8n? Docs, Demo and How to Deploy   | Shakudo\",\"og:description\":\"Learn about n8n, what it is and how to use it. See it's documention, integrations and tutorials.\",\"og:image\":[\"https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d599c273a6b975fdfc0615_n8n-logo.svg\",\"https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/689f8a19a632eed3ec826224_shakudo-ogimage-aug2025.avif\"],\"twitter:title\":\"What is  n8n? Docs, Demo and How to Deploy   | Shakudo\",\"twitter:description\":\"Learn about n8n, what it is and how to use it. See it's documention, integrations and tutorials.\",\"twitter:image\":\"https://cdn.prod.website-files.com/625447c67b621ab49bb7e3e5/65d599c273a6b975fdfc0615_n8n-logo.svg\",\"og:type\":\"website\",\"twitter:card\":\"summary_large_image\",\"viewport\":\"width=device-width, initial-scale=1\",\"google-site-verification\":\"8fuPCKSjs08aDiKSb2vuRNGsHQnAfG3YU1_3mEi8wLs\"},\"external\":{\"preconnect\":{\"https://fonts.googleapis.com/\":{},\"https://fonts.gstatic.com/\":{\"crossorigin\":\"anonymous\"}},\"icon\":{\"https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/6508b3b767dd5f4c4f5ceb5e_shakudo-icon-32.png\":{\"type\":\"image/x-icon\"}},\"apple-touch-icon\":{\"https://cdn.prod.website-files.com/625447c67b621a2b13b7e3c7/6508b3ba18625653430f2737_shakudo-icon-256.png\":{}},\"canonical\":{\"https://www.shakudo.io/integrations/n8n\":{}}},\"usage\":{\"tokens\":7986}},{\"title\":\"n8n\",\"url\":\"https://www.geeksforgeeks.org/data-science/what-is-n8n/\",\"description\":\"Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.\",\"date\":\"Oct 24, 2025\",\"content\":\"Last Updated : 24 Oct, 2025\\n\\nImprove\\n\\nn8n an open-source workflow automation platform, enables users to visually create workflows with a node-based interface. Unlike typical no-code tools, it supports developers with JavaScript, API calls and self-hosting. With over 200 integrations like Google Sheets, Slack, GitHub, etc. It offers cloud-based and self-hosted options, providing businesses flexibility in workflow management.\\n\\n![Image 1: Key-Features-of-n8n_updated.webp](https://media.geeksforgeeks.org/wp-content/uploads/20250626115630889328/Key-Features-of-n8n_updated.webp)![Image 2: Key-Features-of-n8n_updated.webp](https://media.geeksforgeeks.org/wp-content/uploads/20250626115630889328/Key-Features-of-n8n_updated.webp)\\n\\n![Image 3: Benefits-of-Using-n8n_updated.webp](https://media.geeksforgeeks.org/wp-content/uploads/20250626115822919645/Benefits-of-Using-n8n_updated.webp)![Image 4: Benefits-of-Using-n8n_updated.webp](https://media.geeksforgeeks.org/wp-content/uploads/20250626115822919645/Benefits-of-Using-n8n_updated.webp)\\n\\n1 / 2\\n\\nHow to Use n8n?\\n---------------\\n\\nTo use n8n we have 2 options:\\n\\n1.   We can use their web interface on the website which requires an account and a paid subscription.\\n2.   Since it is open source, we can run it locally or host ourselves. This is free to use and gives access to almost all of the features. \\n\\n### ****Local Setup of n8n****\\n\\n1. Download and install Node.js from the official website.\\n\\n2. Open a terminal and run the command ****npx n8n****. After running the command it will show:\\n\\n![Image 5: terminal-of-n8n](https://media.geeksforgeeks.org/wp-content/uploads/20250626113722622900/terminal-of-n8n.webp)\\n\\nterminal Window\\n\\n3. To open the interface, either press \\\"o\\\" on the keyboard or open the localhost URL shown in the terminal i.e http://localhost:5678 (can be different for different users). If the installation is done correctly then the interface on the browser will look similar to the one presented below.\\n\\n![Image 6: local-terminal-of-n8n](https://media.geeksforgeeks.org/wp-content/uploads/20250626115201743902/local-terminal-of-n8n.webp)\\n\\nLocal Terminal of n8n\\n\\n4. The user can enter their credentials and then use the features of n8n on their local systems.\\n\\nSelf-Hosting n8n with Docker Desktop\\n------------------------------------\\n\\nAn alternative to the Node.js method, self-hosting n8n with Docker Desktop offers a user-friendly, no-code solution for running n8n locally. Docker, a platform that packages applications and their dependencies into containers, simplifies setup by eliminating manual configuration. This method is ideal for beginners or those avoiding terminal commands while still providing the privacy, control and scalability benefits of self-hosting highlighted in the Key Features section.\\n\\n### ****Why Use Docker for n8n?****\\n\\n*   ****Simplicity****: Docker bundles n8n’s dependencies (e.g., libraries, tools) into a single container, streamlining setup.\\n*   ****Portability****: Containers run consistently across local machines or cloud providers.\\n*   ****Isolation****: n8n operates independently, avoiding conflicts with other applications.\\n*   ****Scalability****: Easily deploy multiple containers for complex workflows or increased workloads.\\n\\n### ****Prerequisites****\\n\\n*   A computer with Windows, macOS or Linux.\\n*   An internet connection to download Docker Desktop and the n8n image.\\n*   Optional: Existing n8n cloud workflows for migration.\\n\\n### ****Step-by-Step Guide:****\\n\\n****1. Install Docker Desktop****:\\n\\n![Image 7: Docker-Desktop](https://media.geeksforgeeks.org/wp-content/uploads/20250725150126625958/Docker-Desktop.webp)\\n\\nInstallation of Docker Desktop\\n\\n*   Download Docker Desktop for your operating system.\\n*   For macOS users with M1/M2/M3 chips, select the Apple Silicon version.\\n*   Install and launch Docker Desktop.\\n\\n****2. Create a Data Folder****:\\n\\nCreate a folder named n8n-data in your home directory to store workflows, credentials and configurations for data persistence.\\n\\n*   ****MacOS/Linux****: Use your file explorer or run mkdir ~/n8n-data in a terminal.\\n*   ****Windows****: Create the folder in C:\\\\Users\\\\YourUsername\\\\n8n-data via File Explorer.\\n\\n![Image 8: CREATE-A-FOLDER](https://media.geeksforgeeks.org/wp-content/uploads/20250725152017071061/CREATE-A-FOLDER.webp)\\n\\nCreate a new folder of n8n Data\\n\\n****3. Pull the n8n Image****:\\n\\n*   In Docker Desktop, go to the Images tab and search for n8n.io/n8n.\\n*   Select the official image (100M+ downloads, high star rating) and click Pull.\\n\\n![Image 9: pull](https://media.geeksforgeeks.org/wp-content/uploads/20250725152636393198/pull.webp)\\n\\nPull the n8n Image\\n\\n****4. Run the n8n Container****:\\n\\n*   In the Images tab, locate n8n.io/n8n and click Run.\\n*   Configure the container: \\n*   ****Container Name****: Set to n8n-container.\\n*   ****Host Port****: Enter 5678 to access n8n at http://localhost:5678.\\n*   ****Volume****: Select the n8n-data folder and set the container path to /home/node/.n8n for data syncing.\\n*   Click Run to start the container.\\n\\n![Image 10: n8n-container](https://media.geeksforgeeks.org/wp-content/uploads/20250725153542122570/n8n-container.webp)\\n\\nRun the n8n Container\\n\\n![Image 11: host-path-click](https://media.geeksforgeeks.org/wp-content/uploads/20250725153314264037/host-path-click.webp)\\n\\nRun the n8n Container\\n\\n****5. Access n8n****:\\n\\n*   Open a browser and go to http://localhost:5678.\\n*   Create an account with a username and password (independent of cloud accounts).\\n*   Complete the onboarding prompts to customize your instance.\\n\\n****6. Manage the Container****:\\n\\n*   Stop the container in Docker Desktop’s Containers tab by clicking Stop (the interface will be inaccessible).\\n*   Restart by clicking Start and refresh http://localhost:5678 to resume.\\n\\n![Image 12: local-host](https://media.geeksforgeeks.org/wp-content/uploads/20250725154232008513/local-host.webp)\\n\\nPaste into the browser of local host \\n\\n![Image 13: n8n-dashboard](https://media.geeksforgeeks.org/wp-content/uploads/20250725154213295676/n8n-dashboard.webp)\\n\\nSuccessfully open in the browser\\n\\n****Securing Your Instance****\\n------------------------------\\n\\nTo prevent unauthorized access:\\n\\n1. Add these environment variables in Docker Desktop’s container settings:\\n\\n*   N8N_BASIC_AUTH_ACTIVE=true\\n*   N8N_BASIC_AUTH_USER=<your-username>\\n*   N8N_BASIC_AUTH_PASSWORD=<your-password>\\n\\n2. For production, use a reverse proxy (e.g., Nginx) with HTTPS. See the n8n documentation on the official website for more details.\\n\\n### ****Migrating Cloud Workflows****\\n\\nTo import workflows from a cloud n8n account:\\n\\n1.   Export workflows as JSON files from the cloud interface (top-right menu > Download).\\n2.   In your self-hosted n8n, go to Workflows > Import from File and select the JSON file.\\n3.   Re-add credentials manually, as they don’t transfer. Check version compatibility to avoid errors.\\n\\n****Example Workflow:**** Google Sheets to Slack To apply n8n’s use cases (e.g., data synchronization):\\n\\n1.   Create a workflow in the n8n editor.\\n2.   Add a Google Sheets trigger node for new rows.\\n3.   Add a Slack node to send notifications.\\n4.   Configure credentials, save and activate the workflow.\\n\\n![Image 14: agent-flow](https://media.geeksforgeeks.org/wp-content/uploads/20250725154511518504/agent-flow.webp)\\n\\nMigrating Cloud Workflows \\n\\n### ****Troubleshooting****\\n\\n*   ****Port Conflict****: If http://localhost:5678 fails, change the host port (e.g., to 5679) in Docker Desktop.\\n*   ****Docker Issues****: Ensure Docker Desktop is running and you have sufficient disk space.\\n*   ****Data Loss****: Verify the n8n-data folder is mapped to /home/node/.n8n.\\n\\nThis method empowers you to leverage n8n’s full potential locally, supporting AI automation, data syncing and more, as described in the use cases section.\\n\\n### Workflow\\n\\nn8n works by enabling users to create workflows that consist of a series of nodes. These nodes are connected in a sequence to define the flow of the automation. Lets understand the steps with examples:\\n\\n1.   ****Trigger****: A workflow starts with a trigger such as a new email in Gmail or a new entry in a Google Sheet.\\n2.   ****Action****: Based on the trigger the workflow can perform one or more actions like sending a Slack message, posting to a Twitter account or storing data in a database.\\n3.   ****Conditions****: We can include conditional logic in our workflow such as \\\"if this condition is true, do that; otherwise else do something else\\\".\\n4.   ****Output****: Finally, the workflow can generate an output such as sending an email or storing data.\\n\\nTechnical Use Cases\\n-------------------\\n\\n****1. AI Workflow Automation****: Integrates AI tools like OpenAI's GPT-4o or Whisper to:\\n\\n*   Generate meeting summaries for Slack or Notion.\\n*   Analyze sales data for dashboard reports.\\n*   Build NLP pipelines for data-driven actions.\\n\\n****2. Data Synchronization****: Ensures real-time data syncing:\\n\\n*   Syncs customer records across PostgreSQL, Google Sheets and Airtable.\\n*   Automates backups and ETL pipelines for analytics dashboards like Looker.\\n\\n****3. AI Agent Creation****: Builds AI agents to:\\n\\n*   Monitor emails and take actions based on context.\\n*   Use decision nodes for lead scoring, messaging or issue escalation.\\n*   Create autonomous workflows with APIs and logic.\\n\\n****4. Sales and CRM Automation****: Automates lead management:\\n\\n*   Captures leads from forms.\\n*   Enriches data with Clearbit or Apollo.\\n*   Assigns leads and triggers emails or Slack alerts.\\n\\n****5. Customer Support Automation****: Streamlines support:\\n\\n*   Drafts ticket responses using GPT-4o.\\n*   Categorizes tickets by tone/keywords.\\n*   Updates CRMs and escalates high-priority tickets.\\n\\nSuggested Quiz\\n\\n10 Questions\\n\\nWhat kind of tool is n8n?\\n\\n*   A \\nA workflow automation or integration tool\\n\\n*   B \\nA deep learning framework\\n\\n*   C \\nA database system\\n\\n*   D \\nA front-end UI framework\\n\\nExplanation:\\n\\nn8n is designed to automate tasks and integrate data between different applications.\\n\\nWhich of the following is a core concept in n8n?\\n\\n*   A \\nNodes and workflows\\n\\n*   B \\nLayers and epochs\\n\\n*   C \\nTables and joins\\n\\n*   D \\nFrames and scenes\\n\\nExplanation:\\n\\nWorkflows are built from nodes, where each node represents a step or action in the automation.\\n\\nHow are workflows triggered in n8n?\\n\\n*   A \\nOnly manually\\n\\n*   B \\nAutomatically without triggers\\n\\n*   C \\nBy user login only\\n\\n*   D \\nVia trigger nodes\\n\\nExplanation:\\n\\nWorkflows start when trigger nodes detect an event such as a new file or API call.\\n\\nCan n8n be self-hosted?\\n\\n*   A \\nNo, it's only cloud\\n\\n*   B \\nOnly via third-party services\\n\\n*   C \\nYes, it supports self-hosting\\n\\n*   D \\nOnly partially\\n\\nExplanation:\\n\\nn8n can be run on your own servers, giving full control over workflows and data.\\n\\nWhat is the advantage of n8n being open-source?\\n\\n*   A \\nYou pay more\\n\\n*   B \\nIt has no community support\\n\\n*   C \\nIt is closed to extend\\n\\n*   D \\nYou can inspect, modify and extend it\\n\\nExplanation:\\n\\nBeing open-source allows users to view, customize and enhance the software freely.\\n\\nWhich language or environment does n8n use under the hood?\\n\\n*   A \\nPython\\n\\n*   B \\nJava\\n\\n*   C \\nNode.js or JavaScript or TypeScript\\n\\n*   D \\nRuby\\n\\nExplanation:\\n\\nn8n is built on Node.js enabling it to run JavaScript or TypeScript workflows efficiently.\\n\\nWhat is a “node” in n8n?\\n\\n*   A \\nA machine in a network\\n\\n*   B \\nA step in a workflow representing an action, API call or trigger\\n\\n*   C \\nA database record\\n\\n*   D \\nA user interface component\\n\\nExplanation:\\n\\nEach node performs a specific task like fetching data, transforming it or calling an API.\\n\\nIs coding required to use n8n workflows?\\n\\n*   A \\nYes, always\\n\\n*   B \\nNo, it supports no-code or low-code nodes\\n\\n*   C \\nOnly for triggers\\n\\n*   D \\nOnly in enterprise edition\\n\\nExplanation:\\n\\nn8n is user-friendly and allows building workflows without writing code for most tasks.\\n\\nWhich of these tasks is n8n commonly used for?\\n\\n*   A \\nReal-time gaming engine\\n\\n*   B \\nAutomating data flows between apps\\n\\n*   C \\n3D rendering\\n\\n*   D \\nCryptographic hashing only\\n\\nExplanation:\\n\\nn8n is widely used to connect apps, transfer data and automate repetitive tasks.\\n\\nWhat sets n8n apart compared to tools like Zapier?\\n\\n*   A \\nIt cannot integrate APIs\\n\\n*   B \\nIt is closed source\\n\\n*   C \\nMore flexibility, ability to self-host, deeper customization\\n\\n*   D \\nFewer features\\n\\nExplanation:\\n\\nCompared to Zapier, n8n provides greater control, customization and the option to run workflows locally.\\n\\n![Image 15](https://media.geeksforgeeks.org/auth-dashboard-uploads/sucess-img.png)\\n\\nQuiz Completed Successfully\\n\\nYour Score :  2/10\\n\\nAccuracy : 0%\\n\\nLogin to View Explanation\\n\\n1/10\\n\\n1/10 < Previous  Next >\\n\\nImprove\",\"publishedTime\":\"2025-07-01 12:20:00\",\"metadata\":{\"lang\":\"en-US\",\"viewport\":\"width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=3.0\",\"robots\":\"index, follow, max-image-preview:large, max-snippet:-1\",\"theme-color\":\"#308D46\",\"image\":\"https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_200x200-min.png\",\"og:image:type\":\"image/png\",\"og:image:width\":\"200\",\"og:image:height\":\"200\",\"facebook-domain-verification\":\"xo7t4ve2wn3ywfkjdvwbrk01pvdond\",\"og:title\":\"n8n - GeeksforGeeks\",\"description\":\"Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.\",\"og:url\":\"https://www.geeksforgeeks.org/data-science/what-is-n8n/\",\"keywords\":\"n8n, workflow automation, open-source platform, node-based interface, self-hosting, Docker Desktop, data synchronization, AI workflow automation, Google Sheets integration, Slack notifications, conditional logic, AI agent creation, sales and CRM automation, customer support automation, local setup of n8n\",\"og:site_name\":\"GeeksforGeeks\",\"og:image\":\"https://media.geeksforgeeks.org/wp-content/uploads/20250626113722622900/terminal-of-n8n.webp\",\"article:section\":\"Data Science\",\"og:type\":\"article\",\"og:locale\":\"en_US\",\"article:published_time\":\"2025-07-01 12:20:00+00:00\",\"article:modified_time\":\"2025-10-24 17:18:49+00:00\",\"og:updated_time\":\"2025-10-24 17:18:49+00:00\",\"og:image:secure_url\":\"https://media.geeksforgeeks.org/wp-content/uploads/20250626113722622900/terminal-of-n8n.webp\",\"og:description\":\"Your All-in-One Learning Portal: GeeksforGeeks is a comprehensive educational platform that empowers learners across domains-spanning computer science and programming, school education, upskilling, commerce, software tools, competitive exams, and more.\",\"msapplication-TileImage\":\"https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png\"},\"external\":{\"icon\":{\"https://media.geeksforgeeks.org/wp-content/cdn-uploads/gfg_favicon.png\":{\"type\":\"image/x-icon\"},\"https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200-100x100.png\":{\"sizes\":\"32x32\"},\"https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png\":{\"sizes\":\"192x192\"}},\"preconnect\":{\"https://fonts.googleapis.com/\":{},\"https://fonts.gstatic.com/\":{\"crossorigin\":\"\"}},\"profile\":{\"http://gmpg.org/xfn/11\":{}},\"pingback\":{\"\":{}},\"canonical\":{\"https://www.geeksforgeeks.org/data-science/what-is-n8n/\":{}},\"dns-prefetch\":{\"https://cdn.geeksforgeeks.org/\":{},\"https://s.w.org/\":{}},\"apple-touch-icon-precomposed\":{\"https://www.geeksforgeeks.org/wp-content/uploads/gfg_200X200.png\":{}},\"compression-dictionary\":{\"https://securepubads.g.doubleclick.net/pagead/managed/dict/m202512040101/gpt\":{}}},\"usage\":{\"tokens\":3095}},{\"title\":\"What Is n8n? A Complete Beginner's Guide - xCloud\",\"url\":\"https://xcloud.host/what-is-n8n-a-beginners-guide/\",\"description\":\"Learn what is n8n and how this open‑source workflow automation tool can connect your apps and streamline your tasks easily.\",\"date\":\"Aug 21, 2025\",\"content\":\"Wondering what is [**n8n**](https://xcloud.host/n8n-hosting/) and why it is gaining popularity in workflow automation? You are in the right place. n8n is a flexible, open-source workflow automation tool designed to streamline tasks, integrate applications, and automate complex processes without requiring extensive coding skills.\\n\\n![Image 1: What is n8n](https://xcloud.host/wp-content/uploads/2025/08/Blog-_-Introducing-n8n-1-1024x576.jpg)\\nBuilt as a “fair-code” alternative to proprietary automation services like Zapier or Make, n8n empowers users with complete control over their data and workflows. Its intuitive, node-based visual interface simplifies automation, making it accessible even for beginners.\\n\\nRead the guide to learn what n8n is, how it works, and why businesses and individuals alike choose it to boost productivity, reduce manual labor, and build custom integrations effortlessly.\\n\\n**What Is n8n?**\\n----------------\\n\\nn8n (pronounced “n eight n”) is an open-source workflow automation tool that connects applications and services without requiring coding knowledge. The name cleverly stands for “nodemation,” referencing its node-based, visual workflow builder. Created by Jan Oberhauser in 2019, n8n aims to provide a powerful, flexible alternative to proprietary platforms like [**Zapier**](https://xcloud.host/n8n-vs-zapier-which-one-should-you-choose/) or [**Make**](https://xcloud.host/n8n-vs-make-which-one-should-you-choose/)**.**\\n\\n![Image 2: What is n8n](blob:http://localhost/e8a57f4972516a1d3218894eabc89576)\\nn8n operates under a unique fair-code license, meaning its source code is openly accessible for review and modification, with some premium features offered through paid versions. This open approach allows users full control over their workflows and data, ideal for security-conscious businesses or developers seeking deeper customization.\\n\\nUnlike traditional workflow automation tools, n8n empowers users to host it themselves, either on their own infrastructure or in the cloud, giving greater flexibility, data sovereignty, and cost savings.\\n\\n**Core Concepts And Terminology**\\n---------------------------------\\n\\nTo use n8n effectively, it is essential to understand a few core terms that form the backbone of the platform. Here is a beginner-friendly breakdown:\\n\\n### **Workflow**\\n\\nA workflow is a sequence of automated steps or tasks that you build using nodes. It starts with a trigger and follows a path of actions based on your configuration. Think of it as a flowchart that performs a job for you automatically.\\n\\n### **Nodes**\\n\\nNodes are the building blocks of your workflows. Each node performs a specific function, like receiving data (trigger), transforming it (function), or sending it somewhere (action). Nodes can integrate with applications like Google Sheets, Discord, Stripe, and many other services.\\n\\n### **Executions**\\n\\nAn execution is what happens when a workflow runs. Each time your trigger activates, it logs an execution that shows whether it succeeded, failed, and how long it took. The executions dashboard lets you track, debug, or replay these runs.\\n\\n### **Credentials**\\n\\nCredentials store your authentication tokens and keys securely within n8n. Each node that connects to an external application will ask you to provide credentials (OAuth, API key, and others), which n8n saves so you do not have to re-enter them every time.\\n\\n### **Expressions**\\n\\nExpressions are powerful, dynamic tools that let you manipulate data between nodes. You can reference previous outputs, format dates, or use conditional logic inside a node’s settings ideal for more advanced, customizable workflows.\\n\\n**How Does n8n Work?**\\n----------------------\\n\\nUnderstanding how n8n operates is straightforward, thanks to its intuitive, visual interface based on interconnected nodes. Each workflow in n8n is composed of nodes that pass data between each other and perform actions or logic based on user configuration. Here is a breakdown of how the platform functions:\\n\\n### **n8n**—**Visual Workflow Editor**\\n\\nThe main interface in n8n is the visual workflow editor. This is where users drag, drop, and connect nodes to build automation logic. The visual nature of the editor helps users clearly see the flow of data and logic, making it easier to construct, understand, and debug workflows.\\n\\n![Image 3: Workflow Editor](blob:http://localhost/2b87a522424d95117d70e5621f386bf4)\\n### **Node Types And Their Functions**\\n\\nn8n workflows are built using a combination of the following node types:\\n\\n*   **Trigger Nodes:** These nodes start the workflow. They respond to external events such as receiving an email, a webhook request, or a scheduled time trigger. For example, a webhook node can listen for an HTTP request to initiate a workflow.\\n*   **Action Nodes:** These nodes perform tasks such as sending emails, updating records in a database, or posting messages to a messaging service like Slack. Action nodes are used to carry out steps in response to trigger events.\\n*   **Logic or Code Nodes:** These nodes manage the flow and structure of the workflow. Common logic nodes include IF (conditional branching), Switch (multi-path decisions), Merge (data combining), and Loop (iteration). Additionally, users can insert Function or FunctionItem nodes that execute custom JavaScript code to manipulate data or implement complex logic.\\n\\n### **Data Handling And Flow**\\n\\nData in n8n flows from node to node in JSON format. Each node receives input data, processes it, and outputs the result to the next node. Users can use built-in expressions to reference and transform data from previous nodes. This allows dynamic and contextual automation, such as customizing an email with user-specific data fetched from a CRM.\\n\\n### **Workflow Execution**\\n\\nWhen a workflow is activated and the trigger condition is met, n8n initiates an execution. The platform logs each step, making it easy to trace what happened during the workflow run. This execution log is available in the Executions Dashboard, where users can monitor real-time status, identify failures, and manually retry steps if necessary.\\n\\n### **Error Handling And Resilience**\\n\\nEach node in n8n can be configured with an error-handling path. If an error occurs, the workflow can follow an alternate route, like logging the issue, sending an alert, or retrying the step. This ensures workflows are more fault-tolerant and reliable in production.\\n\\n### **Real Time Testing And Development**\\n\\nOne of n8n’s strengths is the ability to test workflows in real time. Users can execute individual nodes or entire workflows and view the results immediately. This live feedback accelerates the development process and helps users fine-tune each step.\\n\\nBy combining these elements, n8n enables users to build simple to complex workflows that integrate a wide range of services, automate decision making, and handle data in a structured and maintainable way.\\n\\n**Why n8n Is Gaining Attention to Automate Workflows**\\n------------------------------------------------------\\n\\n[**n8n**](https://xcloud.host/n8n-hosting/)has seen rapid adoption in recent years, and it is not hard to see why. It sits at the sweet spot between low-code convenience and full developer flexibility—something few automation tools truly deliver. Here are 6 standout reasons people love n8n:\\n\\n### **Open Source And Self-Hosted**\\n\\nOne of n8n’s biggest strengths is that it’s fully open source under the Fair Code license. That means you can download, run, and modify it however you like. Want to deploy it in your company’s private cloud or on your local machine? You can. This is a huge plus for teams that care about **data privacy**, **customization**, or avoiding monthly subscription costs that scale with usage.\\n\\n### **300+ Built-In Integrations**\\n\\nOut of the box, n8n connects with over 300 popular tools and platforms—everything from Slack, Google Sheets, and GitHub to databases, APIs, and AI tools like OpenAI and Hugging Face. And if the tool you need isn’t supported? You can build your own custom integration using an **HTTP request node** or by writing a bit of JavaScript. This flexibility is unmatched among most low-code platforms.\\n\\n### **Flexible Workflows with Logic And Code**\\n\\nUnlike other platforms that only offer linear “trigger-to-action” flows, n8n supports **complex branching**, **loops**, **conditional logic**, and **code blocks** inside your workflows. You can insert custom JavaScript to tweak data, filter responses, or build dynamic behavior—all inside a visual editor. This means you can automate anything from simple tasks to multi-step, logic-heavy processes.\\n\\n### **AI-Ready by Design**\\n\\nWith the rise of generative AI, n8n has positioned itself as an ideal tool to **build AI-powered workflows**. For example, you can connect an API to OpenAI, process responses with logic nodes, store the output in Notion or Airtable, and send summaries to Slack—all in one automated flow. Whether you’re building AI chatbots, content generators, or intelligent alerts, n8n makes it easier and faster.\\n\\n### **Thriving Community And Ecosystem**\\n\\nn8n has a vibrant and growing community of developers, makers, and automation enthusiasts. The official forum, Discord, and GitHub repo are full of templates, tutorials, and user-contributed nodes. If you hit a snag, chances are someone has solved a similar problem, and you can learn from it. Plus, the n8n team regularly rolls out updates and new integrations.\\n\\n### **💸 Cost Savings**\\n\\nCompared to Zapier or Make, where pricing is tied to the number of tasks or integrations you use, n8n can be **completely free** if you self-host. Even the cloud-hosted version offers a generous free plan. For businesses trying to automate at scale without breaking the bank, this makes n8n a very attractive option.\\n\\n**10 Top n8n Use Cases Across Industries**\\n------------------------------------------\\n\\nn8n can handle everything from simple automations to complex integrations. It works for marketing, sales, operations, development, customer service, finance, and more.\\n\\n1.   **Marketing Automation**\\n\\nConnect CRMs, email tools, analytics, and social media. For example, detect a new WordPress blog post and instantly share it across Twitter, LinkedIn, and Facebook.\\n\\n1.   **eC****ommerce Automation**\\n\\nAutomate order confirmations, inventory updates, and fulfillment alerts. For example, a Shopify purchase can trigger an SMS via Twilio, update a Google Sheet, and notify the Slack fulfillment channel.\\n\\n1.   **Sales & CRM Syncing**\\n\\nCapture leads automatically. A Typeform entry can create a HubSpot contact, log data in Google Sheets, and alert the sales rep in Slack.\\n\\n1.   **Developer Workflows**\\n\\nLink GitHub with project management tools. A new GitHub issue can create a Trello card, assign it, and notify Slack.\\n\\n1.   **Data Pipelines & ETL**\\n\\nExtract, filter, and load data. For example, clean Google Sheets survey data and store it in PostgreSQL.\\n\\n1.   **Customer Support Automation**\\n\\nTurn form submissions into Zendesk tickets, auto-assign them, and send Slack alerts to the right team.\\n\\n1.   **Finance & Admin Automation**\\n\\nWhen a Stripe payment arrives, auto-generate and send an invoice, then save it to Google Drive.\\n\\n1.   **Scheduled Tasks and Alerts**\\n\\nSchedule reports and reminders. For example, create and email a weekly sales report every Monday.\\n\\n1.   **SaaS Integration and Product Workflows**\\n\\nAutomate onboarding. A sign-up can create a database entry, send a welcome email, update Notion, and alert customer success.\\n\\n1.   **Education & Personal Projects**\\n\\nOrganize coursework by saving email attachments with a specific label to Google Drive automatically.\\n\\n**How n8n Compares to Zapier, Make (Integromat), And Other Automation Tools**\\n-----------------------------------------------------------------------------\\n\\nWhen considering an automation platform, you will often come across tools like [**Zapier**](https://xcloud.host/n8n-vs-make-which-one-should-you-choose/), [**Make**](https://xcloud.host/n8n-vs-make-which-one-should-you-choose/) (formerly Integromat), Pipedream, or even niche platforms like Parabola. Each has its own strengths, but they vary widely in philosophy, cost, customization, and user control.\\n\\nLet’s explore how n8n stacks up against these alternatives in terms of features, flexibility, privacy, and best use cases.\\n\\n**Feature / Platform**n8n Zapier Make (Integromat)\\n**Open Source**✅ Yes❌ No❌ No\\n**Self-Hosting**✅ Full❌ No❌ No\\n**Visual Editor**✅ Yes✅ Yes✅ Yes\\n**No-Code Friendly**⚠️ Moderate✅ High✅ High\\n**Code Integration (JS/Python)**✅ JavaScript❌ Not supported⚠️ Low\\n**Webhooks Support**✅ Native & Real-Time✅ Limited✅ Yes\\n**Execution Logs / Debugging**✅ Full⚠️ Basic✅ Good\\n**Pricing Flexibility**✅ Unlimited free use (self-hosted)⚠️ Expensive tiers⚠️ Usage limits\\n**Extensibility (Custom Nodes)**✅ Yes❌ No⚠️ API Only\\n**API Rate Limits**None (self-hosted)Strict Strict\\n**Best Use Case**Complex workflows & dev automation Simple business automation Medium-complexity tasks\\n**Team Collaboration**✅ Role-based✅ Limited✅\\n**Scalability**✅ Docker, Queues❌ Limited⚠️ Platform-bound\\n\\n**🌐 How to Build Your First Automation with n8n in Minutes**\\n-------------------------------------------------------------\\n\\nReady to dive into n8n? First, you will decide how you want to run n8n, either via their hosted n8n Cloud or by self-hosting on your infrastructure.\\n\\n### **n8n Cloud vs Self-Hosting**\\n\\n**🟢 n8n Cloud:** A managed solution ideal for beginners. It requires no setup and includes maintenance and scalability. Simply sign up, log in, and start automating immediately.\\n\\n**🟢 Self-hosted**: Perfect for users who prefer greater control. You can **deploy n8n** on your own server from xCloud or deploy with xCloud’s fully managed hosting in just a few clicks. This option offers complete data privacy, customizability, and cost-effectiveness at scale.\\n\\nIf you want to [**self-host n8n**](https://xcloud.host/docs/deploy-n8n-with-xcloud-with-one-click-apps/) but avoid the complexity of setting it up manually, xCloud offers a fast and beginner-friendly solution. It gives you all the power of self-hosting with the simplicity of a one-click deployment. You get full control of your automation platform without having to worry about server management.\\n\\n![Image 4: How to Set Up n8n in Minutes with xCloud Hosting |  Easy Step By Step Guide with Workflow](https://i.ytimg.com/vi/H1bCs-mW32o/hqdefault.jpg)\\n\\n**🧰 Beginner Tips for Using n8n**\\n----------------------------------\\n\\nIf you are just starting with n8n, these tips will help you avoid mistakes and build smarter workflows from day one.\\n\\n*   **Start small:** Begin with a basic workflow to understand how data moves between nodes.\\n*   **Use templates:** Explore n8n’s workflow template library to jump-start common automations.\\n*   **Learn from documentation:** Read the [**official n8n documentation**](https://xcloud.host/docs/deploy-n8n-with-xcloud-with-one-click-apps/) and take Academy courses for step-by-step learning.\\n*   **Engage with the community:** Join the n8n forum and Reddit group for real-world advice and troubleshooting help.\\n*   **Watch tutorials:** Follow YouTube creators who publish n8n tips, examples, and full workflow walkthroughs.\\n*   **Experiment gradually:** Build confidence by improving workflows step-by-step before attempting complex automations.\\n\\n**n8n: Automate smarter And take control of your workflows**\\n------------------------------------------------------------\\n\\nSo, what is n8n? It is more than just another automation tool. It is a powerful, open-source platform that puts the power of integration and automation directly in your hands. Whether you are just starting out or you are a seasoned developer, n8n offers a rare combination of simplicity, flexibility, and control.\\n\\nFrom automating basic tasks like email alerts to building complex, multi-step workflows that handle critical business operations, n8n scales with you. Its self-hosting options, customizable logic, and growing community make it a standout alternative to platforms like Zapier or Make.\\n\\nIf you are looking to take control of your automations, streamline your daily processes, or experiment with AI workflows, n8n is a great place to begin.\\n\\nIf you have found this blog helpful, feel free to[**subscribe to our blog**](https://xcloud.host/blog/)for valuable tutorials, guides, knowledge, and tips on web hosting and server management. You can also join our[**Facebook community**](https://www.facebook.com/groups/xcloud.community)to share insights and engage in discussions.\\n\\n**❓ Frequently Asked Questions**\\n--------------------------------\\n\\n### **1. What is n8n and how does it compare to tools like Zapier or Make?**\\n\\nn8n is an open‑source automation platform. It uses a node-based visual editor and lets you self‑host for full control and privacy. Many users prefer it over Zapier or Make because it avoids vendor lock‑in and offers more flexibility.\\n\\n### **2. Can I use n8n for free?**\\n\\nYes. If you self-host n8n on your own VPS, the tool itself is free to use under its fair‑code license. You only pay for hosting costs.\\n\\n### **3. What does xCloud host offer for n8n users?**\\n\\nxCloud provides a one‑click deployment for n8n. It comes with free SSL, demo and custom domain support, timezone setup, automated backups, and updates. It simplifies setup while keeping control in your hands.\\n\\n### **4. Do I need prior coding experience to use n8n?**\\n\\nNo. Many users learn as they build simple automations using pre-built nodes. You can add JavaScript or Python code later for custom logic. Beginners often start with community templates or step-by-step guides.\\n\\n### **5. How do I get started as a total beginner?**\\n\\nBegin with the n8n Level One course and official Quickstart tutorials. These cover building your first mini-workflow, managing credentials, handling logic, and exporting workflows.\\n\\n### **6. Where can I find templates or ideas for automations?**\\n\\nYou can browse the **n8n template library** on their official site. Community members also share workflows on Reddit, YouTube, and the n8n Community is great for beginner inspiration.\\n\\n### **7. What if a workflow fails or a node errors?**\\n\\nn8n provides detailed execution logs. You can rerun parts of your workflow, add IF or Error nodes to handle errors, and receive notifications via email or Slack. Debugging is visual.\\n\\n### **8. Does xCloud provide a free version for n8n hosting?**\\n\\nYes. xCloud offers n8n hosting in both the free and pro plans. Whether you have your own server or use xCloud’s fully managed hosting, you can deploy n8n application for free and get access to advanced features.\\n\\nPost Views:736\",\"publishedTime\":\"2025-08-21T15:00:00+00:00\",\"metadata\":{\"lang\":\"en-US\",\"viewport\":\"width=device-width, initial-scale=1\",\"description\":\"Learn what is n8n and how this open‑source workflow automation tool can connect your apps and streamline your tasks easily.\",\"robots\":\"follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large\",\"og:locale\":\"en_US\",\"og:type\":\"article\",\"og:title\":\"What Is n8n? A Complete Beginner's Guide - xCloud\",\"og:description\":\"Learn what is n8n and how this open‑source workflow automation tool can connect your apps and streamline your tasks easily.\",\"og:url\":\"https://xcloud.host/what-is-n8n-a-beginners-guide/\",\"og:site_name\":\"xCloud- Next-Gen Managed Hosting & Server Management for WordPress, Laravel & PHP Applications\",\"article:publisher\":\"https://www.facebook.com/xCloud.host\",\"article:tag\":[\"Make\",\"n8n\",\"xCloud\",\"xCloud Hosting\",\"Zapier\"],\"article:section\":\"Features\",\"og:image\":\"https://xcloud.host/wp-content/uploads/2025/08/Blog-_-Introducing-n8n.jpg\",\"og:image:secure_url\":\"https://xcloud.host/wp-content/uploads/2025/08/Blog-_-Introducing-n8n.jpg\",\"og:image:width\":\"1280\",\"og:image:height\":\"720\",\"og:image:alt\":\"What is n8n\",\"og:image:type\":\"image/jpeg\",\"article:published_time\":\"2025-08-21T15:00:00+00:00\",\"og:video\":\"https://www.youtube.com/embed/H1bCs-mW32o\",\"ya:ovs:upload_date\":\"2025-08-21GMT+000015:00:00+00:00\",\"ya:ovs:allow_embed\":\"true\",\"twitter:card\":\"summary_large_image\",\"twitter:title\":\"What Is n8n? A Complete Beginner's Guide - xCloud\",\"twitter:description\":\"Learn what is n8n and how this open‑source workflow automation tool can connect your apps and streamline your tasks easily.\",\"twitter:site\":\"@xCloud_host\",\"twitter:creator\":\"@xCloud_host\",\"twitter:image\":\"https://xcloud.host/wp-content/uploads/2025/08/Blog-_-Introducing-n8n.jpg\",\"twitter:label1\":\"Written by\",\"twitter:data1\":\"Towfique Ahmed\",\"twitter:label2\":\"Time to read\",\"twitter:data2\":\"13 minutes\",\"generator\":[\"WordPress 6.9\",\"Site Kit by Google 1.164.0\",\"WP Rocket 3.20.0.3\"],\"msapplication-TileImage\":\"https://xcloud.host/wp-content/uploads/2023/10/cropped-xcloud-fav-512x512-1-270x270.png\"},\"external\":{\"canonical\":{\"https://xcloud.host/what-is-n8n-a-beginners-guide/\":{}},\"preconnect\":{\"https://s.adroll.com/\":{\"crossorigin\":\"\",\"data-rocket-preconnect\":\"\"},\"https://www.youtube.com/\":{\"crossorigin\":\"\",\"data-rocket-preconnect\":\"\"},\"https://www.googletagmanager.com/\":{\"crossorigin\":\"\",\"data-rocket-preconnect\":\"\"},\"https://connect.facebook.net/\":{\"crossorigin\":\"\",\"data-rocket-preconnect\":\"\"},\"https://fonts.googleapis.com/\":{\"crossorigin\":\"\",\"data-rocket-preconnect\":\"\"},\"https://client.crisp.chat/\":{\"crossorigin\":\"\",\"data-rocket-preconnect\":\"\"},\"https://fonts.gstatic.com/\":{\"crossorigin\":\"\"}},\"preload\":{\"https://fonts.googleapis.com/css?family=Inter%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CSora%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CDM%20Sans%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7COpen%20Sans%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&display=swap\":{\"data-rocket-preload\":\"\",\"as\":\"style\"},\"https://fonts.gstatic.com/s/sora/v17/xMQbuFFYT72XzQUpDg.woff2\":{\"crossorigin\":\"\",\"data-rocket-preload\":\"\",\"as\":\"font\"}},\"dns-prefetch\":{\"https://client.crisp.chat/\":{},\"https://www.googletagmanager.com/\":{}},\"alternate\":{\"https://xcloud.host/feed/\":{\"type\":\"application/rss+xml\",\"title\":\"xCloud » Feed\"},\"https://xcloud.host/comments/feed/\":{\"type\":\"application/rss+xml\",\"title\":\"xCloud » Comments Feed\"},\"https://xcloud.host/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fxcloud.host%2Fwhat-is-n8n-a-beginners-guide%2F\":{\"title\":\"oEmbed (JSON)\",\"type\":\"application/json+oembed\"},\"https://xcloud.host/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fxcloud.host%2Fwhat-is-n8n-a-beginners-guide%2F&format=xml\":{\"title\":\"oEmbed (XML)\",\"type\":\"text/xml+oembed\"},\"https://xcloud.host/wp-json/wp/v2/posts/26778\":{\"title\":\"JSON\",\"type\":\"application/json\"}},\"https://api.w.org/\":{\"https://xcloud.host/wp-json/\":{}},\"EditURI\":{\"https://xcloud.host/xmlrpc.php?rsd\":{\"type\":\"application/rsd+xml\",\"title\":\"RSD\"}},\"shortlink\":{\"https://xcloud.host/?p=26778\":{}},\"modulepreload\":{\"https://xcloud.host/wp-includes/js/dist/script-modules/interactivity/index.min.js?ver=8964710565a1d258501f\":{\"id\":\"@wordpress/interactivity-js-modulepreload\",\"fetchpriority\":\"low\"}},\"icon\":{\"https://xcloud.host/wp-content/uploads/2023/10/cropped-xcloud-fav-512x512-1-32x32.png\":{\"sizes\":\"32x32\"},\"https://xcloud.host/wp-content/uploads/2023/10/cropped-xcloud-fav-512x512-1-192x192.png\":{\"sizes\":\"192x192\"}},\"apple-touch-icon\":{\"https://xcloud.host/wp-content/uploads/2023/10/cropped-xcloud-fav-512x512-1-180x180.png\":{}}},\"usage\":{\"tokens\":4092}},{\"title\":\"What is n8n? An In-Depth Guide to Workflow Automation\",\"url\":\"https://elementor.com/blog/what-is-n8n/\",\"description\":\"In today's digital landscape, businesses rely on a dizzying array of specialized applications to function. You have a CRM for customer relationships, an email platform for marketing, a project management tool for tasks, and a dozen others, each handling a critical piece of the puzzle. The problem is that these applications often exist in their own silos, creating digital islands that require constant manual effort to bridge. This is where workflow automation becomes essential.\",\"date\":\"Nov 12, 2025\",\"content\":\"What is n8n? An In-Depth Guide to Workflow Automation\\n===============\\n\\n![Image 1: logo](blob:http://localhost/3511a8bebd8c87aac83f3d689cd1c083)\\n\\n[](https://www.cookiebot.com/en/what-is-behind-powered-by-cookiebot/)\\n\\n*   [Consent](https://elementor.com/blog/what-is-n8n/#)\\n*   [Details](https://elementor.com/blog/what-is-n8n/#)\\n*   [[#IABV2SETTINGS#]](https://elementor.com/blog/what-is-n8n/#)\\n*   [About](https://elementor.com/blog/what-is-n8n/#)\\n\\nThis website uses cookies\\n\\nWe use cookies and other tracking technologies to improve your browsing experience, show you personalized content and ads, and analyze your use of the website. For more information, See our[Privacy Policy](https://elementor.com/about/privacy/).\\n\\nConsent Selection\\n\\n**Necessary** \\n\\n- [x] \\n\\n**Preferences** \\n\\n- [x] \\n\\n**Statistics** \\n\\n- [x] \\n\\n**Marketing** \\n\\n- [x] \\n\\n[Privacy Policy](https://elementor.com/blog/what-is-n8n/#)\\n\\nDetails\\n\\n*   \\nNecessary  67- [x]   Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies. \\n\\n    *   [Atlassian 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 2](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.atlassian.com/legal/privacy-policy \\\"Atlassian's privacy policy\\\")**atlassian.xsrf.token**Ensures visitor browsing-security by preventing cross-site request forgery. This cookie is essential for the security of the website and visitor. **Maximum Storage Duration**: Session**Type**: HTTP Cookie   \\n    *   [Cloudflare 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 3](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.cloudflare.com/privacypolicy/ \\\"Cloudflare's privacy policy\\\")**cf.turnstile.u**This cookie is used to distinguish between humans and bots. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage   \\n    *   [Cookiebot 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 4](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.cookiebot.com/goto/privacy-policy/ \\\"Cookiebot's privacy policy\\\")**1.gif**Used to count the number of sessions to the website, necessary for optimizing CMP product delivery. **Maximum Storage Duration**: Session**Type**: Pixel Tracker   \\n    *   [Elementor 18](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 5](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://elementor.com/privacy-policy/ \\\"Elementor's privacy policy\\\")**ASPSESSIONID#**Preserves users states across page requests.**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **elementor[x8]**Used in context with the website's WordPress theme. The cookie allows the website owner to implement or change the website's content in real-time.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **pusherTransportTLS[x2]**Technical cookie that synchronizes the website and the CMS. This is used to update the website.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **cf_clearance**This cookie is used to distinguish between humans and bots. **Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **rc::b**This cookie is used to distinguish between humans and bots. **Maximum Storage Duration**: Session**Type**: HTML Local Storage  **rc::f**This cookie is used to distinguish between humans and bots. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **wc_cart_hash_#**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **wc_fragments_#**Pending**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **wpEmojiSettingsSupports[x2]**This cookie is part of a bundle of cookies which serve the purpose of content delivery and presentation. The cookies keep the correct state of font, blog/picture sliders, color themes and other website settings.**Maximum Storage Duration**: Session**Type**: HTML Local Storage   \\n    *   [Google 7](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 6](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://business.safety.google/privacy/ \\\"Google's privacy policy\\\")Some of the data collected by this provider is for the purposes of personalization and measuring advertising effectiveness.\\n\\n**test_cookie**Used to check if the user's browser supports cookies.**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **__mp_opt_in_out_#**Stores the user's cookie consent state for the current domain**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **GCLB[x2]**This cookie is used in context with load balancing - This optimizes the response rate between the visitor and the site, by distributing the traffic load on multiple network links or servers. **Maximum Storage Duration**: Session**Type**: HTTP Cookie  **_grecaptcha**This cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **rc::a**This cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **rc::c**This cookie is used to distinguish between humans and bots. **Maximum Storage Duration**: Session**Type**: HTML Local Storage   \\n    *   [LinkedIn 2](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 7](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.linkedin.com/legal/privacy-policy \\\"LinkedIn's privacy policy\\\")**bcookie**Used in order to detect spam and improve the website's security. **Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **li_gc**Stores the user's cookie consent state for the current domain**Maximum Storage Duration**: 180 days**Type**: HTTP Cookie   \\n    *   [Loom 4](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 8](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.loom.com/privacy-policy \\\"Loom 's privacy policy\\\")**awc.taskSessions**This cookie is necessary for the login function on the website. **Maximum Storage Duration**: Session**Type**: HTML Local Storage  **awc.taskSessionsInit**This cookie is necessary for the login function on the website. **Maximum Storage Duration**: Session**Type**: HTML Local Storage  **__awc_tld_test__ [x2]**Necessary for the general functionality of the website. **Maximum Storage Duration**: Session**Type**: HTTP Cookie   \\n    *   [be.elementor.com consent.cookiebot.com 11](https://elementor.com/blog/what-is-n8n/#)**CookieConsent[x11]**Stores the user's cookie consent state for the current domain**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie   \\n    *   [cdn.cookielaw.org 1](https://elementor.com/blog/what-is-n8n/#)**OptanonConsent**Determines whether the visitor has accepted the cookie consent box. This ensures that the cookie consent box will not be presented again upon re-entry. **Maximum Storage Duration**: 1 year**Type**: HTTP Cookie   \\n    *   [lmntr.cloudflareaccess.com 1](https://elementor.com/blog/what-is-n8n/#)**CF_Session**This cookie is a part of the services provided by Cloudflare - Including load-balancing, deliverance of website content and serving DNS connection for website operators. **Maximum Storage Duration**: 1 day**Type**: HTTP Cookie   \\n    *   [storage.googleapis.com challenges.cloudflare.com hellotheme.elementor.com vimeo.com 8](https://elementor.com/blog/what-is-n8n/#)**_cfuvid[x8]**This cookie is a part of the services provided by Cloudflare - Including load-balancing, deliverance of website content and serving DNS connection for website operators. **Maximum Storage Duration**: Session**Type**: HTTP Cookie   \\n    *   [storage.googleapis.com elementor.cloud elementor.com elementor.red platform.twitter.com vimeo.com 11](https://elementor.com/blog/what-is-n8n/#)**__cf_bm[x11]**This cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website.**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie   \\n    *   [www.recaptcha.net 1](https://elementor.com/blog/what-is-n8n/#)**_GRECAPTCHA**This cookie is used to distinguish between humans and bots. This is beneficial for the website, in order to make valid reports on the use of their website.**Maximum Storage Duration**: 180 days**Type**: HTTP Cookie   \\n\\n*   \\nPreferences  3- [x]   Preference cookies enable a website to remember information that changes the way the website behaves or looks, like your preferred language or the region that you are in. \\n\\n    *   [Elementor 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 9](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://elementor.com/privacy-policy/ \\\"Elementor's privacy policy\\\")**wp-wpml_current_language**Designates the country code that is calculated based on the user's IP address. Used to determine what language should be used for the visitor.**Maximum Storage Duration**: Session**Type**: HTTP Cookie   \\n    *   [LinkedIn 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 10](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.linkedin.com/legal/privacy-policy \\\"LinkedIn's privacy policy\\\")**lidc**Registers which server-cluster is serving the visitor. This is used in context with load balancing, in order to optimize user experience. **Maximum Storage Duration**: 1 day**Type**: HTTP Cookie   \\n    *   [Loom 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 11](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.loom.com/privacy-policy \\\"Loom 's privacy policy\\\")**loom_anon_comment**This cookie stores information for the widget settings on the website.**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie   \\n\\n*   \\nStatistics  23- [x]   Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously. \\n\\n    *   [Elementor 5](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 12](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://elementor.com/privacy-policy/ \\\"Elementor's privacy policy\\\")**FPAU**Assigns a specific ID to the visitor. This allows the website to determine the number of specific user-visits for analysis and statistics.**Maximum Storage Duration**: 3 months**Type**: HTTP Cookie  **FPGSID**Registers statistical data on users' behaviour on the website. Used for internal analytics by the website operator. **Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **FPID**Registers statistical data on users' behaviour on the website. Used for internal analytics by the website operator. **Maximum Storage Duration**: 400 days**Type**: HTTP Cookie  **FPLC**Registers a unique ID that is used to generate statistical data on how the visitor uses the website.**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **gtmBrowserId**This cookie is used to determine if the visitor has visited the website before, or if it is a new visitor on the website.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage   \\n    *   [Loom 8](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 13](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.loom.com/privacy-policy \\\"Loom 's privacy policy\\\")**ajs_anonymous_id**This cookie is used to count how many times a website has been visited by different visitors - this is done by assigning the visitor an ID, so the visitor does not get registered twice.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **sentryReplaySession**Registers data on visitors' website-behaviour. This is used for internal analysis and website optimization. **Maximum Storage Duration**: Session**Type**: HTML Local Storage  **viewer_session_data**Used in connection with End User Experience Monitoring (EUEM). The cookie collects information on application/device performance, which allows support/website staff to optimize their products and services. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **ajs_anonymous_id[x2]**This cookie is used to identify a specific visitor - this information is used to identify the number of specific visitors on a website.**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **__Host-psifi.analyticsTrace**Registers statistical data on users' behaviour on the website. Used for internal analytics by the website operator. **Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **__Host-psifi.analyticsTraceV2**Registers statistical data on users' behaviour on the website. Used for internal analytics by the website operator. **Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **dd_cookie_test_#**Registers data on visitors' website-behaviour. This is used for internal analysis and website optimization. **Maximum Storage Duration**: 1 day**Type**: HTTP Cookie   \\n    *   [VWO 9](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 14](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://vwo.com/privacy-policy/ \\\"VWO's privacy policy\\\")**_vis_opt_s**Used by Visual Website Optimizer to determine if the visitor is participating in a design experiment.**Maximum Storage Duration**: 100 days**Type**: HTTP Cookie  **_vis_opt_test_cookie**Used to check if the user's browser supports cookies.**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **_vwo_ds**Collects data on the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded with the purpose of generating reports for optimising the website content.**Maximum Storage Duration**: 30 days**Type**: HTTP Cookie  **_vwo_sn**Collects statistics on the visitor's visits to the website, such as the number of visits, average time spent on the website and what pages have been read.**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **_vwo_uuid**Used by Visual Website Optimizer to ensure that the same user interface variant is displayed for each visit, if the user is participating in a design experiment.**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **_vwo_uuid_v2**This cookie is set to make split-tests on the website, which optimizes the website's relevance towards the visitor – the cookie can also be set to improve the visitor's experience on a website.**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **v.gif**This cookie is set to make split-tests on the website, which optimizes the website's relevance towards the visitor – the cookie can also be set to improve the visitor's experience on a website.**Maximum Storage Duration**: Session**Type**: Pixel Tracker  **vwo_apm_sent**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **vwoSn**This cookie is set to make split-tests on the website, which optimizes the website's relevance towards the visitor – the cookie can also be set to improve the visitor's experience on a website.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage   \\n    *   [Vimeo 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 15](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://vimeo.com/privacy \\\"Vimeo's privacy policy\\\")**vuid**Collects data on the user's visits to the website, such as which pages have been read.**Maximum Storage Duration**: 2 years**Type**: HTTP Cookie   \\n\\n*   \\nMarketing  70- [x]   Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers. \\n\\n    *   [Meta Platforms, Inc.4](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 16](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.facebook.com/policy.php/ \\\" Meta Platforms, Inc.'s privacy policy\\\")**lastExternalReferrer**Detects how the user reached the website by registering their last URL-address.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **lastExternalReferrerTime**Detects how the user reached the website by registering their last URL-address.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **topicsLastReferenceTime**Collects data on the user across websites - This data is used to make advertisement more relevant.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **_fbp**Used by Facebook to deliver a series of advertisement products such as real time bidding from third party advertisers.**Maximum Storage Duration**: 3 months**Type**: HTTP Cookie   \\n    *   [Elementor 6](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 17](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://elementor.com/privacy-policy/ \\\"Elementor's privacy policy\\\")**#GUID#23**Pending**Maximum Storage Duration**: 2 months**Type**: HTTP Cookie  **_ga**Used to send data to Google Analytics about the visitor's device and behavior. Tracks the visitor across devices and marketing channels.**Maximum Storage Duration**: 2 years**Type**: HTTP Cookie  **_ga_#**Used to send data to Google Analytics about the visitor's device and behavior. Tracks the visitor across devices and marketing channels.**Maximum Storage Duration**: 2 years**Type**: HTTP Cookie  **_gcl_au**Used by Google AdSense for experimenting with advertisement efficiency across websites using their services. **Maximum Storage Duration**: 3 months**Type**: HTTP Cookie  **_gcl_ls**Tracks the conversion rate between the user and the advertisement banners on the website - This serves to optimise the relevance of the advertisements on the website. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **__mpq_#_#**Collects data on user behaviour and interaction in order to optimize the website and make advertisement on the website more relevant. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage   \\n    *   [Giphy Support 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 18](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://support.giphy.com/hc/en-us/articles/360020028332-GIPHY-Privacy-Policy \\\"Giphy Support's privacy policy\\\")**giphyPingbackId**Used to track the visitor's usage of GIFs - This serves for analytical and marketing purposes.**Maximum Storage Duration**: Session**Type**: HTML Local Storage   \\n    *   [Google 8](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 19](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://business.safety.google/privacy/ \\\"Google's privacy policy\\\")Some of the data collected by this provider is for the purposes of personalization and measuring advertising effectiveness.\\n\\n**IDE**Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.**Maximum Storage Duration**: 400 days**Type**: HTTP Cookie  **pagead/viewthroughconversion/783189000/**Pending**Maximum Storage Duration**: Session**Type**: Pixel Tracker  **pagead/viewthroughconversion/936279748/**Pending**Maximum Storage Duration**: Session**Type**: Pixel Tracker  **_gat**Used to send data to Google Analytics about the visitor's device and behavior. Tracks the visitor across devices and marketing channels.**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **_gid**Used to send data to Google Analytics about the visitor's device and behavior. Tracks the visitor across devices and marketing channels.**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **ads/ga-audiences**Used by Google AdWords to re-engage visitors that are likely to convert to customers based on the visitor's online behaviour across websites.**Maximum Storage Duration**: Session**Type**: Pixel Tracker  **NID**Pending**Maximum Storage Duration**: 6 months**Type**: HTTP Cookie  **pagead/1p-user-list/#**Tracks if the user has shown interest in specific products or events across multiple websites and detects how the user navigates between sites. This is used for measurement of advertisement efforts and facilitates payment of referral-fees between websites.**Maximum Storage Duration**: Session**Type**: Pixel Tracker   \\n    *   [LinkedIn 1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 20](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.linkedin.com/legal/privacy-policy \\\"LinkedIn's privacy policy\\\")**insight_tag_errors.gif**Pending**Maximum Storage Duration**: Session**Type**: Pixel Tracker   \\n    *   [Loom 5](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 21](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.loom.com/privacy-policy \\\"Loom 's privacy policy\\\")**ajs_user_id**Collects data on visitors' preferences and behaviour on the website - This information is used make content and advertisement more relevant to the specific visitor. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **__tld__ [x2]**Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. **Maximum Storage Duration**: Session**Type**: HTTP Cookie  **ajs_user_id**This cookie is used to collect data on the visitor's behavior on the website - this information can be used to assign the visitor to a visitor segment, based on common preferences.**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **loom_referral_video**Used to detect referrals in relation to website's embedded video-player. **Maximum Storage Duration**: Session**Type**: HTTP Cookie   \\n    *   [Microsoft 8](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 22](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://privacy.microsoft.com/en-US/privacystatement \\\"Microsoft's privacy policy\\\")**_uetsid**Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **_uetsid_exp**Contains the expiry-date for the cookie with corresponding name. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **_uetvid**Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **_uetvid_exp**Contains the expiry-date for the cookie with corresponding name. **Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **MR**Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. **Maximum Storage Duration**: 7 days**Type**: HTTP Cookie  **MUID**Used widely by Microsoft as a unique user ID. The cookie enables user tracking by synchronising the ID across many Microsoft domains.**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **_uetsid**Collects data on visitor behaviour from multiple websites, in order to present more relevant advertisement - This also allows the website to limit the number of times that they are shown the same advertisement. **Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **_uetvid**Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. **Maximum Storage Duration**: 1 year**Type**: HTTP Cookie   \\n    *   [Reddit 6](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 23](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.redditinc.com/policies/privacy-policy \\\"Reddit's privacy policy\\\")**rp.gif**Necessary for the implementation of the Reddit.com's share-button function.**Maximum Storage Duration**: Session**Type**: Pixel Tracker  **_rdt_uuid[x5]**Used to track visitors on multiple websites, in order to present relevant advertisement based on the visitor's preferences. **Maximum Storage Duration**: Session**Type**: HTTP Cookie   \\n    *   [Twitter Inc.1](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 24](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://twitter.com/en/privacy \\\"Twitter Inc.'s privacy policy\\\")**i/jot/embeds**Sets a unique ID for the visitor, that allows third party advertisers to target the visitor with relevant advertisement. This pairing service is provided by third party advertisement hubs, which facilitates real-time bidding for advertisers.**Maximum Storage Duration**: Session**Type**: Pixel Tracker   \\n    *   [YouTube 27](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 25](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://business.safety.google/privacy/ \\\"YouTube's privacy policy\\\")**LAST_RESULT_ENTRY_KEY[x2]**Used to track user’s interaction with embedded content.**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **ytidb::LAST_RESULT_ENTRY_KEY[x2]**Used to track user’s interaction with embedded content.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **YtIdbMeta#databases[x2]**Used to track user’s interaction with embedded content.**Maximum Storage Duration**: Persistent**Type**: IndexedDB  **__Secure-ROLLOUT_TOKEN**Pending**Maximum Storage Duration**: 180 days**Type**: HTTP Cookie  **__Secure-YEC**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **__Secure-YNID**Pending**Maximum Storage Duration**: 180 days**Type**: HTTP Cookie  **LogsDatabaseV2:V#||LogsRequestsStore**Used to track user’s interaction with embedded content.**Maximum Storage Duration**: Persistent**Type**: IndexedDB  **nextId**Used to track user’s interaction with embedded content.**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **remote_sid**Necessary for the implementation and functionality of YouTube video-content on the website. **Maximum Storage Duration**: Session**Type**: HTTP Cookie  **requests**Used to track user’s interaction with embedded content.**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **ServiceWorkerLogsDatabase#SWHealthLog**Necessary for the implementation and functionality of YouTube video-content on the website. **Maximum Storage Duration**: Persistent**Type**: IndexedDB  **TESTCOOKIESENABLED**Used to track user’s interaction with embedded content.**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **VISITOR_INFO1_LIVE**Pending**Maximum Storage Duration**: 180 days**Type**: HTTP Cookie  **YSC**Pending**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **yt.innertube::nextId**Registers a unique ID to keep statistics of what videos from YouTube the user has seen.**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **yt-icons-last-purged**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **yt-player-user-settings**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **yt-remote-cast-available**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **yt-remote-cast-installed**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **yt-remote-connected-devices**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **yt-remote-device-id**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **yt-remote-fast-check-period**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **yt-remote-session-app**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **yt-remote-session-name**Stores the user's video player preferences using embedded YouTube video**Maximum Storage Duration**: Session**Type**: HTML Local Storage   \\n    *   [storage.googleapis.com playground.elementor.com 3](https://elementor.com/blog/what-is-n8n/#)**mp_#_mixpanel[x3]**Pending**Maximum Storage Duration**: Session**Type**: HTTP Cookie   \\n\\n*   Unclassified 44 Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.  \\n\\n    *   [Elementor 26](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 26](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://elementor.com/privacy-policy/ \\\"Elementor's privacy policy\\\")**ea11y-global-state[x2]**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **ea11y-session-state**Pending**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **_elementor_site_user_country[x2]**Pending**Maximum Storage Duration**: 30 days**Type**: HTTP Cookie  **CF_Authorization[x2]**Pending**Maximum Storage Duration**: 1 day**Type**: HTTP Cookie  **elGeoLocationCode[x6]**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **chatSession**Pending**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **CsdCookieConsent**Pending**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **elementor_locale**Pending**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **gtmHostingAddonEligible**Pending**Maximum Storage Duration**: 2 months**Type**: HTTP Cookie  **gtmInfo**Pending**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **gtmUtm**Pending**Maximum Storage Duration**: 28 days**Type**: HTTP Cookie  **_/set_cookie**Pending**Maximum Storage Duration**: Session**Type**: Pixel Tracker  **#-evergreen_due_date**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **#-evergreen_interval**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **woocommerce_multicurrency_forced_currency**Pending**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **woocommerce_multicurrency_language**Pending**Maximum Storage Duration**: 1 year**Type**: HTTP Cookie  **e_globals**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **e_kit-elements-defaults**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage   \\n    *   [Google 8](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 27](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://business.safety.google/privacy/ \\\"Google's privacy policy\\\")Some of the data collected by this provider is for the purposes of personalization and measuring advertising effectiveness.\\n\\n**elementor_token**Pending**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **mp_optout**Pending**Maximum Storage Duration**: Session**Type**: HTTP Cookie  **__mp_opt_in_out_150605b3b9f979922f2ac5a52e2dcfe9**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **dls_ab_testing_id**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **statsig.cached.evaluations.2208162951**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **statsig.last_modified_time.evaluations**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **statsig.session_id.3563175678**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **statsig.stable_id.3563175678**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage   \\n    *   [Loom 8](https://elementor.com/blog/what-is-n8n/#)[Learn more about this provider![Image 28](blob:http://localhost/7c37f61654102a88a9be209f9569ef78)](https://www.loom.com/privacy-policy \\\"Loom 's privacy policy\\\")**awc.last.screen.event**Pending**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **awc.session.expiry**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **awc.session.id**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **awc.tab.id**Pending**Maximum Storage Duration**: Session**Type**: HTML Local Storage  **colorTheme**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **emoji-reaction-list-variant**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **frequent-reactions**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **analytics-web-client#analytics-resilience**Pending**Maximum Storage Duration**: Persistent**Type**: IndexedDB   \\n    *   [solve-widget.forethought.ai 2](https://elementor.com/blog/what-is-n8n/#)**{\\\"data-api-key\\\":\\\"0fffb09d-5131-42e2-aedd-33e3740d7924\\\",\\\"config-ft-persistence-id\\\":\\\"presale\\\"}**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage  **{\\\"data-api-key\\\":\\\"0fffb09d-5131-42e2-aedd-33e3740d7924\\\",\\\"data-ft-workflow-tag\\\":\\\"Presale - Care\\\"}**Pending**Maximum Storage Duration**: Persistent**Type**: HTML Local Storage   \\n\\n[Cross-domain consent 10](https://elementor.com/blog/what-is-n8n/#)Your consent applies to the following domains:\\n\\nList of domains your consent applies to:[be.elementor.com](https://be.elementor.com/)[developers.elementor.com](https://developers.elementor.com/)[elementor.com](https://elementor.com/)[go.elementor.com](https://go.elementor.com/)[hellotheme.elementor.com](https://hellotheme.elementor.com/)[library.elementor.com](https://library.elementor.com/)[my.elementor.com](https://my.elementor.com/)[playground.elementor.com](https://playground.elementor.com/)[prompts.elementor.com](https://prompts.elementor.com/)[showoff.elementor.com](https://showoff.elementor.com/)\\n\\nCookie declaration last updated on 12/17/25 by [Cookiebot](https://www.cookiebot.com/ \\\"Cookiebot\\\")\\n\\n[#IABV2_TITLE#]\\n\\n[#IABV2_BODY_INTRO#]\\n\\n[#IABV2_BODY_LEGITIMATE_INTEREST_INTRO#]\\n\\n[#IABV2_BODY_PREFERENCE_INTRO#]\\n\\n[#IABV2_LABEL_PURPOSES#]\\n\\n[#IABV2_BODY_PURPOSES_INTRO#]\\n\\n[#IABV2_BODY_PURPOSES#]\\n\\n[#IABV2_LABEL_FEATURES#]\\n\\n[#IABV2_BODY_FEATURES_INTRO#]\\n\\n[#IABV2_BODY_FEATURES#]\\n\\n[#IABV2_LABEL_PARTNERS#]\\n\\n[#IABV2_BODY_PARTNERS_INTRO#]\\n\\n[#IABV2_BODY_PARTNERS#]\\n\\nAbout\\n\\nCookies are small text files that can be used by websites to make a user's experience more efficient.\\n\\nThe law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies we need your permission.\\n\\nThis site uses different types of cookies. Some cookies are placed by third party services that appear on our pages.\\n\\nYou can at any time change or withdraw your consent from the Cookie Declaration on our website.\\n\\nLearn more about who we are, how you can contact us and how we process personal data in our Privacy Policy.\\n\\n Please state your consent ID and date when you contact us regarding your consent.\\n\\n- [x] **Do not sell or share my personal information** \\n\\nDeny Allow selection Customize OK\\n\\n*    Close Open  \\n\\n    *   [Products](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Page Builder Plugin](https://elementor.com/products/page-builder-plugin/)\\n        *   [Hosting for WordPress](https://elementor.com/wordpress-hosting/)\\n        *   [Hosting for WooCommerce](https://elementor.com/products/ecommerce-hosting/)\\n        *   [Elementor AI](https://elementor.com/products/ai/)\\n        *   [AI Site Planner](https://elementor.com/ai-site-planner/)\\n        *   [Image Optimizer](https://elementor.com/products/image-optimizer/)\\n        *   [Site Mailer](https://elementor.com/products/site-mailer/)\\n        *   [Hello Biz](https://elementor.com/products/hello-biz/)\\n        *   [Hello Theme](https://elementor.com/products/hello-theme/)\\n\\n    *   [Hosting](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Hosting for WordPress](https://elementor.com/wordpress-hosting/)\\n        *   [Hosting for WooCommerce](https://elementor.com/products/ecommerce-hosting/)\\n\\n    *   [Web Creation](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Elementor + WordPress](https://elementor.com/features/wordpress/)\\n        *   [Elementor + WooCommerce](https://elementor.com/features/woocommerce-builder/)\\n        *   [Web Design](https://elementor.com/for/designer/)\\n        *   [Widgets](https://elementor.com/widgets/)\\n        *   [All Features](https://elementor.com/features/)\\n        *   [Kits Library](https://elementor.com/library/)\\n\\n    *   [Resources](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Blog](https://elementor.com/blog/)\\n        *   [Help Center](https://elementor.com/help/)\\n        *   [Community](https://elementor.com/community/)\\n        *   [Roadmap](https://elementor.com/roadmap/)\\n        *   [Elementor Showoff](https://showoff.elementor.com/)\\n        *   [Developers Website](https://developers.elementor.com/)\\n        *   [Support](https://elementor.com/care/)\\n        *   [Add-ons](https://elementor.com/addons/)\\n        *   [AI Prompt Library](https://prompts.elementor.com/)\\n\\n    *   [Enterprise](https://elementor.com/solutions/enterprise/)\\n    *   [Pricing](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Hosting for WordPress](https://elementor.com/pricing/)\\n        *   [Hosting for WooCommerce](https://elementor.com/pricing-ecommerce-hosting/)\\n        *   [Page Builder Pro Plugin](https://elementor.com/pricing-plugin/)\\n\\n[](https://elementor.com/)\\n\\n[blog](https://elementor.com/blog)\\n\\n*   [Categories](https://elementor.com/blog/)\\n    *   [Elementor](https://elementor.com/blog/what-is-n8n/#)\\n        *   [New Features](https://elementor.com/blog/category/new-features/)\\n        *   [Elementor Team Writes](https://elementor.com/blog/category/elementor-team-writes/)\\n        *   [Showcase](https://elementor.com/blog/category/showcase/)\\n        *   [News](https://elementor.com/blog/category/news/)\\n        *   [Case Studies](https://elementor.com/blog/category/stories/)\\n        *   [Community](https://elementor.com/blog/category/community/)\\n\\n    *   [Design](https://elementor.com/blog/category/design/)\\n    *   [Marketing](https://elementor.com/blog/category/marketing/)\\n    *   [Development](https://elementor.com/blog/category/development/)\\n    *   [Business](https://elementor.com/blog/category/business/)\\n    *   [WordPress](https://elementor.com/blog/category/wordpress/)\\n    *   [Hosting](https://elementor.com/blog/category/hosting/)\\n    *   [Accessibility](https://elementor.com/blog/category/accessibility/)\\n    *   [Resources](https://elementor.com/blog/category/resources/)\\n\\n*   [Categories](https://elementor.com/blog/)\\n    *   [Elementor](https://elementor.com/blog/what-is-n8n/#)\\n        *   [New Features](https://elementor.com/blog/category/new-features/)\\n        *   [Elementor Team Writes](https://elementor.com/blog/category/elementor-team-writes/)\\n        *   [Showcase](https://elementor.com/blog/category/showcase/)\\n        *   [News](https://elementor.com/blog/category/news/)\\n        *   [Case Studies](https://elementor.com/blog/category/stories/)\\n        *   [Community](https://elementor.com/blog/category/community/)\\n\\n    *   [Design](https://elementor.com/blog/category/design/)\\n    *   [Marketing](https://elementor.com/blog/category/marketing/)\\n    *   [Development](https://elementor.com/blog/category/development/)\\n    *   [Business](https://elementor.com/blog/category/business/)\\n    *   [WordPress](https://elementor.com/blog/category/wordpress/)\\n    *   [Hosting](https://elementor.com/blog/category/hosting/)\\n    *   [Accessibility](https://elementor.com/blog/category/accessibility/)\\n    *   [Resources](https://elementor.com/blog/category/resources/)\\n\\n✕\\n\\n[](https://elementor.com/blog/what-is-n8n/#!)\\n\\n[Login](https://my.elementor.com/websites/)\\n\\n[Get Started](https://elementor.com/welcome-cloud/choose-design/)\\n\\n*    Close Open  \\n\\n    *   [Products](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Page Builder Plugin](https://elementor.com/products/page-builder-plugin/)\\n        *   [Hosting for WordPress](https://elementor.com/wordpress-hosting/)\\n        *   [Hosting for WooCommerce](https://elementor.com/products/ecommerce-hosting/)\\n        *   [Elementor AI](https://elementor.com/products/ai/)\\n        *   [AI Site Planner](https://elementor.com/ai-site-planner/)\\n        *   [Image Optimizer](https://elementor.com/products/image-optimizer/)\\n        *   [Site Mailer](https://elementor.com/products/site-mailer/)\\n        *   [Hello Biz](https://elementor.com/products/hello-biz/)\\n        *   [Hello Theme](https://elementor.com/products/hello-theme/)\\n\\n    *   [Hosting](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Hosting for WordPress](https://elementor.com/wordpress-hosting/)\\n        *   [Hosting for WooCommerce](https://elementor.com/products/ecommerce-hosting/)\\n\\n    *   [Web Creation](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Elementor + WordPress](https://elementor.com/features/wordpress/)\\n        *   [Elementor + WooCommerce](https://elementor.com/features/woocommerce-builder/)\\n        *   [Web Design](https://elementor.com/for/designer/)\\n        *   [Widgets](https://elementor.com/widgets/)\\n        *   [All Features](https://elementor.com/features/)\\n        *   [Kits Library](https://elementor.com/library/)\\n\\n    *   [Resources](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Blog](https://elementor.com/blog/)\\n        *   [Help Center](https://elementor.com/help/)\\n        *   [Community](https://elementor.com/community/)\\n        *   [Roadmap](https://elementor.com/roadmap/)\\n        *   [Elementor Showoff](https://showoff.elementor.com/)\\n        *   [Developers Website](https://developers.elementor.com/)\\n        *   [Support](https://elementor.com/care/)\\n        *   [Add-ons](https://elementor.com/addons/)\\n        *   [AI Prompt Library](https://prompts.elementor.com/)\\n\\n    *   [Enterprise](https://elementor.com/solutions/enterprise/)\\n    *   [Pricing](https://elementor.com/blog/what-is-n8n/#)\\n        *   [Hosting for WordPress](https://elementor.com/pricing/)\\n        *   [Hosting for WooCommerce](https://elementor.com/pricing-ecommerce-hosting/)\\n        *   [Page Builder Pro Plugin](https://elementor.com/pricing-plugin/)\\n\\n[](https://elementor.com/)\\n\\n[blog](https://elementor.com/blog)\\n\\n*   [Categories](https://elementor.com/blog/)\\n    *   [Elementor](https://elementor.com/blog/what-is-n8n/#)\\n        *   [New Features](https://elementor.com/blog/category/new-features/)\\n        *   [Elementor Team Writes](https://elementor.com/blog/category/elementor-team-writes/)\\n        *   [Showcase](https://elementor.com/blog/category/showcase/)\\n        *   [News](https://elementor.com/blog/category/news/)\\n        *   [Case Studies](https://elementor.com/blog/category/stories/)\\n        *   [Community](https://elementor.com/blog/category/community/)\\n\\n    *   [Design](https://elementor.com/blog/category/design/)\\n    *   [Marketing](https://elementor.com/blog/category/marketing/)\\n    *   [Development](https://elementor.com/blog/category/development/)\\n    *   [Business](https://elementor.com/blog/category/business/)\\n    *   [WordPress](https://elementor.com/blog/category/wordpress/)\\n    *   [Hosting](https://elementor.com/blog/category/hosting/)\\n    *   [Accessibility](https://elementor.com/blog/category/accessibility/)\\n    *   [Resources](https://elementor.com/blog/category/resources/)\\n\\n*   [Categories](https://elementor.com/blog/)\\n    *   [Elementor](https://elementor.com/blog/what-is-n8n/#)\\n        *   [New Features](https://elementor.com/blog/category/new-features/)\\n        *   [Elementor Team Writes](https://elementor.com/blog/category/elementor-team-writes/)\\n        *   [Showcase](https://elementor.com/blog/category/showcase/)\\n        *   [News](https://elementor.com/blog/category/news/)\\n        *   [Case Studies](https://elementor.com/blog/category/stories/)\\n        *   [Community](https://elementor.com/blog/category/community/)\\n\\n    *   [Design](https://elementor.com/blog/category/design/)\\n    *   [Marketing](https://elementor.com/blog/category/marketing/)\\n    *   [Development](https://elementor.com/blog/category/development/)\\n    *   [Business](https://elementor.com/blog/category/business/)\\n    *   [WordPress](https://elementor.com/blog/category/wordpress/)\\n    *   [Hosting](https://elementor.com/blog/category/hosting/)\\n    *   [Accessibility](https://elementor.com/blog/category/accessibility/)\\n    *   [Resources](https://elementor.com/blog/category/resources/)\\n\\n✕\\n\\n[](https://elementor.com/blog/what-is-n8n/#!)\\n\\n[Login](https://my.elementor.com/websites/)\\n\\n[Get Started](https://elementor.com/welcome-cloud/choose-design/)\\n\\nWhat is n8n? An In-Depth Guide to Workflow Automation\\n=====================================================\\n\\n*   [Itamar Haim](https://elementor.com/blog/author/itamarha/)\\n*    on[Resources](https://elementor.com/blog/category/resources/)\\n*    Nov 12, 2025 \\n*   0 Comments\\n\\n In today's digital landscape, businesses rely on a dizzying array of specialized applications to function. You have a CRM for customer relationships, an email platform for marketing, a project management tool for tasks, and a dozen others, each handling a critical piece of the puzzle. The problem is that these applications often exist in their own silos, creating digital islands that require constant manual effort to bridge. This is where workflow automation becomes essential. \\n\\n![Image 29](https://elementor.com/cdn-cgi/image/f=auto,w=1200,h=630/blog/wp-content/uploads/2025/10/imgi_23_2021_11_Herding-Cats-%E2%80%94-Lessons-Learned-While-Developing-for-the-WordPress-Environment-01.jpeg)\\n\\n Table of Contents \\n\\n*   [Key Takeaways](https://elementor.com/blog/what-is-n8n/#key-takeaways)\\n*   [The Modern Challenge: A Disconnected Digital World](https://elementor.com/blog/what-is-n8n/#the-modern-challenge-a-disconnected-digital-world)\\n*   +[What is n8n and How Does It Solve This Problem?](https://elementor.com/blog/what-is-n8n/#what-is-n8n-and-how-does-it-solve-this-problem) \\n    *   [A Visual Approach to Automation](https://elementor.com/blog/what-is-n8n/#a-visual-approach-to-automation)\\n    *   [The Core Components of n8n](https://elementor.com/blog/what-is-n8n/#the-core-components-of-n8n)\\n    *   +[The “Source-Available” Advantage: Flexibility and Control](https://elementor.com/blog/what-is-n8n/#the-source-available-advantage-flexibility-and-control) \\n        *   [Self-Hosting n8n](https://elementor.com/blog/what-is-n8n/#self-hosting-n8n)\\n        *   [n8n Cloud](https://elementor.com/blog/what-is-n8n/#n8n-cloud)\\n\\n*   +[Why Should a Web Creator or Marketer Care About n8n?](https://elementor.com/blog/what-is-n8n/#why-should-a-web-creator-or-marketer-care-about-n8n) \\n    *   +[Supercharging Your Elementor Forms](https://elementor.com/blog/what-is-n8n/#supercharging-your-elementor-forms) \\n        *   [Use Case 1: Advanced Lead Management](https://elementor.com/blog/what-is-n8n/#use-case-1-advanced-lead-management)\\n        *   [Use Case 2: Automating Client Support](https://elementor.com/blog/what-is-n8n/#use-case-2-automating-client-support)\\n\\n    *   +[Automating Your WooCommerce Store](https://elementor.com/blog/what-is-n8n/#automating-your-woocommerce-store) \\n        *   [Use Case 3: Order Fulfillment and Invoicing](https://elementor.com/blog/what-is-n8n/#use-case-3-order-fulfillment-and-invoicing)\\n\\n    *   +[Streamlining Content Marketing Workflows](https://elementor.com/blog/what-is-n8n/#streamlining-content-marketing-workflows) \\n        *   [Use Case 4: Content Promotion Engine](https://elementor.com/blog/what-is-n8n/#use-case-4-content-promotion-engine)\\n\\n    *   +[Automating Agency Operations and Client Reporting](https://elementor.com/blog/what-is-n8n/#automating-agency-operations-and-client-reporting) \\n        *   [Use Case 5: Automated Client Reports](https://elementor.com/blog/what-is-n8n/#use-case-5-automated-client-reports)\\n\\n*   +[Getting Started with n8n: A Practical Guide](https://elementor.com/blog/what-is-n8n/#getting-started-with-n8n-a-practical-guide) \\n    *   [Option 1: Setting up n8n Cloud](https://elementor.com/blog/what-is-n8n/#option-1-setting-up-n8n-cloud)\\n    *   [Option 2: Self-Hosting n8n](https://elementor.com/blog/what-is-n8n/#option-2-self-hosting-n8n)\\n    *   [Building Your First Workflow: Elementor Form to Google Sheets & Slack](https://elementor.com/blog/what-is-n8n/#building-your-first-workflow-elementor-form-to-google-sheets-slack)\\n\\n*   +[n8n vs. The Competition: A Neutral Look](https://elementor.com/blog/what-is-n8n/#n8n-vs-the-competition-a-neutral-look) \\n    *   [n8n vs. Zapier](https://elementor.com/blog/what-is-n8n/#n8n-vs-zapier)\\n    *   [n8n vs. Make (formerly Integromat)](https://elementor.com/blog/what-is-n8n/#n8n-vs-make-formerly-integromat)\\n    *   [When to Choose n8n](https://elementor.com/blog/what-is-n8n/#when-to-choose-n8n)\\n\\n*   [The Future of Automation and Web Creation](https://elementor.com/blog/what-is-n8n/#the-future-of-automation-and-web-creation)\\n*   [Frequently Asked Questions (FAQ)](https://elementor.com/blog/what-is-n8n/#frequently-asked-questions-faq)\\n\\nWorkflow automation tools act as the central nervous system for your digital operations, connecting your apps and letting them talk to each other automatically. They handle the repetitive, manual tasks that consume your time, freeing you to focus on strategy, creativity, and growth. One of the most powerful and flexible players in this space is n8n, a tool that gives web creators and business owners unparalleled control over their automated processes.\\n\\n### **Key Takeaways**\\n\\n*   **What n8n Is:** n8n (pronounced “n-eight-n”) is a source-available workflow automation tool that empowers you to connect different applications and services to automate repetitive tasks without extensive coding.\\n*   **Visual, Node-Based System:** It uses a visual canvas where you connect “nodes” (representing apps or functions) to build workflows, making complex automations understandable and manageable.\\n*   **Ultimate Flexibility with Hosting:** n8n offers a managed [Cloud](https://elementor.com/blog/cloud-hosting/ \\\"Cloud\\\") version for ease of use and a self-hostable version for complete data control, privacy, and cost-effectiveness at scale. This is a key differentiator from its competitors.\\n*   **Core Concepts:** Understanding triggers (what starts a workflow), nodes (the action steps), connections (the flow of data), and credentials (secure app logins) is key to mastering the platform.\\n*   **Powerful for Web Creators:** n8n is exceptionally useful for automating tasks originating from a website, such as managing leads from an Elementor form, processing WooCommerce orders, and streamlining [content marketing](https://elementor.com/blog/content-marketing-strategy/ \\\"content marketing\\\") efforts.\\n*   **A Strong Competitor:** It stands as a powerful alternative to tools like Zapier and Make, particularly for users who need more complex logic, custom branching, and the ability to run high-volume tasks without per-transaction fees.\\n\\n**The Modern Challenge: A Disconnected Digital World**\\n------------------------------------------------------\\n\\nThink about the last time you received a new lead from your website’s contact form. What happened next? Perhaps you manually copied that person’s information into a Google Sheet. Then, you added their email address to your marketing list in Mailchimp. After that, you sent a message to your sales team on Slack to let them know a new lead came in. Finally, you created a new contact card in your CRM.\\n\\nEach of these steps is simple on its own, but together they represent a significant time investment. Now multiply that by ten, fifty, or a hundred leads per week. This manual data entry is not just tedious; it is a recipe for human error, lost productivity, and missed opportunities. A detail gets mistyped, a lead gets forgotten, or a follow-up is delayed, and a potential customer is lost. This is the friction of a disconnected digital ecosystem, a problem that nearly every modern business faces.\\n\\nWorkflow automation platforms were created to solve this exact problem. They serve as universal translators, allowing your diverse collection of software tools to communicate and act in concert. By creating automated “if this, then that” sequences, you can ensure that the right data moves to the right place at the right time, every single time.\\n\\n[ecommerce hosting Build Great Stores, Grow Your Sales * Incredibly Fast Store * Sales Optimization * Enterprise-Grade Security * 24/7 Expert Service From $14.99 ![Image 30](https://elementor.com/cdn-cgi/image/f=auto,w=652,h=480/blog/wp-content/uploads/2024/07/Frame-10886474.png)](https://elementor.com/pricing-ecommerce-hosting/)[ecommerce hosting Build Great Stores, Grow Your Sales * Incredibly Fast Store * Sales Optimization * Enterprise-Grade Security * 24/7 Expert Service From $14.99](https://elementor.com/pricing-ecommerce-hosting/)\\n\\n[Image optimizer Speed Up Your Website * Unlimited Websites * Unlimited Upload Size * Bulk Optimization * WebP Conversion Start Free Trial ![Image 31](https://elementor.com/cdn-cgi/image/f=auto,w=736,h=478/blog/wp-content/uploads/2024/07/Group-10882638.png)](https://elementor.com/products/image-optimizer/)[Image optimizer Speed Up Your Website * Unlimited Websites * Unlimited Upload Size * Bulk Optimization * WebP Conversion Start a Free Trial](https://elementor.com/products/image-optimizer/)\\n\\n[Elementor AI Discover your New Superpowers * Prompt your Code & Add Custom Code, HTML, or CSS with ease * Generate or edit with AI for Tailored Images * Use Copilot for predictive stylized container layouts Start Free Trial No Credit Card Required. ![Image 32](https://elementor.com/cdn-cgi/image/f=auto,w=618,h=480/blog/wp-content/uploads/2024/07/Group-10882525.png)](https://elementor.com/pricing-ai/)[Elementor AI Discover your New Superpowers * Prompt your Code & Add Custom Code, HTML, or CSS with ease * Generate or edit with AI for Tailored Images * Use Copilot for predictive stylized container layouts * Craft or Translate Content at Lightning Speed Start Free Trial No Credit Card Required.](https://elementor.com/pricing-ai/)\\n\\n[Wordpress Hosting The Fastest Track to a Top-Performing Website * Super-Fast Websites * Enterprise-Grade Security * Any Site, Every Business * 24/7 Expert Service From $8.99 ![Image 33](https://elementor.com/cdn-cgi/image/f=auto,w=696,h=432/blog/wp-content/uploads/2024/07/Group-10882637.png)](https://elementor.com/pricing/)[Wordpress Hosting The Fastest Track to a Top-Performing Website * Super-Fast Websites * Enterprise-Grade Security * Any Site, Every Business * 24/7 Expert Service From $8.99](https://elementor.com/pricing/)\\n\\n[Pro Website builder Build Any Type of Website * Drag & Drop Website Builder, No Code Required * Over 100 Widgets, for Every Purpose * Professional Design Features for Pixel Perfect Design From $4.99 ![Image 34](https://elementor.com/cdn-cgi/image/f=auto,w=748,h=480/blog/wp-content/uploads/2024/07/cta-banner-plugin.png)](https://elementor.com/pricing-plugin/)[Pro Website builder Build Any Type of Website * Drag & Drop Website Builder, No Code Required * Over 100 Widgets, for Every Purpose * Professional Design Features for Pixel Perfect Design * Marketing & eCommerce Features to Increase Conversion From $4.99](https://elementor.com/pricing-plugin/)\\n\\n[site mailer Improve Your Email Deliverability * Ensure Reliable Email Delivery for Your Website * Simple Setup, No SMTP Configuration Needed * Centralized Email Insights for Better Tracking Try It For Free ![Image 35](https://elementor.com/cdn-cgi/image/f=auto,w=680,h=446/blog/wp-content/uploads/2024/10/Group-1000004716.png)](https://elementor.com/products/site-mailer/)[site mailer Improve Your Email Deliverability * Ensure Reliable Email Delivery for Your Website * Simple Setup, No SMTP Configuration Needed * Centralized Email Insights for Better Tracking Try It For Free](https://elementor.com/products/site-mailer/)\\n\\n**What is n8n and How Does It Solve This Problem?**\\n---------------------------------------------------\\n\\nn8n is a workflow automation tool that gives you the building blocks to design these automated processes in a highly visual and flexible way. Instead of being a rigid, black-box solution, it provides a canvas where you can map out your business logic exactly as you envision it. It connects to hundreds of apps and services, allowing you to create chains of actions that are triggered by specific events.\\n\\n### **A Visual Approach to Automation**\\n\\nThe heart of n8n is its visual workflow editor. Imagine a digital whiteboard where each of your applications is a block, or a “node.” You place a node for your website form, another for your CRM, and another for your email service. You then draw lines, or “connections,” between them to dictate how data should flow.\\n\\nThis node-based approach is incredibly intuitive. It turns an abstract process into a concrete flowchart that anyone on your team can understand. You can see the entire journey your data takes, from the initial trigger to the final action, making it easy to build, troubleshoot, and modify your automations as your business needs evolve. This is a world away from writing complex integration code, making powerful automation accessible to a much broader audience of creators, marketers, and entrepreneurs.\\n\\n### **The Core Components of n8n**\\n\\nTo get started with n8n, you only need to understand a few key concepts. These are the fundamental building blocks of every automation you’ll create.\\n\\n*   **Nodes:** A node is the primary building block in n8n. Each node represents either an application (like Google Sheets, Slack, or WordPress), a core utility (like a function to edit data or add conditional logic), or a trigger. You add nodes to your workflow to perform specific actions.\\n*   **Connections:** These are the lines you draw between nodes. They define the path that your data follows. Data flows out of one node and becomes the input for the next, allowing you to chain actions together.\\n*   **Workflows:** A workflow is the entire canvas containing your collection of nodes and connections. It represents a complete automated process from start to finish. You can have many different workflows running in your n8n instance, each handling a different task.\\n*   **Triggers:** A trigger node is the starting point of a workflow. It’s the event that kicks everything off. Common triggers include a schedule (e.g., “run this workflow every Monday at 9 AM”), a new entry in a database, or receiving data from a webhook, which is a special [URL](https://elementor.com/blog/url/ \\\"URL\\\") that applications can send information to.\\n*   **Credentials:** To allow n8n to access your data in other applications (like posting to your Slack channel or adding a row to your private Google Sheet), you need to provide it with secure access. n8n stores these API keys and login details as encrypted credentials, which you can then reuse across all your workflows.\\n\\n### **The “Source-Available” Advantage: Flexibility and Control**\\n\\nOne of the most significant things that sets n8n apart from its competitors is its licensing model. It is “source-available” under a fair-code license. While this isn’t the same as pure open-source, it means you can view the source code and, most importantly, host the entire platform yourself. This opens up two distinct ways to use the tool, each with its own advantages.\\n\\n#### **Self-Hosting n8n**\\n\\nFor those with a bit of technical comfort, you can run n8n on your own server or private [cloud](https://elementor.com/pages/seo/cloud-based-web-hosting/ \\\"Best Cloud-Based Web Hosting\\\") infrastructure. This is the ultimate option for control and cost-effectiveness.\\n\\n*   **Data Privacy:** When you self-host, your data never leaves your infrastructure. Your credentials, customer information, and business logic remain entirely under your control, which is a critical requirement for businesses in regulated industries like healthcare or finance.\\n*   **Cost Control:** With self-hosting, you are not paying per workflow or per execution. Your only cost is the server itself. This means you can run millions of tasks without seeing your bill skyrocket, making it incredibly economical for high-volume automation.\\n*   **Unlimited Customization:** You have full control over your n8n instance, allowing you to tailor it to your specific needs.\\n\\n#### **n8n Cloud**\\n\\nIf managing servers isn’t your cup of tea, n8n also offers a managed Cloud version. This is the fastest and easiest way to get started. You simply sign up for an account, and n8n handles all the technical overhead of hosting, maintenance, and security. You get the same powerful workflow editor and all the core features without needing to worry about the underlying infrastructure. This option is perfect for users who want to focus purely on building automations.\\n\\n**Why Should a Web Creator or Marketer Care About n8n?**\\n--------------------------------------------------------\\n\\nAs a professional who builds websites, you are creating the digital front door for a business. But what happens after someone rings the bell? A website that is disconnected from the rest of the business’s operations is only doing half its job. This is where n8n becomes a superpower for web creators. It allows you to build the bridges that connect the website to the vital back-end processes that drive the business forward.\\n\\n“As web creators, our job extends beyond just design. We build the engines for our clients’ businesses. Tools like n8n allow us to connect that engine to the rest of their operations, turning a beautiful website into a lead-generating, sales-driving, automated powerhouse.” – Itamar Haim, Web Development Expert\\n\\nBy integrating automation directly into the solutions you provide, you can offer significantly more value to your clients, streamline your own operations, and create truly intelligent, [responsive](https://elementor.com/blog/responsive-website/ \\\"responsive\\\") digital experiences.\\n\\n### **Supercharging Your Elementor Forms**\\n\\nA form on a website is the beginning of a conversation. Whether it’s a simple contact form, a detailed quote request, or a support ticket, the information submitted is valuable and time-sensitive. A powerful tool like the[Elementor Pro](https://elementor.com/pro) Form Builder gives you the flexibility to design any kind of form imaginable. With n8n, you can ensure the data from that form instantly and automatically triggers the right actions.\\n\\n#### **Use Case 1: Advanced Lead Management**\\n\\nImagine a potential client fills out a “Request a Quote” form on a website you built with Elementor. Instead of that submission just sitting in an email inbox, n8n can orchestrate a series of immediate actions.\\n\\n*   **Trigger:** A new Elementor form submission is sent to an n8n webhook URL.\\n*   **n8n Workflow:**\\n    1.   The webhook node receives the lead’s information (name, email, project details).\\n    2.   An **Asana node** creates a new task in the “New Leads” project and assigns it to a sales representative.\\n    3.   A **HubSpot node** creates a new contact and a new deal in the sales pipeline.\\n    4.   A **Mailchimp node** adds the contact to a “Prospective Clients” email list for a long-term nurture sequence.\\n    5.   A **Slack node** sends an instant notification to the #sales channel with the lead’s key details and a link to the CRM record.\\n\\nThis entire process happens in seconds, ensuring flawless data entry and immediate follow-up, dramatically increasing the chance of converting that lead into a customer.\\n\\n#### **Use Case 2: Automating Client Support**\\n\\nFor businesses that use their website for customer support, n8n can automate the entire ticketing and triage process.\\n\\n*   **Trigger:** A user submits a “Support Request” form on the website.\\n*   **n8n Workflow:**\\n    1.   The workflow is triggered by the form submission.\\n    2.   A **Conditional Node** (an “IF” node) checks the “Category” field of the form. If the category is “Billing,” the workflow proceeds down one path. If it’s “Technical Support,” it goes down another.\\n    3.   For billing, a **Freshdesk node** creates a new ticket and assigns it to the finance department.\\n    4.   For technical issues, a **Jira node** creates a new issue in the development team’s project.\\n    5.   Finally, a **Gmail node** sends a personalized confirmation email back to the user, letting them know their ticket has been received and routed to the correct team.\\n\\n### **Automating Your WooCommerce Store**\\n\\nFor [eCommerce](https://elementor.com/features/ecommerce/ \\\"eCommerce\\\") businesses, efficiency is everything. Using a tool like[Elementor’s WooCommerce Builder](https://elementor.com/features/woocommerce-builder) allows you to create a completely custom and beautiful shopping experience. n8n can handle the crucial post-purchase logistics automatically, ensuring a smooth process for both the business and the customer.\\n\\n#### **Use Case 3: Order Fulfillment and Invoicing**\\n\\nWhen a customer places a new order, a complex series of events needs to happen behind the scenes. n8n can manage this entire chain.\\n\\n*   **Trigger:** The WooCommerce node detects a new order.\\n*   **n8n Workflow:**\\n    1.   The trigger node fetches all the order details, including the products purchased, shipping address, and customer information.\\n    2.   A **Google Sheets node** adds a new row to an “Orders” spreadsheet for historical tracking and analysis.\\n    3.   A **QuickBooks node** generates a new invoice and marks it as paid.\\n    4.   A **ShipStation node** sends the shipping details to the fulfillment center to begin the packing and shipping process.\\n    5.   An **SMS node** (like Twilio) sends a text message to the customer confirming their order has been received and is being processed.\\n\\n### **Streamlining Content Marketing Workflows**\\n\\nCreating great content is only half the battle; promoting it effectively is just as important. n8n can build a content promotion engine that runs automatically every time you hit “Publish.”\\n\\n#### **Use Case 4: Content Promotion Engine**\\n\\n*   **Trigger:** The WordPress node detects a new post has been published.\\n*   **n8n Workflow:**\\n    1.   The workflow fetches the new post’s title, URL, excerpt, and featured image.\\n    2.   A **Twitter node** composes and posts a tweet with the post title and a link.\\n    3.   A **LinkedIn node** shares the article with a professional audience.\\n    4.   An **Image Editor node** can even create a simple graphic for other social platforms by overlaying the post title on the featured image.\\n    5.   A **Buffer node** schedules several follow-up posts over the next few weeks to promote the article again.\\n\\n### **Automating Agency Operations and Client Reporting**\\n\\nFor digital agencies and freelancers, n8n can be a secret weapon for improving efficiency and delivering better service to clients.\\n\\n#### **Use Case 5: Automated Client Reports**\\n\\nManually compiling monthly reports for clients is a time-consuming but necessary task. With n8n, you can build a workflow that does it for you.\\n\\n*   **Trigger:** A Cron node is scheduled to run on the first day of every month.\\n*   **n8n Workflow:**\\n    1.   The workflow starts automatically on schedule.\\n    2.   A **Google Analytics node** pulls key website metrics for the previous month (sessions, users, conversion rate).\\n    3.   A **Google Ads node** fetches data on ad spend, clicks, and cost-per-conversion.\\n    4.   All this data is compiled and formatted.\\n    5.   A **Google Sheets node** populates a pre-made report [template](https://elementor.com/library/all-categories/ \\\"template\\\") with the new month’s data.\\n    6.   An **Email node** sends a message to the client with a summary of the month’s performance and a link to their updated dashboard.\\n\\n**Getting Started with n8n: A Practical Guide**\\n-----------------------------------------------\\n\\nJumping into n8n is easier than you might think. Whether you opt for the simplicity of the Cloud version or the control of self-hosting, you can have your first workflow running in under an hour.\\n\\n### **Option 1: Setting up n8n Cloud**\\n\\nThis is the recommended path for most new users.\\n\\n1.   **Sign Up:** Go to the n8n website and sign up for a cloud account. They typically offer a free trial to get you started.\\n2.   **Log In:** Once you’ve created your account, you’ll be taken directly to your n8n dashboard.\\n3.   **Start Building:** That’s it. You’re ready to create your first workflow by clicking the “+” button and adding your first node.\\n\\n### **Option 2: Self-Hosting n8n**\\n\\nThis option is for users who want full control over their data and environment. If you’re already managing a server for something like[Elementor Hosting](https://elementor.com/hosting), you likely have the skills needed.\\n\\n1.   **Choose Your Environment:** You’ll need a server. This could be a virtual private server ([VPS](https://elementor.com/blog/vps/ \\\"VPS\\\")) from providers like DigitalOcean or Vultr, or even a machine running on your own premises.\\n2.   **Use Docker:** The easiest and most recommended way to install and manage n8n is with Docker. It packages the application and all its dependencies into a single, easy-to-run container.\\n3.   **Run the Command:** The n8n documentation provides a simple Docker command that you can copy and paste into your server’s terminal to [download](https://elementor.com/wordpress/ \\\"download\\\") and start n8n.\\n4.   **Access Your Instance:** Once it’s running, you can access your private n8n instance by navigating to your [server’s IP address in a web](https://elementor.com/blog/what-is-a-web-server/ \\\"What Is a Web Server? A Complete 2025 Guide on How They Work\\\") browser.\\n\\n### **Building Your First Workflow: Elementor Form to Google Sheets & Slack**\\n\\nLet’s walk through a tangible example: automatically saving new Elementor form submissions to a Google Sheet and sending a Slack notification.\\n\\n1.   **Set up the Trigger Node:** In your n8n canvas, add a new node and search for “Webhook.” This node will generate a unique URL. This is where Elementor will send the form data. Copy the “Test URL.”\\n2.   **Connect Your Elementor Form:** In your WordPress dashboard, edit the Elementor page with your form. Under the form’s “Actions After Submit” settings, add “Webhook.” Paste the Test URL you copied from n8n into the Webhook URL field. Save your page.\\n3.   **Listen for Data:** Back in n8n, click the “Listen for Test Event” button on your Webhook node. Now, go to your live website and submit your Elementor form once with some sample data. You should see the data appear in n8n, confirming the connection is working.\\n4.   **Add a Google Sheets Node:** Click the “+” icon on the Webhook node and search for “Google Sheets.” Select the “Append or Update Row” option.\\n5.   **Authenticate with Google:** In the Google Sheets node settings, you’ll need to create a new credential. Click “Create New,” sign in with your Google account, and grant n8n permission. This is a one-time setup.\\n6.   **Map the Data:** Now, you need to tell n8n which form field goes into which column. \\n    *   In the “Sheet Name” field, select your spreadsheet.\\n    *   In the “Columns” section, you will map the data. For your “Name” column in Google Sheets, you’ll drag the name field from the Webhook node’s output. Do the same for email, phone, and any other fields. This visual mapping process is called using “expressions.”\\n\\n7.   **Add a Slack Node:** Click the “+” on the Google Sheets node and add a “Slack” node. Authenticate your Slack account just as you did with Google.\\n8.   **Compose the Message:** In the “Text” field of the Slack node, write your notification message. You can pull in data from the form dynamically. For example: “🚀 New Lead! Name: {{$json[“form_fields”][“name”]}}, Email: {{$json[“form_fields”][“email”]}}”.\\n9.   **Test and Activate:** You can test each step by clicking the play icon. Once you’re happy with the result, save your work and click the toggle at the top of the screen to “Activate” the workflow. Now, every real form submission will run through this automation.\\n\\n**n8n vs. The Competition: A Neutral Look**\\n-------------------------------------------\\n\\nn8n operates in a competitive space with well-established players. Here’s a factual, neutral comparison to help you understand where it fits.\\n\\n### **n8n vs. Zapier**\\n\\n*   **Zapier:** Zapier is the market leader in the no-code automation space. Its biggest strengths are its massive library of over 5,000 official app integrations and its extremely user-friendly interface, which is designed for non-technical users. It operates on a task-based pricing model, where you pay based on how many times your automations run.\\n*   **n8n:** n8n has fewer pre-built app integrations, but its powerful HTTP Request node allows it to connect to virtually any service with an API. Its visual editor allows for more complex logic, including branching paths and merging data, which can be more difficult in Zapier. The primary advantage is the self-hosting option, which makes it far more cost-effective for high-volume tasks and provides complete data privacy. n8n is generally better suited for developers, power users, or businesses with specific data or cost constraints.\\n\\n### **n8n vs. Make (formerly Integromat)**\\n\\n*   **Make:** Make is also known for its highly visual and detailed interface, which many users find powerful for visualizing complex scenarios. It offers a high degree of control over data manipulation and is very capable. Its pricing is based on the number of “operations,” or steps, your workflows execute.\\n*   **n8n:** The core differentiators for n8n remain its source-available nature and self-hosting capabilities. The data flow in n8n, moving linearly from node to node, can feel more straightforward to some than Make’s more free-form canvas. Both are powerful tools, but n8n’s model provides a unique advantage for those prioritizing control, privacy, and cost at scale.\\n\\n### **When to Choose n8n**\\n\\nYou should seriously consider n8n if:\\n\\n*   **You need complex logic:** Your workflow requires multiple “if/else” branches, loops, or custom data transformations.\\n*   **Data privacy is a top priority:** You need to keep all your customer and business data within your own secure infrastructure.\\n*   **You have high-volume automations:** Your workflows will run thousands or millions of times a month, and per-task pricing models are not economical.\\n*   **You want to connect to a custom or niche API:** You need the flexibility of the HTTP Request node to integrate with services that don’t have an official integration on other platforms.\\n\\n**The Future of Automation and Web Creation**\\n---------------------------------------------\\n\\nThe integration of automation is no longer a luxury; it’s becoming a standard component of the modern web creator’s toolkit. As clients expect more than just a static brochure website, professionals who can deliver fully integrated, automated business solutions will have a significant competitive edge.\\n\\nWe are also seeing the rise of artificial intelligence within these platforms. Tools like[Elementor AI](https://elementor.com/products/ai) are already helping creators generate content and code more efficiently directly within the website building experience. Similarly, automation platforms are beginning to incorporate AI to help users build workflows more intelligently.\\n\\nThe convergence of powerful website creation platforms like[Elementor](https://elementor.com/) and flexible automation engines like n8n is empowering a new era of web creation. We are moving beyond building websites and are now engineering comprehensive digital systems that help businesses run smarter, faster, and more efficiently.\\n\\n**Frequently Asked Questions (FAQ)**\\n------------------------------------\\n\\n**1. Is n8n free?** n8n has a “source-available” version that is free to use if you host it yourself. You only pay for your server costs. They also offer a paid Cloud version, which includes hosting and management, with pricing based on the number of workflow executions.\\n\\n**2. What’s the main difference between n8n and Zapier?** The biggest differences are hosting and complexity. Zapier is a fully managed SaaS product with more pre-built integrations and a simpler interface. n8n allows for self-hosting (giving you data privacy and lower costs at scale) and is designed to handle more complex, multi-path workflows with custom logic.\\n\\n**3. Do I need to know how to code to use n8n?** No, you do not need to be a programmer to use n8n. The visual, node-based editor is designed for users of all skill levels. However, some familiarity with concepts like APIs and JSON data structures can be very helpful for building more advanced workflows, and you can use JavaScript in the Function node for custom code if you wish.\\n\\n**4. How many apps can I connect with n8n?** n8n has hundreds of pre-built nodes for popular applications. Crucially, it also has a generic HTTP Request node, which allows you to connect to thousands of other applications that have a REST API, making its integration potential nearly limitless.\\n\\n**5. What is a “webhook” and how do I use it with n8n?** A webhook is a special URL that an application can send data to whenever an event happens. In n8n, the Webhook node gives you a URL. You can paste this URL into another application (like an Elementor form’s settings). When the event occurs (a form is submitted), the application sends the data to your n8n URL, triggering your workflow.\\n\\n**6. Can I host n8n on my own server?** Yes. This is one of n8n’s key features. You can install and run the entire n8n platform on your own infrastructure using Docker or npm, giving you full control over your data and costs.\\n\\n**7. Is n8n secure?** Yes. When using n8n Cloud, they manage security for you. When self-hosting, you are responsible for securing your server, but n8n itself handles credentials securely by encrypting them in your database.\\n\\n**8. What are some of the most popular n8n integrations?** Some of the most commonly used nodes include Google Sheets, Slack, Discord, OpenAI, HubSpot, Salesforce, WordPress, WooCommerce, and database nodes like PostgreSQL and MySQL.\\n\\n**9. How does n8n’s pricing work?** If you self-host, it’s free, and you just pay for your server. The n8n Cloud pricing is based on a tiered subscription model that gives you a certain number of workflow executions per month. This is often more generous than the “per-task” pricing of some competitors.\\n\\n**10. Can n8n handle complex, multi-step workflows?** Absolutely. This is one of its core strengths. n8n’s visual editor makes it easy to build workflows with multiple branches using “IF” nodes, merge data from different sources, and create custom logic that can handle very sophisticated automation scenarios.\\n\\nShare\\n\\n##### Looking for fresh content?\\n\\n Get articles and insights from our weekly newsletter. \\n\\n Email  \\n\\nSubscribe\\n\\nBy entering your email, you agree to receive Elementor emails, including marketing emails,\\n\\nand agree to our [Terms & Conditions](https://elementor.com/blog/terms/ \\\"https://elementor.com/blog/terms/\\\") and [Privacy Policy](https://elementor.com/blog/about/privacy/ \\\"https://elementor.com/blog/about/privacy/\\\").\\n\\n[![Image 36: Picture of Itamar Haim](https://secure.gravatar.com/avatar/830174068538633c83fd732c583ea1fe9d4c813314075640bf78d5a621982848?s=300&d=mm&r=g)](https://elementor.com/blog/author/itamarha/)\\n\\n[Itamar Haim](https://elementor.com/blog/author/itamarha/)\\n\\n Itamar Haim, SEO Team Lead at Elementor, is a digital strategist merging SEO & AEO / GEO, and web development. He leverages deep WordPress expertise to drive global organic growth, empowering businesses to navigate the AI era and ensuring top-tier search performance for millions of websites. \\n\\n##### You might also like\\n\\n[![Image 37](https://elementor.com/cdn-cgi/image/f=auto,w=1201,h=631/blog/wp-content/uploads/2025/12/imgi_30_Redesign-Your-Website_6.jpeg)](https://elementor.com/blog/how-to-use-an-ai-website-builder/)\\n\\n[How to Use an AI Website Builder: The Complete Expert Guide (2025)](https://elementor.com/blog/how-to-use-an-ai-website-builder/)\\n----------------------------------------------------------------------------------------------------------------------------------\\n\\n The landscape of web creation has shifted fundamentally. We have moved past the era where building a professional website required either an expensive... \\n\\n*    Itamar Haim \\n*   Created: Dec 19, 2025\\n*   0 Comments\\n\\n[![Image 38](https://elementor.com/cdn-cgi/image/f=auto,w=2560,h=1340/blog/wp-content/uploads/2025/12/imgi_3_imgi_3_05.08.21_The-Complete-Guide-to-Becoming-a-Web-Designer_2_1200_628_2-scaled-1.jpeg)](https://elementor.com/blog/what-is-a-website-builder-and-how-do-they-work/)\\n\\n[What Is a Website Builder? And How Do They Work? (The 2025 Expert Guide)](https://elementor.com/blog/what-is-a-website-builder-and-how-do-they-work/)\\n------------------------------------------------------------------------------------------------------------------------------------------------------\\n\\n The digital landscape has shifted fundamentally. We have moved past the era where building a professional digital presence required a computer science degree... \\n\\n*    Itamar Haim \\n*   Created: Dec 19, 2025\\n*   0 Comments\\n\\n##### Comments\\n\\nStart a New Website\\n-------------------\\n\\n[Get Started](https://elementor.com/pricing/)\\n\\n[ecommerce hosting Build Great Stores, Grow Your Sales * Incredibly Fast Store * Sales Optimization * Enterprise-Grade Security * 24/7 Expert Service From $14.99 ![Image 39](https://elementor.com/cdn-cgi/image/f=auto,w=652,h=480/blog/wp-content/uploads/2024/07/Frame-10886474.png)](https://elementor.com/pricing-ecommerce-hosting/)[ecommerce hosting Build Great Stores, Grow Your Sales * Incredibly Fast Store * Sales Optimization * Enterprise-Grade Security * 24/7 Expert Service From $14.99](https://elementor.com/pricing-ecommerce-hosting/)\\n\\n[Image optimizer Speed Up Your Website * Unlimited Websites * Unlimited Upload Size * Bulk Optimization * WebP Conversion Start Free Trial ![Image 40](https://elementor.com/cdn-cgi/image/f=auto,w=736,h=478/blog/wp-content/uploads/2024/07/Group-10882638.png)](https://elementor.com/products/image-optimizer/)[Image optimizer Speed Up Your Website * Unlimited Websites * Unlimited Upload Size * Bulk Optimization * WebP Conversion Start a Free Trial](https://elementor.com/products/image-optimizer/)\\n\\n[Elementor AI Discover your New Superpowers * Prompt your Code & Add Custom Code, HTML, or CSS with ease * Generate or edit with AI for Tailored Images * Use Copilot for predictive stylized container layouts Start Free Trial No Credit Card Required. ![Image 41](https://elementor.com/cdn-cgi/image/f=auto,w=618,h=480/blog/wp-content/uploads/2024/07/Group-10882525.png)](https://elementor.com/pricing-ai/)[Elementor AI Discover your New Superpowers * Prompt your Code & Add Custom Code, HTML, or CSS with ease * Generate or edit with AI for Tailored Images * Use Copilot for predictive stylized container layouts * Craft or Translate Content at Lightning Speed Start Free Trial No Credit Card Required.](https://elementor.com/pricing-ai/)\\n\\n[Wordpress Hosting The Fastest Track to a Top-Performing Website * Super-Fast Websites * Enterprise-Grade Security * Any Site, Every Business * 24/7 Expert Service From $8.99 ![Image 42](https://elementor.com/cdn-cgi/image/f=auto,w=696,h=432/blog/wp-content/uploads/2024/07/Group-10882637.png)](https://elementor.com/pricing/)[Wordpress Hosting The Fastest Track to a Top-Performing Website * Super-Fast Websites * Enterprise-Grade Security * Any Site, Every Business * 24/7 Expert Service From $8.99](https://elementor.com/pricing/)\\n\\n[Pro Website builder Build Any Type of Website * Drag & Drop Website Builder, No Code Required * Over 100 Widgets, for Every Purpose * Professional Design Features for Pixel Perfect Design From $4.99 ![Image 43](https://elementor.com/cdn-cgi/image/f=auto,w=748,h=480/blog/wp-content/uploads/2024/07/cta-banner-plugin.png)](https://elementor.com/pricing-plugin/)[Pro Website builder Build Any Type of Website * Drag & Drop Website Builder, No Code Required * Over 100 Widgets, for Every Purpose * Professional Design Features for Pixel Perfect Design * Marketing & eCommerce Features to Increase Conversion From $4.99](https://elementor.com/pricing-plugin/)\\n\\n[site mailer Improve Your Email Deliverability * Ensure Reliable Email Delivery for Your Website * Simple Setup, No SMTP Configuration Needed * Centralized Email Insights for Better Tracking Try It For Free ![Image 44](https://elementor.com/cdn-cgi/image/f=auto,w=680,h=446/blog/wp-content/uploads/2024/10/Group-1000004716.png)](https://elementor.com/products/site-mailer/)[site mailer Improve Your Email Deliverability * Ensure Reliable Email Delivery for Your Website * Simple Setup, No SMTP Configuration Needed * Centralized Email Insights for Better Tracking Try It For Free](https://elementor.com/products/site-mailer/)\\n\\n[](https://wordpress.org/plugins/elementor/)[](https://github.com/elementor/elementor)[](https://www.instagram.com/elementor/)[](https://elemn.to/discord)[](https://www.facebook.com/elemntor/)[](https://x.com/elemntor)[](https://www.youtube.com/channel/UCt9kG_EDX8zwGSC1-ycJJVA?sub_confirmation=1)[](https://www.tiktok.com/@elementor)[](https://www.linkedin.com/company/elementor/)\\n\\nElementor is the leading website builder platform for professionals and business owners on WordPress. Whether you’re a developer, designer, marketer, or business owner, Elementor empowers you to create stunning, high-performing websites. With a new website created every 10 seconds, Elementor empowers you to build and manage your online presence effectively.\\n\\n© Elementor. All rights reserved\\n\\n**Subscribe to our newsletter**\\n\\nBy entering your email, you agree to our\\n\\n[Terms & Conditions](https://elementor.com/terms/) and [Privacy Policy](https://elementor.com/about/privacy/).\\n\\nWeb Creation\\n\\n*   [Hosting for WordPress](https://elementor.com/hosting/)\\n*   [Hosting for WooCommerce](https://elementor.com/products/ecommerce-hosting/)\\n*   [Page Builder Plugin](https://elementor.com/products/page-builder-plugin/)\\n*   [Hello Theme](https://elementor.com/themes/hello-theme/)\\n*   [Dynamic Content](https://elementor.com/features/dynamic-content/)\\n*   [eCommerce](https://elementor.com/features/ecommerce/)\\n*   [Theme Builder](https://elementor.com/features/theme-builder/)\\n*   [Landing Page Builder](https://elementor.com/features/landing-page-builder/)\\n*   [Popup Builder](https://elementor.com/features/popup-builder/)\\n*   [Form Builder](https://elementor.com/features/form-builder/)\\n*   [Contact Buttons](https://elementor.com/features/contact-button/)\\n*   [Workflow Optimization](https://elementor.com/features/workflow/)\\n*   [Angie - Agentic AI](https://elementor.com/products/angie-ai-for-wordpress/)\\n*   [AI Site Planner](https://elementor.com/ai-site-planner/)\\n*   [Ally Web Accessibility](https://elementor.com/products/ally-web-accessibility/)\\n*   [Image Optimizer](https://elementor.com/products/image-optimizer/)\\n*   [Site Mailer](https://elementor.com/products/site-mailer/)\\n*   [WooCommerce Builder](https://elementor.com/features/woocommerce-builder/)\\n*   [Link in Bio](https://elementor.com/features/link-in-bio/)\\n*   [Send by Elementor](https://send2.co/)\\n\\nElementor For\\n\\n*   [eCommerce](https://elementor.com/solutions/ecommerce/)\\n*   [Agencies](https://elementor.com/solutions/agency/)\\n*   [Enterprise](https://elementor.com/solutions/enterprise/)\\n*   [Web Designers](https://elementor.com/for/designer/)\\n*   [Marketers](https://elementor.com/for/marketer/)\\n\\nResources\\n\\n*   [Help Center](https://elementor.com/help/)\\n*   [Academy](https://elementor.com/academy/)\\n*   [Blog](https://elementor.com/blog/)\\n*   [Add-Ons](https://elementor.com/addons/)\\n*   [Roadmap](https://elementor.com/roadmap/)\\n*   [Developers Website](https://developers.elementor.com/)\\n*   [Support](https://elementor.com/care/)\\n*   [Web Creators Glossary](https://elementor.com/resources/glossary/)\\n*   [Integrations](https://elementor.com/features/integrations/)\\n*   [Web Creator Stories](https://elementor.com/web-creators/)\\n*   [Meetups](https://elementor.com/community/meetups/)\\n*   [AI Prompt Library](https://prompts.elementor.com/)\\n*   [Angie Prompt Library](https://elementor.com/angie-prompt-library/)\\n*   [Free Elementor Download](https://elementor.com/free-download/)\\n*   [WordPress Download](https://elementor.com/wordpress/)\\n*   [GIF Compressor](https://elementor.com/tools/gif-compressor/)\\n*   [PNG Compressor](https://elementor.com/tools/png-compressor/)\\n*   [JPG Compressor](https://elementor.com/tools/jpg-compressor/)\\n*   [WebP Converter](https://elementor.com/tools/webp-converter/)\\n*   [Domain Name Search](https://elementor.com/free-domain-name/)\\n*   [Business Name Generator](https://elementor.com/tools/business-name-generator/)\\n*   [Resources](https://elementor.com/blog/category/resources/)\\n\\nCompany\\n\\n*   [About Us](https://elementor.com/about/)\\n*   [Contact Us](https://elementor.com/contact/)\\n*   [Careers](https://elementor.careers/explore/)\\n*   [FAQs](https://elementor.com/faq/)\\n*   [Affiliate Program](https://elementor.com/affiliates/)\\n*   [Trust Center](https://elementor.com/trust/)\\n*   [Media](https://elementor.com/logos/)\\n*   [Trademark](https://elementor.com/terms/trademark-guidelines/)\\n*   [Terms & Conditions](https://elementor.com/terms/)\\n*   [AI Terms & Conditions](https://elementor.com/terms/elementor-ai-terms-and-conditions/)\\n*   [Privacy Policy](https://elementor.com/about/privacy/)\\n*   [Cookie Policy](https://elementor.com/terms/cookie-policy/)\\n*   [Do Not Sell or Share My Info](https://elementor.com/terms/do-not-sell-or-share-my-info/)\\n*   [Accessibility Statement](https://elementor.com/terms/accessibility/)\\n*   [Open-Source Software Components](https://elementor.com/open-source-software-components/)\\n\\nPricing\\n\\n*   [Hosting for WordPress](https://elementor.com/pricing/)\\n*   [Hosting for WooCommerce](https://elementor.com/pricing-ecommerce-hosting/)\\n*   [Page Builder Plugin](https://elementor.com/pricing-plugin/)\\n\\n[Hosted with](https://elementor.com/hosting/)![Image 45: Start a chat with an Elementor agent](blob:http://localhost/757f4eee2f9c5ca901a590679d518944)![Image 46: Cookiebot session tracker icon loaded](https://imgsct.cookiebot.com/1.gif?dgi=d19559e9-f3a6-4207-8fb0-5d00e97d48b5)\\n\\n![Image 47](https://bat.bing.com/action/0?ti=1111111&tm=gtm002&Ver=2&mid=fd0ecd20-ffe0-41ce-bc3d-72df1c864802&bo=1&sid=ff4cb950de1011f09814a5afea58c142&vid=ff4ceeb0de1011f0a575e53f93a95994&vids=1&msclkid=N&pi=918639831&lg=en-US&sw=800&sh=600&sc=24&tl=What%20is%20n8n%3F%20An%20In-Depth%20Guide%20to%20Workflow%20Automation&p=https%3A%2F%2Felementor.com%2Fblog%2Fwhat-is-n8n%2F&r=&lt=6069&evt=pageLoad&sv=2&cdb=AQIT&rn=866540)\",\"publishedTime\":\"2025-10-16T05:58:56+00:00\",\"metadata\":{\"lang\":\"en-US\",\"viewport\":\"width=device-width, initial-scale=1\",\"robots\":\"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\",\"description\":\"In today's digital landscape, businesses rely on a dizzying array of specialized applications to function. You have a CRM for customer relationships, an email platform for marketing, a project management tool for tasks, and a dozen others, each handling a critical piece of the puzzle. The problem is that these applications often exist in their own silos, creating digital islands that require constant manual effort to bridge. This is where workflow automation becomes essential.\",\"og:locale\":\"en_US\",\"og:type\":\"article\",\"og:title\":\"What is n8n? An In-Depth Guide to Workflow Automation\",\"og:description\":\"In today's digital landscape, businesses rely on a dizzying array of specialized applications to function. You have a CRM for customer relationships, an email platform for marketing, a project management tool for tasks, and a dozen others, each handling a critical piece of the puzzle. The problem is that these applications often exist in their own silos, creating digital islands that require constant manual effort to bridge. This is where workflow automation becomes essential.\",\"og:url\":\"https://elementor.com/blog/what-is-n8n/\",\"og:site_name\":\"Blog\",\"article:publisher\":\"https://www.facebook.com/elemntor/\",\"article:published_time\":\"2025-10-16T05:58:56+00:00\",\"article:modified_time\":\"2025-11-12T11:32:37+00:00\",\"og:image\":\"https://elementor.com/blog/wp-content/uploads/2025/10/imgi_23_2021_11_Herding-Cats-—-Lessons-Learned-While-Developing-for-the-WordPress-Environment-01.jpeg\",\"og:image:width\":\"1200\",\"og:image:height\":\"630\",\"og:image:type\":\"image/jpeg\",\"author\":\"Itamar Haim\",\"twitter:card\":\"summary_large_image\",\"twitter:creator\":\"@elemntor\",\"twitter:site\":\"@elemntor\",\"twitter:label1\":\"Written by\",\"twitter:data1\":\"Itamar Haim\",\"twitter:label2\":\"Est. reading time\",\"twitter:data2\":\"18 minutes\",\"generator\":\"WPML ver:4.7.6 stt:37,1,4,3,27,42,2;\",\"referrer\":\"no-referrer-when-downgrade\",\"msapplication-TileImage\":\"https://elementor.com/blog/wp-content/uploads/2021/07/elementor-favicon-512.png\",\"traceparent\":\"00-9b13cad6624c393e0000001766282494-9b13cad6624c393e-01\"},\"external\":{\"profile\":{\"https://gmpg.org/xfn/11\":{}},\"canonical\":{\"https://elementor.com/blog/what-is-n8n/\":{}},\"dns-prefetch\":{\"https://cdn.elementor.com/\":{}},\"alternate\":{\"https://elementor.com/blog/feed/\":{\"type\":\"application/rss+xml\",\"title\":\"Blog » Feed\"},\"https://elementor.com/blog/comments/feed/\":{\"type\":\"application/rss+xml\",\"title\":\"Blog » Comments Feed\"},\"https://elementor.com/blog/what-is-n8n/feed/\":{\"type\":\"application/rss+xml\",\"title\":\"Blog » What is n8n? An In-Depth Guide to Workflow Automation Comments Feed\"},\"https://elementor.com/blog/wp-json/wp/v2/posts/141362\":{\"title\":\"JSON\",\"type\":\"application/json\"},\"https://elementor.com/blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Felementor.com%2Fblog%2Fwhat-is-n8n%2F\":{\"title\":\"oEmbed (JSON)\",\"type\":\"application/json+oembed\"},\"https://elementor.com/blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Felementor.com%2Fblog%2Fwhat-is-n8n%2F&format=xml\":{\"title\":\"oEmbed (XML)\",\"type\":\"text/xml+oembed\"}},\"https://api.w.org/\":{\"https://elementor.com/blog/wp-json/\":{}},\"EditURI\":{\"https://elementor.com/blog/xmlrpc.php?rsd\":{\"type\":\"application/rsd+xml\",\"title\":\"RSD\"}},\"shortlink\":{\"https://elementor.com/blog/?p=141362\":{}},\"icon\":{\"https://elementor.com/blog/wp-content/uploads/2021/07/elementor-favicon-512.png\":{\"sizes\":\"192x192\"}},\"apple-touch-icon\":{\"https://elementor.com/blog/wp-content/uploads/2021/07/elementor-favicon-512.png\":{}}},\"usage\":{\"tokens\":21832}}]",
                "tool_use_id": "toolu_01Mrj9Vv747wuBXEwjtgKJNC"
              }
            ]
          }
        ],
        "system": "You are a helpful assistant.\n\nThe user's current local date and time is: 2025-01-15T07:00:00.000-05:00 (timezone: America/New_York).\nWhen you need to reference \"now\", use this date and time.\n\nYou can only produce text responses.\nYou cannot create, generate, edit, or display images, videos, or other non-text content.\nIf the user asks you to generate or edit an image (or other media), explain that you are not able to do that and, if helpful, describe in words what the image could look like or how they could create it using external tools."
      },
      "rawBytes": "eyJtb2RlbCI6ImNsYXVkZS1vcHVzLTQtNS0yMDI1MTEwMSIsInN0cmVhbSI6dHJ1ZSwibWF4X3Rva2VucyI6ODE5MiwidG9vbHMiOlt7Im5hbWUiOiJTZWFyY2hfd2ViX2luX0ppbmFfQUkiLCJkZXNjcmlwdGlvbiI6IlNlYXJjaCB3ZWIgaW4gSmluYSBBSSIsImlucHV0X3NjaGVtYSI6eyJ0eXBlIjoib2JqZWN0IiwicHJvcGVydGllcyI6eyJTZWFyY2hfUXVlcnkiOnsidHlwZSI6InN0cmluZyJ9LCJTaW1wbGlmeSI6eyJ0eXBlIjoiYm9vbGVhbiJ9fSwicmVxdWlyZWQiOlsiU2VhcmNoX1F1ZXJ5IiwiU2ltcGxpZnkiXSwiYWRkaXRpb25hbFByb3BlcnRpZXMiOmZhbHNlLCIkc2NoZW1hIjoiaHR0cDovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC0wNy9zY2hlbWEjIn19XSwidGhpbmtpbmciOnsidHlwZSI6ImRpc2FibGVkIn0sIm1lc3NhZ2VzIjpbeyJyb2xlIjoidXNlciIsImNvbnRlbnQiOiJXaGF0IGlzIG44bj8ifSx7InJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbeyJ0eXBlIjoidGV4dCIsInRleHQiOiJDYWxsaW5nIFNlYXJjaCB3ZWIgaW4gSmluYSBBSSB3aXRoIGlucHV0OiB7XCJTZWFyY2hfUXVlcnlcIjpcIldoYXQgaXMgbjhuXCIsXCJTaW1wbGlmeVwiOnRydWUsXCJpZFwiOlwidG9vbHVfMDFNcmo5VnY3NDd3dUJYRXdqdGdLSk5DXCJ9In0seyJ0eXBlIjoidG9vbF91c2UiLCJpZCI6InRvb2x1XzAxTXJqOVZ2NzQ3d3VCWEV3anRnS0pOQyIsIm5hbWUiOiJTZWFyY2hfd2ViX2luX0ppbmFfQUkiLCJpbnB1dCI6eyJTZWFyY2hfUXVlcnkiOiJXaGF0IGlzIG44biIsIlNpbXBsaWZ5Ijp0cnVlLCJpZCI6InRvb2x1XzAxTXJqOVZ2NzQ3d3VCWEV3anRnS0pOQyJ9fV19LHsicm9sZSI6InVzZXIiLCJjb250ZW50IjpbeyJ0eXBlIjoidG9vbF9yZXN1bHQiLCJjb250ZW50IjoiW3tcInRpdGxlXCI6XCJuOG4uaW8gLSBBSSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2xcIixcInVybFwiOlwiaHR0cHM6Ly9uOG4uaW8vXCIsXCJkZXNjcmlwdGlvblwiOlwibjhuIGlzIGEgd29ya2Zsb3cgYXV0b21hdGlvbiBwbGF0Zm9ybSB0aGF0IHVuaXF1ZWx5IGNvbWJpbmVzIEFJIGNhcGFiaWxpdGllcyB3aXRoIGJ1c2luZXNzIHByb2Nlc3MgYXV0b21hdGlvbiwgZ2l2aW5nIHRlY2huaWNhbCB0ZWFtcyB0aGUgZmxleGliaWxpdHkgb2YgY29kZSB3aXRoIHRoZSBzcGVlZCBvZiBuby1jb2RlLlwiLFwiY29udGVudFwiOlwiQUkgV29ya2Zsb3cgQXV0b21hdGlvbiBQbGF0Zm9ybSAmIFRvb2xzIC0gbjhuXFxuPT09PT09PT09PT09PT09XFxuXFxuR28gZnJvbSBwcm9tcHQgdG8gcG9zc2liaWxpdHkgd2l0aCBBSSBXb3JrZmxvdyBCdWlsZGVyIFtCZXRhXVxcblxcbltMZWFybiBob3ddKGh0dHBzOi8vZG9jcy5uOG4uaW8vcmVsZWFzZS1ub3Rlcy8jYWktd29ya2Zsb3ctYnVpbGRlci1iZXRhKVxcblxcbltuOG4uaW9dKGh0dHBzOi8vbjhuLmlvLylbbjhuLmlvXShodHRwczovL244bi5pby8pXFxuKiAgIFtQcm9kdWN0XShodHRwczovL244bi5pby9mZWF0dXJlcy8pXFxuICAgICogICBbUHJvZHVjdCBvdmVydmlld10oaHR0cHM6Ly9uOG4uaW8vZmVhdHVyZXMvKVxcbiAgICAqICAgW0ludGVncmF0aW9uc10oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zLylcXG4gICAgKiAgIFtUZW1wbGF0ZXNdKGh0dHBzOi8vbjhuLmlvL3dvcmtmbG93cy8pXFxuICAgICogICBbQUldKGh0dHBzOi8vbjhuLmlvL2FpLylcXG5cXG4qICAgVXNlIGNhc2VzIFxcbiAgICAqICAgW0J1aWxkaW5nIEFJIGFnZW50c10oaHR0cHM6Ly9uOG4uaW8vYWktYWdlbnRzLylcXG4gICAgKiAgIFtSQUddKGh0dHBzOi8vbjhuLmlvL3JhZy8pXFxuICAgICogICBbSVQgb3BlcmF0aW9uc10oaHR0cHM6Ly9uOG4uaW8vaXRvcHMvKVxcbiAgICAqICAgW1NlY3VyaXR5IG9wZXJhdGlvbnNdKGh0dHBzOi8vbjhuLmlvL3NlY29wcy8pXFxuICAgICogICBbRW1iZWRkZWQgYXV0b21hdGlvbl0oaHR0cHM6Ly9uOG4uaW8vZW1iZWQvKVxcbiAgICAqICAgW0xlYWQgYXV0b21hdGlvbl0oaHR0cHM6Ly9uOG4uaW8vYXV0b21hdGUtbGVhZC1tYW5hZ2VtZW50LylcXG4gICAgKiAgIFtTdXBlcmNoYXJnZSB5b3VyIENSTV0oaHR0cHM6Ly9uOG4uaW8vc3VwZXJjaGFyZ2UteW91ci1jcm0vKVxcbiAgICAqICAgW0xpbWl0bGVzcyBpbnRlZ3JhdGlvbnNdKGh0dHBzOi8vbjhuLmlvL2xpbWl0bGVzcy1pbnRlZ3JhdGlvbnMvKVxcbiAgICAqICAgW0JhY2tlbmQgcHJvdG90eXBpbmddKGh0dHBzOi8vbjhuLmlvL3NhYXMvKVxcblxcbiogICBbRG9jc10oaHR0cHM6Ly9kb2NzLm44bi5pby8pXFxuICAgICogICBbU2VsZi1ob3N0IG44bl0oaHR0cHM6Ly9kb2NzLm44bi5pby9ob3N0aW5nKVxcbiAgICAqICAgW0RvY3VtZW50YXRpb25dKGh0dHBzOi8vZG9jcy5uOG4uaW8vKVxcbiAgICAqICAgW091ciBsaWNlbnNlXShodHRwczovL2RvY3MubjhuLmlvL2Nob29zZS1uOG4vZmFpcmNvZGUtbGljZW5zZSlcXG4gICAgKiAgIFtSZWxlYXNlIG5vdGVzXShodHRwczovL2RvY3MubjhuLmlvL3JlbGVhc2Utbm90ZXMvKVxcblxcbiogICBDb21tdW5pdHkgXFxuICAgICogICBbRm9ydW1dKGh0dHBzOi8vY29tbXVuaXR5Lm44bi5pby8pXFxuICAgICogICBbRGlzY29yZF0oaHR0cHM6Ly9kaXNjb3JkLmdnL1hQS2VLWGVCN2QpXFxuICAgICogICBbQ2FyZWVyc10oaHR0cHM6Ly9uOG4uaW8vY2FyZWVycy8pXFxuICAgICogICBbQmxvZ10oaHR0cHM6Ly9ibG9nLm44bi5pby8pXFxuICAgICogICBbQ3JlYXRvcnNdKGh0dHBzOi8vbjhuLmlvL2NyZWF0b3JzLylcXG4gICAgKiAgIFtDb250cmlidXRlXShodHRwczovL2RvY3MubjhuLmlvL2hlbHAtY29tbXVuaXR5L2NvbnRyaWJ1dGluZy8pXFxuICAgICogICBbSGlyZSBhbiBleHBlcnRdKGh0dHBzOi8vZXhwZXJ0cy5uOG4uaW8vKVxcbiAgICAqICAgW1N1cHBvcnRdKGh0dHBzOi8vbjhuLmlvL3N1cHBvcnQvKVxcbiAgICAqICAgW0V2ZW50c10oaHR0cHM6Ly9uOG4uaW8vY29tbXVuaXR5L2V2ZW50cy8pXFxuXFxuKiAgIFtFbnRlcnByaXNlXShodHRwczovL244bi5pby9lbnRlcnByaXNlLylcXG4qICAgW1ByaWNpbmddKGh0dHBzOi8vbjhuLmlvL3ByaWNpbmcvKVxcblxcbltHaXRIdWIgMTY0LDA2N10oaHR0cHM6Ly9naXRodWIuY29tL244bi1pby9uOG4pW1NpZ24gaW5dKGh0dHBzOi8vYXBwLm44bi5jbG91ZC9sb2dpbilbR2V0IFN0YXJ0ZWRdKGh0dHBzOi8vYXBwLm44bi5jbG91ZC9yZWdpc3RlcilcXG5cXG4hW0ltYWdlIDc6IEhlcm8gaW1hZ2VdKGh0dHBzOi8vbjhuLmlvL2ltYWdlcy9oZXJvLWJnLndlYnApXFxuXFxuRmxleGlibGUgQUkgd29ya2Zsb3cgYXV0b21hdGlvbiBmb3IgdGVjaG5pY2FsIHRlYW1zXFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuXFxuQnVpbGQgd2l0aCB0aGUgcHJlY2lzaW9uIG9mIGNvZGUgb3IgdGhlIHNwZWVkIG9mIGRyYWctbi1kcm9wLiBIb3N0IHdpdGggb24tcHJlbSBjb250cm9sIG9yIGluLXRoZS1jbG91ZCBjb252ZW5pZW5jZS4gbjhuIGdpdmVzIHlvdSBtb3JlIGZyZWVkb20gdG8gaW1wbGVtZW50IG11bHRpLXN0ZXAgQUkgYWdlbnRzIGFuZCBpbnRlZ3JhdGUgYXBwcyB0aGFuIGFueSBvdGhlciB0b29sLlxcblxcbltHZXQgc3RhcnRlZCBmb3IgZnJlZV0oaHR0cHM6Ly9hcHAubjhuLmNsb3VkL3JlZ2lzdGVyKVtUYWxrIHRvIHNhbGVzXShodHRwczovL244bi1jb21tdW5pdHkudHlwZWZvcm0uY29tL3RvL3k5WDJZdUdhKVxcblxcbioqSVQgT3BzKiogY2FuXFxuXFxu4pqhIE9uLWJvYXJkIG5ldyBlbXBsb3llZXNcXG5cXG4qKlNlYyBPcHMqKiBjYW5cXG5cXG7imqEgRW5yaWNoIHNlY3VyaXR5IGluY2lkZW50IHRpY2tldHNcXG5cXG4qKkRldiBPcHMqKiBjYW5cXG5cXG7imqEgQ29udmVydCBuYXR1cmFsIGxhbmd1YWdlIGludG8gQVBJIGNhbGxzXFxuXFxuKipTYWxlcyoqIGNhblxcblxcbuKaoSBHZW5lcmF0ZSBjdXN0b21lciBpbnNpZ2h0cyBmcm9tIHJldmlld3NcXG5cXG4qKllvdSoqIGNhblxcblxcbuKWtu+4jyBXYXRjaCB0aGlzIHZpZGVvIHRvIGhlYXIgb3VyIHBpdGNoXFxuXFxuIVtJbWFnZSA4XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9Ib21lX0lUT19Qc181YTVhYWMzZmRhLndlYnApXFxuXFxuVGhlIHdvcmxkJ3MgbW9zdCBwb3B1bGFyIHdvcmtmbG93IGF1dG9tYXRpb24gcGxhdGZvcm0gZm9yIHRlY2huaWNhbCB0ZWFtcyBpbmNsdWRpbmdcXG5cXG4hW0ltYWdlIDldKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL3JlX2RlZGF0ZWNoXzE4ZTdlNjI1M2Iuc3ZnKVxcblxcbiFbSW1hZ2UgMTA6IHdheWZhaXJdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL3dheWZhaXJfYTdhYWNjZTgyOC5zdmcpXFxuXFxuIVtJbWFnZSAxMV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvcmVfdm9kYWZvbmVfNmRlZWQ3MWE2Yy5zdmcpXFxuXFxuIVtJbWFnZSAxMjogVW5iYWJlbF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvdW5iYWJlbF8xMzkyZjhiOGFjX2NjYTMxZWRhODYuc3ZnKVxcblxcbiFbSW1hZ2UgMTM6IG9uZmxlZXRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL29uZmxlZXRfMDRmMzA2OTAzMF9kZWFlOTNlNzM5LnN2ZylcXG5cXG4hW0ltYWdlIDE0XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9yZV9taXN0cmFsX2FpX2NmMWNlZGRjY2Uuc3ZnKVxcblxcbiFbSW1hZ2UgMTU6IE1pY3Jvc29mdF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvbWljcm9zb2Z0X2E2MGIwZGE3ZDguc3ZnKVxcblxcbiFbSW1hZ2UgMTY6IFNFQVRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL3NlYXRfNmIwZDQ3OWUzNi5zdmcpXFxuXFxuIVtJbWFnZSAxNzogWmVuZGVza10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvemVuZGVza18xMzY3ODhhMTU4XzZkNGM1OWIxMzkuc3ZnKVxcblxcbiFbSW1hZ2UgMThdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL3JlX3ZvZGFmb25lXzZkZWVkNzFhNmMuc3ZnKVxcblxcbiFbSW1hZ2UgMTk6IHBhZGRsZV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvcGFkZGxlX2U3NDU0MWY2YjNfNDA5NTNhMGY3Zi5zdmcpXFxuXFxuIVtJbWFnZSAyMF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvcmVfZGVsaXZlcnlfaGVyb18yZjI5YzA1NTUxLnN2ZylcXG5cXG5bIVtJbWFnZSAyMV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvVlNfQ29kZV9EYXJrX2I2YWEzZDg4N2Quc3ZnKSAqKlRvcCA1MCBHaXRodWIuKiogT3VyIDE2NC4xayBzdGFycyBwbGFjZSB1cyBhbW9uZyB0aGUgbW9zdCBwb3B1bGFyIHByb2plY3RzLl0oaHR0cHM6Ly9naXRodWIuY29tL244bi1pby9uOG4pWyFbSW1hZ2UgMjJdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL1ZTX0NvZGVfRGFya18xX2FiNGEyYmFkN2Iuc3ZnKSAqKjQuOS81IHN0YXJzIG9uIEcyLioqIFRvIHF1b3RlIFxcXCJBIHNvbGlkIGF1dG9tYXRpb24gdG9vbCB0aGF0IGp1c3Qgd29ya3MuXFxcIl0oaHR0cHM6Ly93d3cuZzIuY29tL3Byb2R1Y3RzL244bi9yZXZpZXdzKVshW0ltYWdlIDIzXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9zb2NpYWxfcHJvb2ZfMl8xNDc0NTgzM2YzLnN2ZykgKioyMDBrKyBjb21tdW5pdHkgbWVtYmVycy4qKiBUaGlzIHdvdWxkbid0IGJlIHBvc3NpYmxlIHdpdGhvdXQgeW91Ll0oaHR0cHM6Ly9jb21tdW5pdHkubjhuLmlvLylcXG5cXG5QbHVnIEFJIGludG8geW91ciBvd24gZGF0YSAmb3ZlciA1MDAgaW50ZWdyYXRpb25zXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbiFbSW1hZ2UgMjRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjU3YTA2MzdmZTQ3MDBjYmM5NDU3MV9WZWN0b3JfMV83MGVjYmFiNDIxLnBuZykhW0ltYWdlIDI1XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY1N2EwNWJlMjYyNGFiOWJhNDQ3YmJfbXlfU3FsX3N2Z19kOTc0MGFkNGY5LnBuZykhW0ltYWdlIDI2XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY1N2ExMDFjMGYxMzY4ZDk2ZTBiNGNfdmVjdG9yX1N0b3JlX1BpbmVjb25lX3N2Z181M2I5MzU1ZDQ0LnBuZykhW0ltYWdlIDI3XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY1N2EwNTZiNzgyMjU2ZGJiYjE0YzBfR3JvdXBfZjUzOGE0OGRhZi5wbmcpIVtJbWFnZSAyOF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNmE2OGZiZTBjYmVkYzljYTJkZGIzX21haWxjaGltcF9zdmdfNTc0YzJhNDY0MS5zdmcpIVtJbWFnZSAyOV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2U5YjIyN2EzMTk0Njk2ZTg5X2F1dG9taXp5X3BuZ182YzRjMmFlN2MwLnN2ZykhW0ltYWdlIDMwXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZDQ1ZGU2NWQ5ZDAxYmJlYzVfYWdpbGVfQ3JtX3BuZ19hYjBhNjgyM2E0LnN2ZykhW0ltYWdlIDMxXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY2YTY4ZjliZWZiY2U4ODVjZDRjODNfbWFya2V0c3RhY2tfc3ZnX2EzZWI3Nzk4ZTUuc3ZnKSFbSW1hZ2UgMzJdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkZWI2NTYwYjdjMWVjMGZjNF9haXJ0YWJsZV9zdmdfMzI2MGU5YTU3Mi5zdmcpIVtJbWFnZSAzM10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M4ZmJjNWZiNDE2NjRiNGJhX2FnZ3JlZ2F0ZV9zdmdfOTIwZDM2YzhiMS5zdmcpIVtJbWFnZSAzNF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2RjOTA1ZTA3NjYyMTc0MTRhX2FpX1RyYW5zZm9ybV9zdmdfMjk1ZGUyNjVhMi5zdmcpIVtJbWFnZSAzNV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M1MWQ3MmI5OTAzZGY5ZmRlX2FtcXBfc3ZnX2ViYzRjM2IzMmEuc3ZnKSFbSW1hZ2UgMzZdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjNzcxMGNhMTFlOWZmNzljM19hZmZpbml0eV9zdmdfYmZiNzcxMDZiZi5zdmcpIVtJbWFnZSAzN10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2RlYjY1NjBiN2MxZWMwZjZhX2FzYW5hX3N2Z181NTcxMmU0YmMwLnN2ZykhW0ltYWdlIDM4XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjY2JmYzEyY2ViMWZlNmFlNjhfYWN0aXZlX0NhbXBhaWduX3N2Z18zNWMxMDlhMmViLnN2ZykhW0ltYWdlIDM5XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZDE5ZWQ5MGJjNjg5NDYyYjNfYXV0b3BpbG90X3N2Z19iOWE2ZGIzNTI2LnN2ZykhW0ltYWdlIDQwXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyOWM3N2I0OGY1YzAzZGE3M2RfR3JvdXBfMl81OGFkNDI1ZDU4LnN2ZykhW0ltYWdlIDQxXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjYzdkMDViMDgyZDk4NjAwOTVfSW1nXzFfMGVmYTUxYTAzYy5zdmcpIVtJbWFnZSA0Ml0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3Mjk2NDRlNTdhZDRjNDg4MmRiX2QzYmYzYV9zdmdfNjc5YTNmNjJmMC5zdmcpIVtJbWFnZSA0M10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MjlmYmI3ZDA5NTIxOTE2YjM0X21pY3Jvc29mdF9PdXRsb29rX3N2Z19iYWY0ZWU0ZGRmLnN2ZykhW0ltYWdlIDQ0XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY1N2EwNjM3ZmU0NzAwY2JjOTQ1NzFfVmVjdG9yXzFfNzBlY2JhYjQyMS5wbmcpIVtJbWFnZSA0NV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNTdhMDViZTI2MjRhYjliYTQ0N2JiX215X1NxbF9zdmdfZDk3NDBhZDRmOS5wbmcpIVtJbWFnZSA0Nl0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNTdhMTAxYzBmMTM2OGQ5NmUwYjRjX3ZlY3Rvcl9TdG9yZV9QaW5lY29uZV9zdmdfNTNiOTM1NWQ0NC5wbmcpIVtJbWFnZSA0N10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNTdhMDU2Yjc4MjI1NmRiYmIxNGMwX0dyb3VwX2Y1MzhhNDhkYWYucG5nKSFbSW1hZ2UgNDhdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjZhNjhmYmUwY2JlZGM5Y2EyZGRiM19tYWlsY2hpbXBfc3ZnXzU3NGMyYTQ2NDEuc3ZnKSFbSW1hZ2UgNDldKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NlOWIyMjdhMzE5NDY5NmU4OV9hdXRvbWl6eV9wbmdfNmM0YzJhZTdjMC5zdmcpIVtJbWFnZSA1MF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2Q0NWRlNjVkOWQwMWJiZWM1X2FnaWxlX0NybV9wbmdfYWIwYTY4MjNhNC5zdmcpIVtJbWFnZSA1MV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNmE2OGY5YmVmYmNlODg1Y2Q0YzgzX21hcmtldHN0YWNrX3N2Z19hM2ViNzc5OGU1LnN2ZykhW0ltYWdlIDUyXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZGViNjU2MGI3YzFlYzBmYzRfYWlydGFibGVfc3ZnXzMyNjBlOWE1NzIuc3ZnKSFbSW1hZ2UgNTNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjOGZiYzVmYjQxNjY0YjRiYV9hZ2dyZWdhdGVfc3ZnXzkyMGQzNmM4YjEuc3ZnKSFbSW1hZ2UgNTRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkYzkwNWUwNzY2MjE3NDE0YV9haV9UcmFuc2Zvcm1fc3ZnXzI5NWRlMjY1YTIuc3ZnKSFbSW1hZ2UgNTVdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjNTFkNzJiOTkwM2RmOWZkZV9hbXFwX3N2Z19lYmM0YzNiMzJhLnN2ZykhW0ltYWdlIDU2XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjYzc3MTBjYTExZTlmZjc5YzNfYWZmaW5pdHlfc3ZnX2JmYjc3MTA2YmYuc3ZnKSFbSW1hZ2UgNTddKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkZWI2NTYwYjdjMWVjMGY2YV9hc2FuYV9zdmdfNTU3MTJlNGJjMC5zdmcpIVtJbWFnZSA1OF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2NiZmMxMmNlYjFmZTZhZTY4X2FjdGl2ZV9DYW1wYWlnbl9zdmdfMzVjMTA5YTJlYi5zdmcpIVtJbWFnZSA1OV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2QxOWVkOTBiYzY4OTQ2MmIzX2F1dG9waWxvdF9zdmdfYjlhNmRiMzUyNi5zdmcpIVtJbWFnZSA2MF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MjljNzdiNDhmNWMwM2RhNzNkX0dyb3VwXzJfNThhZDQyNWQ1OC5zdmcpIVtJbWFnZSA2MV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M3ZDA1YjA4MmQ5ODYwMDk1X0ltZ18xXzBlZmE1MWEwM2Muc3ZnKSFbSW1hZ2UgNjJdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzI5NjQ0ZTU3YWQ0YzQ4ODJkYl9kM2JmM2Ffc3ZnXzY3OWEzZjYyZjAuc3ZnKSFbSW1hZ2UgNjNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzI5ZmJiN2QwOTUyMTkxNmIzNF9taWNyb3NvZnRfT3V0bG9va19zdmdfYmFmNGVlNGRkZi5zdmcpXFxuXFxuIVtJbWFnZSA2NF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2RlYjY1NjBiN2MxZWMwZmM0X2FpcnRhYmxlX3N2Z18zMjYwZTlhNTcyLnN2ZykhW0ltYWdlIDY1XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjYzhmYmM1ZmI0MTY2NGI0YmFfYWdncmVnYXRlX3N2Z185MjBkMzZjOGIxLnN2ZykhW0ltYWdlIDY2XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZGM5MDVlMDc2NjIxNzQxNGFfYWlfVHJhbnNmb3JtX3N2Z18yOTVkZTI2NWEyLnN2ZykhW0ltYWdlIDY3XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjYzUxZDcyYjk5MDNkZjlmZGVfYW1xcF9zdmdfZWJjNGMzYjMyYS5zdmcpIVtJbWFnZSA2OF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M3NzEwY2ExMWU5ZmY3OWMzX2FmZmluaXR5X3N2Z19iZmI3NzEwNmJmLnN2ZykhW0ltYWdlIDY5XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZGViNjU2MGI3YzFlYzBmNmFfYXNhbmFfc3ZnXzU1NzEyZTRiYzAuc3ZnKSFbSW1hZ2UgNzBdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjYmZjMTJjZWIxZmU2YWU2OF9hY3RpdmVfQ2FtcGFpZ25fc3ZnXzM1YzEwOWEyZWIuc3ZnKSFbSW1hZ2UgNzFdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkMTllZDkwYmM2ODk0NjJiM19hdXRvcGlsb3Rfc3ZnX2I5YTZkYjM1MjYuc3ZnKSFbSW1hZ2UgNzJdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzI5Yzc3YjQ4ZjVjMDNkYTczZF9Hcm91cF8yXzU4YWQ0MjVkNTguc3ZnKSFbSW1hZ2UgNzNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjN2QwNWIwODJkOTg2MDA5NV9JbWdfMV8wZWZhNTFhMDNjLnN2ZykhW0ltYWdlIDc0XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyOTY0NGU1N2FkNGM0ODgyZGJfZDNiZjNhX3N2Z182NzlhM2Y2MmYwLnN2ZykhW0ltYWdlIDc1XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyOWZiYjdkMDk1MjE5MTZiMzRfbWljcm9zb2Z0X091dGxvb2tfc3ZnX2JhZjRlZTRkZGYuc3ZnKSFbSW1hZ2UgNzZdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzI5NDg1YWRkY2MyOGVjZmE3OF9JY29uXzQ0ZThlMzY5MDcuc3ZnKSFbSW1hZ2UgNzddKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzJkOTYwN2U2MWVlZWM5YWRkMl9idWJibGVfc3ZnX2ViODQxODQxN2Muc3ZnKSFbSW1hZ2UgNzhdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzI5ZDcyMTRkZjA3N2JkMWE4ZV9sbV9DaGF0X0F3c19CZWRyb2NrX3N2Z18xYWUzM2RmZWI1LnN2ZykhW0ltYWdlIDc5XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyYWE3ZTkxMTk3Zjc0ZGE3ODlfVmVjdG9yXzFfZDdiNGMyYjYxOS5zdmcpIVtJbWFnZSA4MF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MjliODM0NmVkMGVjZWJhN2Q4X21pY3Jvc29mdF9FeGNlbF9zdmdfZGM0NTU1NjhhZS5zdmcpIVtJbWFnZSA4MV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MmFlZGQ4ZDkwYmQ0ZjgxMzlmX3Bvc3RtYXJrX1RyaWdnZXJfcG5nXzc3YmFjY2NmZjcuc3ZnKSFbSW1hZ2UgODJdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzJhNWQ1Mjg3YzBlNzFmMGU2ZF9wb3N0X0hvZ19zdmdfMGU1YTI5Y2Q2NC5zdmcpIVtJbWFnZSA4M10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MmEzNTVmOWM4OWViMGZlMGEwX1ZlY3Rvcl8yXzQxZmM5OGEyZTUuc3ZnKSFbSW1hZ2UgODRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkZWI2NTYwYjdjMWVjMGZjNF9haXJ0YWJsZV9zdmdfMzI2MGU5YTU3Mi5zdmcpIVtJbWFnZSA4NV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M4ZmJjNWZiNDE2NjRiNGJhX2FnZ3JlZ2F0ZV9zdmdfOTIwZDM2YzhiMS5zdmcpIVtJbWFnZSA4Nl0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2RjOTA1ZTA3NjYyMTc0MTRhX2FpX1RyYW5zZm9ybV9zdmdfMjk1ZGUyNjVhMi5zdmcpIVtJbWFnZSA4N10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M1MWQ3MmI5OTAzZGY5ZmRlX2FtcXBfc3ZnX2ViYzRjM2IzMmEuc3ZnKSFbSW1hZ2UgODhdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjNzcxMGNhMTFlOWZmNzljM19hZmZpbml0eV9zdmdfYmZiNzcxMDZiZi5zdmcpIVtJbWFnZSA4OV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2RlYjY1NjBiN2MxZWMwZjZhX2FzYW5hX3N2Z181NTcxMmU0YmMwLnN2ZykhW0ltYWdlIDkwXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjY2JmYzEyY2ViMWZlNmFlNjhfYWN0aXZlX0NhbXBhaWduX3N2Z18zNWMxMDlhMmViLnN2ZykhW0ltYWdlIDkxXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZDE5ZWQ5MGJjNjg5NDYyYjNfYXV0b3BpbG90X3N2Z19iOWE2ZGIzNTI2LnN2ZykhW0ltYWdlIDkyXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyOWM3N2I0OGY1YzAzZGE3M2RfR3JvdXBfMl81OGFkNDI1ZDU4LnN2ZykhW0ltYWdlIDkzXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjYzdkMDViMDgyZDk4NjAwOTVfSW1nXzFfMGVmYTUxYTAzYy5zdmcpIVtJbWFnZSA5NF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3Mjk2NDRlNTdhZDRjNDg4MmRiX2QzYmYzYV9zdmdfNjc5YTNmNjJmMC5zdmcpIVtJbWFnZSA5NV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MjlmYmI3ZDA5NTIxOTE2YjM0X21pY3Jvc29mdF9PdXRsb29rX3N2Z19iYWY0ZWU0ZGRmLnN2ZykhW0ltYWdlIDk2XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyOTQ4NWFkZGNjMjhlY2ZhNzhfSWNvbl80NGU4ZTM2OTA3LnN2ZykhW0ltYWdlIDk3XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyZDk2MDdlNjFlZWVjOWFkZDJfYnViYmxlX3N2Z19lYjg0MTg0MTdjLnN2ZykhW0ltYWdlIDk4XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyOWQ3MjE0ZGYwNzdiZDFhOGVfbG1fQ2hhdF9Bd3NfQmVkcm9ja19zdmdfMWFlMzNkZmViNS5zdmcpIVtJbWFnZSA5OV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MmFhN2U5MTE5N2Y3NGRhNzg5X1ZlY3Rvcl8xX2Q3YjRjMmI2MTkuc3ZnKSFbSW1hZ2UgMTAwXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyOWI4MzQ2ZWQwZWNlYmE3ZDhfbWljcm9zb2Z0X0V4Y2VsX3N2Z19kYzQ1NTU2OGFlLnN2ZykhW0ltYWdlIDEwMV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MmFlZGQ4ZDkwYmQ0ZjgxMzlmX3Bvc3RtYXJrX1RyaWdnZXJfcG5nXzc3YmFjY2NmZjcuc3ZnKSFbSW1hZ2UgMTAyXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyYTVkNTI4N2MwZTcxZjBlNmRfcG9zdF9Ib2dfc3ZnXzBlNWEyOWNkNjQuc3ZnKSFbSW1hZ2UgMTAzXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmUzZDcyYTM1NWY5Yzg5ZWIwZmUwYTBfVmVjdG9yXzJfNDFmYzk4YTJlNS5zdmcpXFxuXFxuIVtJbWFnZSAxMDRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjZhNjhmYmUwY2JlZGM5Y2EyZGRiM19tYWlsY2hpbXBfc3ZnXzU3NGMyYTQ2NDEuc3ZnKSFbSW1hZ2UgMTA1XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZTliMjI3YTMxOTQ2OTZlODlfYXV0b21penlfcG5nXzZjNGMyYWU3YzAuc3ZnKSFbSW1hZ2UgMTA2XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZDQ1ZGU2NWQ5ZDAxYmJlYzVfYWdpbGVfQ3JtX3BuZ19hYjBhNjgyM2E0LnN2ZykhW0ltYWdlIDEwN10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNmE2OGY5YmVmYmNlODg1Y2Q0YzgzX21hcmtldHN0YWNrX3N2Z19hM2ViNzc5OGU1LnN2ZykhW0ltYWdlIDEwOF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2RlYjY1NjBiN2MxZWMwZmM0X2FpcnRhYmxlX3N2Z18zMjYwZTlhNTcyLnN2ZykhW0ltYWdlIDEwOV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M4ZmJjNWZiNDE2NjRiNGJhX2FnZ3JlZ2F0ZV9zdmdfOTIwZDM2YzhiMS5zdmcpIVtJbWFnZSAxMTBdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkYzkwNWUwNzY2MjE3NDE0YV9haV9UcmFuc2Zvcm1fc3ZnXzI5NWRlMjY1YTIuc3ZnKSFbSW1hZ2UgMTExXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjYzUxZDcyYjk5MDNkZjlmZGVfYW1xcF9zdmdfZWJjNGMzYjMyYS5zdmcpIVtJbWFnZSAxMTJdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjNzcxMGNhMTFlOWZmNzljM19hZmZpbml0eV9zdmdfYmZiNzcxMDZiZi5zdmcpIVtJbWFnZSAxMTNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkZWI2NTYwYjdjMWVjMGY2YV9hc2FuYV9zdmdfNTU3MTJlNGJjMC5zdmcpIVtJbWFnZSAxMTRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjYmZjMTJjZWIxZmU2YWU2OF9hY3RpdmVfQ2FtcGFpZ25fc3ZnXzM1YzEwOWEyZWIuc3ZnKSFbSW1hZ2UgMTE1XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZDE5ZWQ5MGJjNjg5NDYyYjNfYXV0b3BpbG90X3N2Z19iOWE2ZGIzNTI2LnN2ZykhW0ltYWdlIDExNl0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MjljNzdiNDhmNWMwM2RhNzNkX0dyb3VwXzJfNThhZDQyNWQ1OC5zdmcpIVtJbWFnZSAxMTddKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjN2QwNWIwODJkOTg2MDA5NV9JbWdfMV8wZWZhNTFhMDNjLnN2ZykhW0ltYWdlIDExOF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3Mjk2NDRlNTdhZDRjNDg4MmRiX2QzYmYzYV9zdmdfNjc5YTNmNjJmMC5zdmcpIVtJbWFnZSAxMTldKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzI5ZmJiN2QwOTUyMTkxNmIzNF9taWNyb3NvZnRfT3V0bG9va19zdmdfYmFmNGVlNGRkZi5zdmcpIVtJbWFnZSAxMjBdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjZhNjhmYmUwY2JlZGM5Y2EyZGRiM19tYWlsY2hpbXBfc3ZnXzU3NGMyYTQ2NDEuc3ZnKSFbSW1hZ2UgMTIxXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZTliMjI3YTMxOTQ2OTZlODlfYXV0b21penlfcG5nXzZjNGMyYWU3YzAuc3ZnKSFbSW1hZ2UgMTIyXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZDQ1ZGU2NWQ5ZDAxYmJlYzVfYWdpbGVfQ3JtX3BuZ19hYjBhNjgyM2E0LnN2ZykhW0ltYWdlIDEyM10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNmE2OGY5YmVmYmNlODg1Y2Q0YzgzX21hcmtldHN0YWNrX3N2Z19hM2ViNzc5OGU1LnN2ZykhW0ltYWdlIDEyNF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2RlYjY1NjBiN2MxZWMwZmM0X2FpcnRhYmxlX3N2Z18zMjYwZTlhNTcyLnN2ZykhW0ltYWdlIDEyNV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZmNGQ3Y2M4ZmJjNWZiNDE2NjRiNGJhX2FnZ3JlZ2F0ZV9zdmdfOTIwZDM2YzhiMS5zdmcpIVtJbWFnZSAxMjZdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkYzkwNWUwNzY2MjE3NDE0YV9haV9UcmFuc2Zvcm1fc3ZnXzI5NWRlMjY1YTIuc3ZnKSFbSW1hZ2UgMTI3XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjYzUxZDcyYjk5MDNkZjlmZGVfYW1xcF9zdmdfZWJjNGMzYjMyYS5zdmcpIVtJbWFnZSAxMjhdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjNzcxMGNhMTFlOWZmNzljM19hZmZpbml0eV9zdmdfYmZiNzcxMDZiZi5zdmcpIVtJbWFnZSAxMjldKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NkZWI2NTYwYjdjMWVjMGY2YV9hc2FuYV9zdmdfNTU3MTJlNGJjMC5zdmcpIVtJbWFnZSAxMzBdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjYmZjMTJjZWIxZmU2YWU2OF9hY3RpdmVfQ2FtcGFpZ25fc3ZnXzM1YzEwOWEyZWIuc3ZnKSFbSW1hZ2UgMTMxXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy82NmY0ZDdjZDE5ZWQ5MGJjNjg5NDYyYjNfYXV0b3BpbG90X3N2Z19iOWE2ZGIzNTI2LnN2ZykhW0ltYWdlIDEzMl0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3MjljNzdiNDhmNWMwM2RhNzNkX0dyb3VwXzJfNThhZDQyNWQ1OC5zdmcpIVtJbWFnZSAxMzNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZjRkN2NjN2QwNWIwODJkOTg2MDA5NV9JbWdfMV8wZWZhNTFhMDNjLnN2ZykhW0ltYWdlIDEzNF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvNjZlM2Q3Mjk2NDRlNTdhZDRjNDg4MmRiX2QzYmYzYV9zdmdfNjc5YTNmNjJmMC5zdmcpIVtJbWFnZSAxMzVdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzLzY2ZTNkNzI5ZmJiN2QwOTUyMTkxNmIzNF9taWNyb3NvZnRfT3V0bG9va19zdmdfYmFmNGVlNGRkZi5zdmcpXFxuXFxuW0Jyb3dzZSBhbGwgaW50ZWdyYXRpb25zXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvKVxcblxcblRoZSBmYXN0IHdheSB0byBhY3R1YWxseSBnZXQgQUkgd29ya2luZyBpbiB5b3VyIGJ1c2luZXNzXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG4hW0ltYWdlIDEzNjogU3RhcnNdKGh0dHBzOi8vbjhuLmlvL2ltYWdlcy9zdGFycy1iZy5zdmcpXFxuXFxuIyMjIEJ1aWxkIG11bHRpLXN0ZXAgYWdlbnRzIGNhbGxpbmcgY3VzdG9tIHRvb2xzXFxuXFxuQ3JlYXRlIGFnZW50aWMgc3lzdGVtcyBvbiBhIHNpbmdsZSBzY3JlZW4uIEludGVncmF0ZSBhbnkgTExNIGludG8geW91ciB3b3JrZmxvd3MgYXMgZmFzdCBhcyB5b3UgY2FuIGRyYWctbi1kcm9wLlxcblxcbltFeHBsb3JlIEFJXShodHRwczovL244bi5pby9haS8pXFxuXFxuIVtJbWFnZSAxMzc6IFRlYW1zIG9mIGFnZW50cywgY2FsbGluZyBjdXN0b20gdG9vbHNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL3RlYW1zX29mX2FnZW50X2UxZjdiNDdjMmYucG5nKVxcblxcbiBVcGRhdGUgRGV0ZWN0ZWQgUnVubmluZyBDdXN0b20gVW5pdCBUZXN0aW5nIFVwZGF0ZSBSb2xsZWQgQmFjayBBdXRvbWF0aWNhbGx5XFxuXFxuIElUIFRlYW0gTm90aWZpZWQgb2YgTmV3IFRpY2tldCBDdXN0b20gVW5pdCBUZXN0aW5nIEZhaWxlZCBVcGRhdGUgSW5zdGFsbGVkXFxuXFxuIVtJbWFnZSAxMzg6IExvY2FsIEFJXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9haV9sb2NhbF8wOTYzYjVmN2IyLnBuZykhW0ltYWdlIDEzOTogRnVsbHkgc2VsZi1ob3N0YWJsZV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvc2VsZl9ob3N0XzY2ZTU3OTUxYTgucG5nKVxcblxcbiMjIyBTZWxmLWhvc3QgZXZlcnl0aGluZyDigJMgaW5jbHVkaW5nIEFJIG1vZGVsc1xcblxcblByb3RlY3QgeW91ciBkYXRhIGJ5IGRlcGxveWluZyBvbi1wcmVtLlxcblxcbiogICBEZXBsb3kgd2l0aCBEb2NrZXIgICBcXG4qICAgQWNjZXNzIHRoZSBlbnRpcmUgc291cmNlIGNvZGUgb24gR2l0aHViICAgXFxuKiAgIEhvc3RlZCB2ZXJzaW9uIGFsc28gYXZhaWxhYmxlICAgXFxuXFxuIyMjIENoYXQgd2l0aCB5b3VyIG93biBkYXRhXFxuXFxuVXNlIFNsYWNrLCBUZWFtcywgU01TLCB2b2ljZSwgb3Igb3VyIGVtYmVkZGVkIGNoYXQgaW50ZXJmYWNlIHRvIGdldCBhY2N1cmF0ZSBhbnN3ZXJzIGZyb20geW91ciBkYXRhLCBjcmVhdGUgdGFza3MsIGFuZCBjb21wbGV0ZSB3b3JrZmxvd3MuXFxuXFxuV2hvIGhlbGQgbWVldGluZ3Mgd2l0aCBTcGFjZVggbGFzdCB3ZWVrP1xcblxcbk9uIFdlZG5lc2RheSwgSm9lIHVwZGF0ZWQgdGhlIHN0YXR1cyB0byBcXFwid29uXFxcIiBpbiBTYWxlc2ZvcmNlIGFmdGVyIGEgWm9vbSBjYWxsLlxcblxcbk9uIFRodXJzZGF5LCBTdWUgcHJvdmlkZWQgb24tc2l0ZSBzZXR1cCBhbmQgY2xvc2VkIHRoZSBTZXJ2aWNlTm93IHRpY2tldC5cXG5cXG5DcmVhdGUgYSB0YXNrIGluIEFzYW5hLi4uXFxuXFxuIVtJbWFnZSAxNDA6IENvZGUgLyBVSV0oaHR0cHM6Ly9uOG4uaW8vaW1hZ2VzL2NvZGUud2VicClcXG5cXG5Db2RlIHdoZW4geW91IG5lZWQgaXQsIFVJIHdoZW4geW91IGRvbid0XFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbk90aGVyIHRvb2xzIGxpbWl0IHlvdSB0byBlaXRoZXIgYSB2aXN1YWwgYnVpbGRpbmcgZXhwZXJpZW5jZSwgb3IgY29kZS4gV2l0aCBuOG4sIHlvdSBnZXQgdGhlIGJlc3Qgb2YgYm90aCB3b3JsZHMuXFxuXFxuKiAgICoqV3JpdGUgSmF2YVNjcmlwdCBvciBQeXRob24qKiAtIHlvdSBjYW4gYWx3YXlzIGZhbGwgYmFjayB0byBjb2RlICAgXFxuKiAgICoqQWRkIGxpYnJhcmllcyoqIGZyb20gbnBtIG9yIFB5dGhvbiBmb3IgZXZlbiBtb3JlIHBvd2VyICAgXFxuKiAgICoqUGFzdGUgY1VSTCByZXF1ZXN0cyoqIGludG8geW91ciB3b3JrZmxvdyAgIFxcbiogICAqKk1lcmdlIHdvcmtmbG93IGJyYW5jaGVzKiosIGRvbuKAmXQganVzdCBzcGxpdCB0aGVtICAgXFxuXFxuIVtJbWFnZSAxNDE6IFRodW5kZXJdKGh0dHBzOi8vbjhuLmlvL2ltYWdlcy90aHVuZGVyLndlYnApXFxuXFxuUnVuLiBUd2Vhay4gUmVwZWF0XFxuLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuVGhlIHNhbWUgc2hvcnQgZmVlZGJhY2sgbG9vcHMgdGhhdCBtYWtlIHlvdSBzbWlsZSBhdCB5b3VyIHNjcmlwdHMuXFxuXFxuKiAgICoqUmUtcnVuIHNpbmdsZSBzdGVwcyoqIHdpdGhvdXQgcmUtcnVubmluZyB0aGUgd2hvbGUgd29ya2Zsb3cgICBcXG4qICAgKipSZXBsYXkgb3IgbW9jayBkYXRhKiogdG8gYXZvaWQgd2FpdGluZyBmb3IgZXh0ZXJuYWwgc3lzdGVtcyAgIFxcbiogICAqKkRlYnVnIGZhc3QqKiwgd2l0aCBsb2dzIGluIGxpbmUgd2l0aCB5b3VyIGNvZGUgICBcXG4qICAgKipVc2UgMTcwMCsgdGVtcGxhdGVzKiogdG8ganVtcC1zdGFydCB5b3VyIHByb2plY3QgICBcXG5cXG5bU2VlIGZ1bGwgcHJvZHVjdCBvdmVydmlld10oaHR0cHM6Ly9uOG4uaW8vZmVhdHVyZXMvKVxcblxcbiBTZWUgVGhlIFJlc3VsdHNcXG5cXG5DYXNlIFN0dWRpZXNcXG4tLS0tLS0tLS0tLS1cXG5cXG4hW0ltYWdlIDE0MjogRGVsaXZlcnkgSGVyb10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvY3NfZGVsaXZlcnlfaGVyb183NDViYjdhYzgzLnN2ZylcXG5cXG5Ib3cgRGVsaXZlcnkgSGVybyBzYXZlZCAqKjIwMCBob3VycyBlYWNoIG1vbnRoKiogd2l0aCBhIHNpbmdsZSBJVE9wcyB3b3JrZmxvd1xcblxcbiogKiAqXFxuXFxuXFxcIldlIGhhdmUgc2VlbiBkcmFzdGljIGVmZmljaWVuY3kgaW1wcm92ZW1lbnRzIHNpbmNlIHdlIHN0YXJ0ZWQgdXNpbmcgbjhuIGZvciB1c2VyIG1hbmFnZW1lbnQuIEl0J3MgaW5jcmVkaWJseSBwb3dlcmZ1bCwgYnV0IGFsc28gc2ltcGxlIHRvIHVzZS5cXFwiXFxuXFxuIVtJbWFnZSAxNDNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL0UwMjk5Nl9ZRFNBS19VNF9URUVfNl9BQVdfOGY5NGYyMDZkMDIyXzUxMl85OTU2YWZlYTMyXzVjZjU4ZDU3ZTMuanBlZylcXG5cXG5EZW5uaXMgWmFocnRcXG5cXG5EaXJlY3RvciBvZiBHbG9iYWwgSVQgU2VydmljZSBEZWxpdmVyeVxcblxcbltSZWFkIENhc2UgU3R1ZHldKGh0dHBzOi8vbjhuLmlvL2Nhc2Utc3R1ZGllcy9kZWxpdmVyeS1oZXJvLylcXG5cXG4hW0ltYWdlIDE0NDogVGhlIFN0ZXBzdG9uZSBHcm91cF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvdGhlX3N0ZXBzdG9uZV9ncm91cF82ZGNjYzVlYjMyLndlYnApXFxuXFxuSG93IFN0ZXBTdG9uZSBmaW5pc2hlcyAqKjIgd2Vla3PigJkgd29yayBpbiBvbmx5IDIgaG91cnMqKiB3aXRoIG44biB3b3JrZmxvd3NcXG5cXG4qICogKlxcblxcbuKAnFdl4oCZdmUgc3BlZCB1cCBvdXIgaW50ZWdyYXRpb24gb2YgbWFya2V0cGxhY2UgZGF0YSBzb3VyY2VzIGJ5IDI1WC4gSXQgdGFrZXMgbWUgMiBob3VycyBtYXggdG8gY29ubmVjdCB1cCBBUElzIGFuZCB0cmFuc2Zvcm0gdGhlIGRhdGEgd2UgbmVlZC4gWW91IGNhbuKAmXQgZG8gdGhpcyB0aGF0IGZhc3QgaW4gY29kZS7igJ1cXG5cXG4hW0ltYWdlIDE0NV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvTHVrYV9QaWxpY19TdGVwc3RvbmVfNDQzZTAzNTFiZl80ZGJlMzBkYWZlLmpwZWcpXFxuXFxuTHVrYSBQaWxpY1xcblxcbk1hcmtldHBsYWNlIFRlY2ggTGVhZFxcblxcbltSZWFkIENhc2UgU3R1ZHldKGh0dHBzOi8vbjhuLmlvL2Nhc2Utc3R1ZGllcy9zdGVwc3RvbmUvKVxcblxcbiFbSW1hZ2UgMTQ2OiBTZXJ2ZXJdKGh0dHBzOi8vbjhuLmlvL2ltYWdlcy9zZXJ2ZXIucG5nKVxcblxcbiBFbnRlcnByaXNlLXJlYWR5XFxuXFxuU2VjdXJlLiBSZWxpYWJsZS4gQ29sbGFib3JhdGl2ZS5cXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcblJlbW92ZSBpbmVmZmljaWVuY2llcyBhY3Jvc3MgeW91ciBvcmcgYnkgcm9sbGluZyBvdXQgYXV0b21hdGlvbiBhcyByZWxpYWJseSBhcyB5b3UgZGVwbG95IGNvZGUuIFJ1biBuOG4gYWlyLWdhcHBlZCBvbiB5b3VyIHNlcnZlcnMgb3Igb24gb3VyIHNlY3VyZSBjbG91ZC1iYXNlZCBzb2x1dGlvbi5cXG5cXG5bRXhwbG9yZSBuOG4gZm9yIGVudGVycHJpc2VdKGh0dHBzOi8vbjhuLmlvL2VudGVycHJpc2UvKVtUYWxrIHRvIHNhbGVzXShodHRwczovL244bi1jb21tdW5pdHkudHlwZWZvcm0uY29tL3RvL3k5WDJZdUdhKVxcblxcbiogICAjIyMgU2VjdXJpdHlcXG5cXG5GdWxseSBvbi1wcmVtIG9wdGlvbiwgU1NPIFNBTUwsIGFuZCBMREFQLCBlbmNyeXB0ZWQgc2VjcmV0IHN0b3JlcywgdmVyc2lvbiBjb250cm9sLCBhZHZhbmNlZCBSQkFDIHBlcm1pc3Npb25zLiAgICBcXG4qICAgIyMjIFBlcmZvcm1hbmNlXFxuXFxuQXVkaXQgbG9ncyAmIGxvZyBzdHJlYW1pbmcgdG8gM3JkIHBhcnR5LCB3b3JrZmxvdyBoaXN0b3J5LCBjdXN0b20gdmFyaWFibGVzLCBleHRlcm5hbCBzdG9yYWdlLiAgICBcXG4qICAgIyMjIENvbGxhYm9yYXRpb25cXG5cXG5HaXQgQ29udHJvbCwgaXNvbGF0ZWQgZW52aXJvbm1lbnRzLCBtdWx0aS11c2VyIHdvcmtmbG93cy4gICAgXFxuXFxuKiAqICpcXG5cXG5cXFwiVGhlIGlkZWEgaXMgdGhhdCBldmVyeWJvZHkgaW4gdGhlIG9yZ2FuaXphdGlvbiBjYW4gdXNlIG44biB0byBtYW5hZ2UgZGF0YSByZXRyaWV2YWwgb3IgZGF0YSB0cmFuc2Zvcm1hdGlvbi5cXFwiXFxuXFxuIVtJbWFnZSAxNDc6IE1hcnRpbm8gQm9uZmlnbGlvbGldKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL01hcnRpbm9fQm9uZmlnbGlvbmlfOWEzYmY4NDhiMy5qcGVnKVxcblxcbk1hcnRpbm8gQm9uZmlnbGlvbGlcXG5cXG5TZW5pb3IgUHJvZHVjdCBNYW5hZ2VyXFxuXFxuW1NlZSB0aGUgY2FzZV0oaHR0cHM6Ly9uOG4uaW8vY2FzZS1zdHVkaWVzL211c2l4bWF0Y2gvKVxcblxcbiFbSW1hZ2UgMTQ4XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9TT0NfMl9iYWRnZV8xNTBweF8xYzQ4NWM3ZTVjLnBuZykhW0ltYWdlIDE0OV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvZ2Rwcl9kNmI5MmQ4NWYxLnN2ZylbIVtJbWFnZSAxNTBdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL2xlZ2FsX3NlY3VyaXR5XzY1MjQ5NjlhNTIuc3ZnKV0oaHR0cHM6Ly9uOG4uaW8vbGVnYWwvI3NlY3VyaXR5KVxcblxcbiFbSW1hZ2UgMTUxOiBBdXRvbWF0aW9uXShodHRwczovL244bi5pby9pbWFnZXMvZW1iZWQtYXV0b21hdGlvbi53ZWJwKVxcblxcbiBuOG4gZW1iZWRcXG5cXG5BdXRvbWF0aW9uIGZvciB5b3VyIGN1c3RvbWVyc1xcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuV293IHlvdXIgY3VzdG9tZXJzIHdpdGggYWNjZXNzIHRvIDUwMCsgYXBwIGludGVncmF0aW9ucyB0byBhdXRvbWF0ZSB0aGVpciBvd24gd29ya2Zsb3dzLiBZb3VyIGJyYW5kaW5nLiBPdXIgd2hpdGUtbGFiZWxsZWQgdGVjaC5cXG5cXG5bRXhwbG9yZSBuOG4gZW1iZWRdKGh0dHBzOi8vbjhuLmlvL2VtYmVkLylcXG5cXG4hW0ltYWdlIDE1MjogU3RhcnNdKGh0dHBzOi8vbjhuLmlvL2ltYWdlcy9zdGFycy1mb290ZXIuc3ZnKVxcblxcblRoZXJl4oCZcyBub3RoaW5nIHlvdSBjYW7igJl0IGF1dG9tYXRlIHdpdGggbjhuXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbk91ciBjdXN0b21lcuKAmXMgd29yZHMsIG5vdCBvdXJzLlxcblxcbiBTa2VwdGljYWw/ICoqVHJ5IGl0IG91dCoqLCBhbmQgc2VlIGZvciB5b3Vyc2VsZi5cXG5cXG5bU3RhcnQgYnVpbGRpbmddKGh0dHBzOi8vYXBwLm44bi5jbG91ZC9yZWdpc3RlcilcXG5cXG4qICAgKipCdWlsZCBjb21wbGV4IHdvcmtmbG93cyB0aGF0IG90aGVyIHRvb2xzIGNhbid0KiouIEkgdXNlZCBvdGhlciB0b29scyBiZWZvcmUuIEkgZ290IHRvIGtub3cgdGhlIE44TiBhbmQgSSBzYXkgaXQgcHJvcGVybHk6IGl0IGlzIGJldHRlciB0byBkbyBldmVyeXRoaW5nIG9uIHRoZSBuOG4hIENvbmdyYXR1bGF0aW9ucyBvbiB5b3VyIHdvcmssIHlvdSBhcmUgYSBzdGFyISAgIVtJbWFnZSAxNTNdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL2F2YXRhcl9pZ29yZGlzY29fOTI0M2I4NjIzMl9jZDlhNWM5NGNlLmpwZylJZ29yIEZlZGljemtvIFtAaWdvcmRpc2NvXShodHRwczovL3guY29tL0BpZ29yZGlzY28pICAgICBcXG4qICAgKipUaGFuayB5b3UgdG8gdGhlIG44biBjb21tdW5pdHkqKi4gSSBkaWQgdGhlIGJlZ2lubmVycyBjb3Vyc2UgYW5kIHByb21wdGx5IHRvb2sgYW4gYXV0b21hdGlvbiBXQVkgYmV5b25kIG15IHNraWxsIGxldmVsLiAgIVtJbWFnZSAxNTQ6IG5ldXRyYWwtYXZhdGFyLXB1cnBsZS5QTkddKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL25ldXRyYWxfYXZhdGFyX3B1cnBsZV9mZWUzNmJmZmUzLlBORylSb2JpbiBUaW5kYWxsIFtAcm9ibV0oaHR0cHM6Ly94LmNvbS9Acm9ibSkgICAgIFxcbiogICAqKm44biBpcyBhIGJlYXN0IGZvciBhdXRvbWF0aW9uLioqIHNlbGYtaG9zdGluZyBhbmQgbG93LWNvZGUgbWFrZSBpdCBhIGRlduKAmXMgZHJlYW0uIGlmIHlvdeKAmXJlIG5vdCBhdXRvbWF0aW5nIHlldCwgeW914oCZcmUgd29ya2luZyB0b28gaGFyZC4gICFbSW1hZ2UgMTU1XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9hdmF0YXJfYW5kZXJvYXZfNTg5OTg5ZmMzOV9jZWIxYzcxYTBjLmpwZylBbmRlcm9hdiBbQEFuZGVyb2F2XShodHRwczovL3guY29tL2FuZGVyb2F2KSAgICAgXFxuKiAgICoqSSd2ZSBzYWlkIGl0IG1hbnkgdGltZXMuIEJ1dCBJJ2xsIHNheSBpdCBhZ2Fpbi4gbjhuIGlzIHRoZSBHT0FUKiouIEFueXRoaW5nIGlzIHBvc3NpYmxlIHdpdGggbjhuLiBZb3UganVzdCBuZWVkIHNvbWUgdGVjaG5pY2FsIGtub3dsZWRnZSArIGltYWdpbmF0aW9uLiBJJ20gYWN0dWFsbHkgbG9va2luZyB0byBzdGFydCBhIHNpZGUgcHJvamVjdC4gSnVzdCB0byBoYXZlIGFuIGV4Y3VzZSB0byB1c2UgbjhuIG1vcmUg8J+YhSAgIVtJbWFnZSAxNTZdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL2F2YXRhcl9tYXhpbV9wb3Vsc2VuXzQ4ZjQ1MDg4N2JfODUyZDA0MzliYy5qcGVnKU1heGltIFBvdWxzZW4gW0BtYXhpbXBvdWxzZW5dKGh0dHBzOi8veC5jb20vQG1heGltcG91bHNlbikgICAgIFxcbiogICAqKkl0IGJsb3dzIG15IG1pbmQuKiogSSB3YXMgaGF0aW5nIG9uIG5vLWNvZGUgdG9vbHMgbXkgd2hvbGUgbGlmZSwgYnV0IG44biBjaGFuZ2VkIGV2ZXJ5dGhpbmcuIE1hZGUgYSBTbGFjayBhZ2VudCB0aGF0IGNhbiBiYXNpY2FsbHkgZG8gZXZlcnl0aGluZywgaW4gaGFsZiBhbiBob3VyLiAgIVtJbWFnZSAxNTddKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL0ZlbGl4X0xlYmVyX2Y3YTViM2M3NzZfMTMwYWVjYTc5ZC5qcGVnKUZlbGl4IExlYmVyIFtAZmVsaXhsZWJlcl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL2ZlbGl4bGViZXIvKSAgICAgXFxuKiAgIEkganVzdCBoYXZlIHRvIHNheSwgKipuOG4ncyBpbnRlZ3JhdGlvbiB3aXRoIHRoaXJkLXBhcnR5IHNlcnZpY2VzIGlzIGFic29sdXRlbHkgbWluZC1ibG93aW5nKiouIEl0J3MgbGlrZSBoYXZpbmcgYSBTd2lzcyBBcm15IGtuaWZlIGZvciBhdXRvbWF0aW9uLiBTbyBtYW55IHRhc2tzIGJlY29tZSBhIGJyZWV6ZSwgYW5kIEkgY2FuIHF1aWNrbHkgdmFsaWRhdGUgYW5kIGltcGxlbWVudCBteSBpZGVhcyB3aXRob3V0IGFueSBoYXNzbGUuICAhW0ltYWdlIDE1OF0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvYXZhdGFyX0lyb25iZW5fMGE0YjNlN2QxMl9lMzU4MDUyNjVjLmpwZylOYW5iaW5nIFtAMXJvbmJlbl0oaHR0cHM6Ly94LmNvbS8xcm9uYmVuKSAgICAgXFxuKiAgICoqRm91bmQgdGhlIGhvbHkgZ3JhaWwgb2YgYXV0b21hdGlvbiB5ZXN0ZXJkYXkuLi4qKiBZZXN0ZXJkYXkgSSB0cmllZCBuOG4gYW5kIGl0IGJsZXcgbXkgbWluZCDwn6SvIFdoYXQgd291bGQndmUgdGFrZW4gbWUgMyBkYXlzIHRvIGNvZGUgZnJvbSBzY3JhdGNoPyBEb25lIGluIDIgaG91cnMuIFRoZSBiZXN0IHBhcnQ/IElmIHlvdSBzdGlsbCB3YW50IHRvIGdldCB5b3VyIGhhbmRzIGRpcnR5IHdpdGggY29kZSAoYmVjYXVzZSBsZXQncyBiZSBob25lc3QsIHdlIGRldmVsb3BlcnMgY2FuJ3QgaGVscCBvdXJzZWx2ZXMg8J+YhSksIHlvdSBjYW4ganVzdCBkcm9wIGluIGN1c3RvbSBjb2RlIG5vZGVzLiBaZXJvIHJlc3RyaWN0aW9ucy4gICFbSW1hZ2UgMTU5XShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9GcmFuY29pc19sYXNzbF9kNWNmYjUwNGM3XzcxMGM4NzEyMWQuanBlZylGcmFuY29pcyBMYcOfbCBbQGZyYW5jb2lzLWxhw59sXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vZnJhbmNvaXMtbGElQzMlOUZsLTgxNzkzNzI0My8pICAgICBcXG4qICAgKipBbnl0aGluZyBpcyBwb3NzaWJsZSB3aXRoIG44bioqLiBJIHRoaW5rIEBuOG5faW8gQ2xvdWQgdmVyc2lvbiBpcyBncmVhdCwgdGhleSBhcmUgZG9pbmcgYW1hemluZyBzdHVmZiBhbmQgSSBsb3ZlIHRoYXQgZXZlcnl0aGluZyBpcyBhdmFpbGFibGUgdG8gbG9vayBhdCBvbiBHaXRodWIuICAhW0ltYWdlIDE2MDogbmV1dHJhbC1hdmF0YXItcHVycGxlLlBOR10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvbmV1dHJhbF9hdmF0YXJfcHVycGxlX2ZlZTM2YmZmZTMuUE5HKUpvZGllIE0gW0Bqb2RpZW1dKGh0dHBzOi8veC5jb20vQGpvZGllbSkgICAgIFxcblxcbltuOG4uaW9dKGh0dHBzOi8vbjhuLmlvLylcXG5BdXRvbWF0ZSB3aXRob3V0IGxpbWl0c1xcblxcblshW0ltYWdlIDE2MV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvdHdpdHRlcl94XzYyYTQ0ZTk2NWUuc3ZnKV0oaHR0cHM6Ly90d2l0dGVyLmNvbS9uOG5faW8pWyFbSW1hZ2UgMTYyXShodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9naXRodWJfZTFmMjE3ZDdhM19iOWEyNzEzMjRmLnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9uOG4taW8vbjhuKVshW0ltYWdlIDE2M10oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMvZGlzY29yZF8yNTM5NDdjOTBiXzE5MWU4ZjYwZmEuc3ZnKV0oaHR0cHM6Ly9kaXNjb3JkLmdnL244bilbIVtJbWFnZSAxNjRdKGh0dHBzOi8vbjhuaW9zdG9yYWdlYWNjb3VudC5ibG9iLmNvcmUud2luZG93cy5uZXQvbjhuaW8tc3RyYXBpLWJsb2JzLXByb2QvYXNzZXRzL2xpbmtlZGluX2Q3MTBlODRkNjNfNmVkMGRjMjhhYS5zdmcpXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9uOG4vKVshW0ltYWdlIDE2NV0oaHR0cHM6Ly9uOG5pb3N0b3JhZ2VhY2NvdW50LmJsb2IuY29yZS53aW5kb3dzLm5ldC9uOG5pby1zdHJhcGktYmxvYnMtcHJvZC9hc3NldHMveW91dHViZV9kZTRiZGVmNTBhXzRiM2E4YjhhYWMuc3ZnKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vYy9uOG4taW8pXFxuXFxuW0NhcmVlcnMgSGlyaW5nXShodHRwczovL244bi5pby9jYXJlZXJzLylbQ29udGFjdF0oaHR0cHM6Ly9uOG4uaW8vY29udGFjdC8pW01ha2UgdnMgbjhuXShodHRwczovL244bi5pby92cy9tYWtlLylbUHJlc3NdKGh0dHBzOi8vbjhuLmlvL3ByZXNzLylbTGVnYWxdKGh0dHBzOi8vbjhuLmlvL2xlZ2FsLylbQmVjb21lIGFuIGV4cGVydF0oaHR0cHM6Ly9uOG4uaW8vZXhwZXJ0LXBhcnRuZXJzLylcXG5cXG5bQ2FzZSBTdHVkaWVzXShodHRwczovL244bi5pby9jYXNlLXN0dWRpZXMvKVtaYXBpZXIgdnMgbjhuXShodHRwczovL244bi5pby92cy96YXBpZXIvKVtIaXJlIGFuIGV4cGVydF0oaHR0cHM6Ly9leHBlcnRzLm44bi5pby8pW1Rvb2xzXShodHRwczovL244bi5pby90b29scy8pW0FJIGFnZW50IHJlcG9ydF0oaHR0cHM6Ly9uOG4uaW8vcmVwb3J0cy9haS1hZ2VudC1kZXZlbG9wbWVudC10b29scy8pXFxuXFxuW0FmZmlsaWF0ZSBwcm9ncmFtXShodHRwczovL244bi5pby9hZmZpbGlhdGVzLylbTWVyY2hdKGh0dHBzOi8vbWVyY2gubjhuLmlvLylbSm9pbiB1c2VyIHRlc3RzLCBnZXQgYSBnaWZ0XShodHRwczovL2ludGVybmFsLnVzZXJzLm44bi5jbG91ZC9mb3JtL244bi11c2FiaWxpdHktdGVzdC1zaWdudXApW0V2ZW50c10oaHR0cHM6Ly9sdS5tYS9uOG4tZXZlbnRzKVtCcmFuZCBHdWlkZWxpbmVdKGh0dHBzOi8vbjhuLmlvL2JyYW5kZ3VpZGVsaW5lcy8pXFxuXFxuUG9wdWxhciBpbnRlZ3JhdGlvbnNcXG5cXG4qICAgW0dvb2dsZSBTaGVldHNdKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy9nb29nbGUtc2hlZXRzLylcXG4qICAgW1RlbGVncmFtXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvdGVsZWdyYW0vKVxcbiogICBbTXlTUUxdKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy9teXNxbC8pXFxuKiAgIFtTbGFja10oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL3NsYWNrLylcXG4qICAgW0Rpc2NvcmRdKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy9kaXNjb3JkLylcXG4qICAgW1Bvc3RncmVzXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvcG9zdGdyZXMvKVxcbiogICBbTm90aW9uXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvbm90aW9uLylcXG4qICAgW0dtYWlsXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvZ21haWwvKVxcbiogICBbQWlydGFibGVdKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy9haXJ0YWJsZS8pXFxuKiAgIFtHb29nbGUgRHJpdmVdKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy9nb29nbGUtZHJpdmUvKVxcblxcbltTaG93IG1vcmUgaW50ZWdyYXRpb25zXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvKVxcblxcblNob3cgbW9yZVxcblxcblRyZW5kaW5nIGNvbWJpbmF0aW9uc1xcblxcbiogICBbSHViU3BvdCBhbmQgU2FsZXNmb3JjZV0oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2h1YnNwb3QvYW5kL3NhbGVzZm9yY2UvKVxcbiogICBbVHdpbGlvIGFuZCBXaGF0c0FwcF0oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL3R3aWxpby9hbmQvd2hhdHNhcHAtYnVzaW5lc3MtY2xvdWQvKVxcbiogICBbR2l0SHViIGFuZCBKaXJhXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvZ2l0aHViL2FuZC9qaXJhLXNvZnR3YXJlLylcXG4qICAgW0FzYW5hIGFuZCBTbGFja10oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2FzYW5hL2FuZC9zbGFjay8pXFxuKiAgIFtBc2FuYSBhbmQgU2FsZXNmb3JjZV0oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2FzYW5hL2FuZC9zYWxlc2ZvcmNlLylcXG4qICAgW0ppcmEgYW5kIFNsYWNrXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvamlyYS1zb2Z0d2FyZS9hbmQvc2xhY2svKVxcbiogICBbSmlyYSBhbmQgU2FsZXNmb3JjZV0oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2ppcmEtc29mdHdhcmUvYW5kL3NhbGVzZm9yY2UvKVxcbiogICBbR2l0SHViIGFuZCBTbGFja10oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2dpdGh1Yi9hbmQvc2xhY2svKVxcbiogICBbSHViU3BvdCBhbmQgUXVpY2tCb29rc10oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2h1YnNwb3QvYW5kL3F1aWNrYm9va3Mtb25saW5lLylcXG4qICAgW0h1YlNwb3QgYW5kIFNsYWNrXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvaHVic3BvdC9hbmQvc2xhY2svKVxcblxcbltTaG93IG1vcmUgaW50ZWdyYXRpb25zXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvKVxcblxcblNob3cgbW9yZVxcblxcblRvcCBpbnRlZ3JhdGlvbiBjYXRlZ29yaWVzXFxuXFxuKiAgIFtDb21tdW5pY2F0aW9uXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvY2F0ZWdvcmllcy9jb21tdW5pY2F0aW9uLylcXG4qICAgW0RldmVsb3BtZW50XShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvY2F0ZWdvcmllcy9kZXZlbG9wbWVudC8pXFxuKiAgIFtDeWJlcnNlY3VyaXR5XShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvY2F0ZWdvcmllcy9jeWJlcnNlY3VyaXR5LylcXG4qICAgW0FJXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvY2F0ZWdvcmllcy9haS8pXFxuKiAgIFtEYXRhICYgU3RvcmFnZV0oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2NhdGVnb3JpZXMvZGF0YS1hbmQtc3RvcmFnZS8pXFxuKiAgIFtNYXJrZXRpbmddKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy9jYXRlZ29yaWVzL21hcmtldGluZy8pXFxuKiAgIFtQcm9kdWN0aXZpdHldKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy9jYXRlZ29yaWVzL3Byb2R1Y3Rpdml0eS8pXFxuKiAgIFtTYWxlc10oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2NhdGVnb3JpZXMvc2FsZXMvKVxcbiogICBbVXRpbGl0eV0oaHR0cHM6Ly9uOG4uaW8vaW50ZWdyYXRpb25zL2NhdGVnb3JpZXMvdXRpbGl0eS8pXFxuKiAgIFtNaXNjZWxsYW5lb3VzXShodHRwczovL244bi5pby9pbnRlZ3JhdGlvbnMvY2F0ZWdvcmllcy9taXNjZWxsYW5lb3VzLylcXG5cXG5bRXhwbG9yZSBtb3JlIGNhdGVnb3JpZXNdKGh0dHBzOi8vbjhuLmlvL2ludGVncmF0aW9ucy8pXFxuXFxuU2hvdyBtb3JlXFxuXFxuVHJlbmRpbmcgdGVtcGxhdGVzXFxuXFxuKiAgIFtDcmVhdGluZyBhbiBBUEkgZW5kcG9pbnRdKGh0dHBzOi8vbjhuLmlvL3dvcmtmbG93cy8xNzUwLWNyZWF0aW5nLWFuLWFwaS1lbmRwb2ludC8pXFxuKiAgIFtBSSBhZ2VudCBjaGF0XShodHRwczovL244bi5pby93b3JrZmxvd3MvMTk1NC1haS1hZ2VudC1jaGF0LylcXG4qICAgW1NjcmFwZSBhbmQgc3VtbWFyaXplIHdlYnBhZ2VzIHdpdGggQUldKGh0dHBzOi8vbjhuLmlvL3dvcmtmbG93cy8xOTUxLXNjcmFwZS1hbmQtc3VtbWFyaXplLXdlYnBhZ2VzLXdpdGgtYWkvKVxcbiogICBbSm9pbmluZyBkaWZmZXJlbnQgZGF0YXNldHNdKGh0dHBzOi8vbjhuLmlvL3dvcmtmbG93cy8xNzQ3LWpvaW5pbmctZGlmZmVyZW50LWRhdGFzZXRzLylcXG4qICAgW0JhY2sgVXAgWW91ciBuOG4gV29ya2Zsb3dzIFRvIEdpdGh1Yl0oaHR0cHM6Ly9uOG4uaW8vd29ya2Zsb3dzLzE1MzQtYmFjay11cC15b3VyLW44bi13b3JrZmxvd3MtdG8tZ2l0aHViLylcXG4qICAgW1ZlcnkgcXVpY2sgcXVpY2tzdGFydF0oaHR0cHM6Ly9uOG4uaW8vd29ya2Zsb3dzLzE3MDAtdmVyeS1xdWljay1xdWlja3N0YXJ0LylcXG4qICAgW09wZW5BSSBHUFQtMzogQ29tcGFueSBFbnJpY2htZW50IGZyb20gd2Vic2l0ZSBjb250ZW50XShodHRwczovL244bi5pby93b3JrZmxvd3MvMTg2Mi1vcGVuYWktZ3B0LTMtY29tcGFueS1lbnJpY2htZW50LWZyb20td2Vic2l0ZS1jb250ZW50LylcXG4qICAgW1B1bGxpbmcgZGF0YSBmcm9tIHNlcnZpY2VzIHRoYXQgbjhuIGRvZXNu4oCZdCBoYXZlIGEgcHJlLWJ1aWx0IGludGVncmF0aW9uIGZvcl0oaHR0cHM6Ly9uOG4uaW8vd29ya2Zsb3dzLzE3NDgtcHVsbGluZy1kYXRhLWZyb20tc2VydmljZXMtdGhhdC1uOG4tZG9lc250LWhhdmUtYS1wcmUtYnVpbHQtaW50ZWdyYXRpb24tZm9yLylcXG4qICAgW0NvbnZlcnQgSlNPTiB0byBhbiBFeGNlbCBmaWxlXShodHRwczovL244bi5pby93b3JrZmxvd3MvMTQzNS1jb252ZXJ0LWpzb24tdG8tYW4tZXhjZWwtZmlsZS8pXFxuKiAgIFtUZWxlZ3JhbSBBSSBDaGF0Ym90XShodHRwczovL244bi5pby93b3JrZmxvd3MvMTkzNC10ZWxlZ3JhbS1haS1jaGF0Ym90LylcXG5cXG5bRXhwbG9yZSA4MDArIHdvcmtmbG93IHRlbXBsYXRlc10oaHR0cHM6Ly9uOG4uaW8vd29ya2Zsb3dzLylcXG5cXG5TaG93IG1vcmVcXG5cXG5Ub3AgZ3VpZGVzXFxuXFxuKiAgIFtUZWxlZ3JhbSBib3RzXShodHRwczovL2Jsb2cubjhuLmlvL3RlbGVncmFtLWJvdHMvKVxcbiogICBbT3Blbi1zb3VyY2UgY2hhdGJvdF0oaHR0cHM6Ly9ibG9nLm44bi5pby9vcGVuLXNvdXJjZS1jaGF0Ym90LylcXG4qICAgW09wZW4tc291cmNlIExMTV0oaHR0cHM6Ly9ibG9nLm44bi5pby9vcGVuLXNvdXJjZS1sbG0vKVxcbiogICBbT3Blbi1zb3VyY2UgbG93LWNvZGUgcGxhdGZvcm1zXShodHRwczovL2Jsb2cubjhuLmlvL29wZW4tc291cmNlLWxvdy1jb2RlLXBsYXRmb3Jtcy8pXFxuKiAgIFtaYXBpZXIgYWx0ZXJuYXRpdmVzXShodHRwczovL2Jsb2cubjhuLmlvL2ZyZWUtemFwaWVyLWFsdGVybmF0aXZlcy8pXFxuKiAgIFtNYWtlIHZzIFphcGllcl0oaHR0cHM6Ly9ibG9nLm44bi5pby9tYWtlLXZzLXphcGllci8pXFxuKiAgIFtBSSBhZ2VudHNdKGh0dHBzOi8vYmxvZy5uOG4uaW8vYWktYWdlbnRzLylcXG4qICAgW0FJIGNvZGluZyBhc3Npc3RhbnRzXShodHRwczovL2Jsb2cubjhuLmlvL2FpLWNvZGluZy1hc3Npc3RhbnRzLylcXG4qICAgW0NoYXRHUFQgRGlzY29yZCBib3RdKGh0dHBzOi8vYmxvZy5uOG4uaW8vY3JlYXRlLWNoYXRncHQtZGlzY29yZC1ib3QvKVxcbiogICBbQmVzdCBBSSBjaGF0Ym90XShodHRwczovL2Jsb2cubjhuLmlvL2Jlc3QtYWktY2hhdGJvdC8pXFxuXFxuW1Nob3cgZ3VpZGVzXShodHRwczovL2Jsb2cubjhuLmlvLylcXG5cXG5TaG93IG1vcmVcXG5cXG5bSW1wcmludF0oaHR0cHM6Ly9uOG4uaW8vaW1wcmludC8pIHwgW1NlY3VyaXR5XShodHRwczovL244bi5pby9sZWdhbC9zZWN1cml0eS8pIHwgW1ByaXZhY3ldKGh0dHBzOi8vbjhuLmlvL2xlZ2FsL3ByaXZhY3kvKSB8IFtSZXBvcnQgYSB2dWxuZXJhYmlsaXR5XShodHRwczovL244bi5pby9sZWdhbC92dWxuZXJhYmlsaXR5LWRpc2Nsb3N1cmUtcG9saWN5LylcXG5cXG7CqSAyMDI1IG44biAgfCAgQWxsIHJpZ2h0cyByZXNlcnZlZC5cXG5cXG7Dl1xcblxcbiBUaGlzIHdlYnNpdGUgdXNlcyBjb29raWVzIFxcblxcbiBXZSB1c2UgY29va2llcyB0byBwZXJzb25hbGlzZSBjb250ZW50LCBhZHMgYW5kIHRvIGFuYWx5c2Ugb3VyIHRyYWZmaWMuIFdlIGFsc28gc2hhcmUgaW5mb3JtYXRpb24gYWJvdXQgeW91ciB1c2Ugb2Ygb3VyIHNpdGUgd2l0aCBvdXIgYWR2ZXJ0aXNpbmcgYW5kIGFuYWx5dGljcyBwYXJ0bmVycyB3aG8gbWF5IGNvbWJpbmUgaXQgd2l0aCBvdGhlciBpbmZvcm1hdGlvbiB0aGF0IHlvdeKAmXZlIHByb3ZpZGVkIHRvIHRoZW0gb3IgdGhhdCB0aGV54oCZdmUgY29sbGVjdGVkIGZyb20geW91ciB1c2Ugb2YgdGhlaXIgc2VydmljZXMuIFtSZWFkIG1vcmVdKGh0dHBzOi8vbjhuLmlvL2xlZ2FsLz9lY29fZmVhdHVyZXM9Q0FNUEFJR05fUEVSU09OQUxJWkFUSU9OI3ByaXZhY3kpXFxuXFxuLSBbeF0gXFxuXFxuIFN0cmljdGx5IG5lY2Vzc2FyeSAgXFxuXFxuLSBbeF0gXFxuXFxuIFBlcmZvcm1hbmNlICBcXG5cXG4tIFt4XSBcXG5cXG4gVGFyZ2V0aW5nICBcXG5cXG4tIFt4XSBcXG5cXG4gRnVuY3Rpb25hbGl0eSAgXFxuXFxuIFNhdmUgJiBDbG9zZSBcXG5cXG4gQWNjZXB0IGFsbCBcXG5cXG4gRGVjbGluZSBhbGwgXFxuXFxuIFNob3cgZGV0YWlscyAgSGlkZSBkZXRhaWxzIFxcblxcbiBDb29raWUgZGVjbGFyYXRpb24gXFxuXFxuIEFib3V0IGNvb2tpZXMgXFxuXFxuIFN0cmljdGx5IG5lY2Vzc2FyeSBcXG5cXG4gUGVyZm9ybWFuY2UgXFxuXFxuIFRhcmdldGluZyBcXG5cXG4gRnVuY3Rpb25hbGl0eSBcXG5cXG4gU3RyaWN0bHkgbmVjZXNzYXJ5IGNvb2tpZXMgYWxsb3cgY29yZSB3ZWJzaXRlIGZ1bmN0aW9uYWxpdHkgc3VjaCBhcyB1c2VyIGxvZ2luIGFuZCBhY2NvdW50IG1hbmFnZW1lbnQuIFRoZSB3ZWJzaXRlIGNhbm5vdCBiZSB1c2VkIHByb3Blcmx5IHdpdGhvdXQgc3RyaWN0bHkgbmVjZXNzYXJ5IGNvb2tpZXMuIFxcblxcbkNvb2tpZSByZXBvcnR8IE5hbWUgfCBQcm92aWRlciAvIERvbWFpbiB8IEV4cGlyYXRpb24gfCBEZXNjcmlwdGlvbiB8XFxufCAtLS0gfCAtLS0gfCAtLS0gfCAtLS0gfFxcbnwgX19jZl9sb2dnZWRfaW4gfCBbQ2xvdWRmbGFyZV0oaHR0cHM6Ly93d3cuY2xvdWRmbGFyZS5jb20vcHJpdmFjeXBvbGljeS8pIC5jbG91ZGZsYXJlLmNvbSB8IDQgd2Vla3MgMiBkYXlzIHwgUGFydCBvZiBvdXIgc2VjdXJpdHkgZmlyZXdhbGwgQ2xvdWRmbGFyZSAoZS5nLiBpZGVudGlmeWluZyB0cnVzdGVkIHVzZXJzKSB8XFxufCBBTUNWU19YWFhYWCB8IFtBZG9iZV0oaHR0cHM6Ly93d3cuYWRvYmUuY29tL3ByaXZhY3kvcG9saWN5Lmh0bWwpIC5jbG91ZGZsYXJlLmNvbSB8IFNlc3Npb24gfCBBZG9iZSBFeHBlcmllbmNlIENsb3VkIGNvb2tpZSB0aGF0IHNlcnZlcyBhcyBhIGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoZSBzZXNzaW9uIGhhcyBiZWVuIGluaXRpYWxpemVkLiBJdHMgdmFsdWUgaXMgYWx3YXlzIDEgYW5kIGRpc2NvbnRpbnVlcyB3aGVuIHRoZSBzZXNzaW9uIGhhcyBlbmRlZC4gfFxcbnwgQ0ZfVkVSSUZJRURfREVWSUNFX1hYWFhYIHwgW0Nsb3VkZmxhcmVdKGh0dHBzOi8vd3d3LmNsb3VkZmxhcmUuY29tL3ByaXZhY3lwb2xpY3kvKSAuY2xvdWRmbGFyZS5jb20gfCAxIHllYXIgfCBDbG91ZGZsYXJlIHxcXG58IHNwYXJyb3dfaWQgfCBbQ2xvdWRmbGFyZV0oaHR0cHM6Ly93d3cuY2xvdWRmbGFyZS5jb20vcHJpdmFjeXBvbGljeS8pIC5jbG91ZGZsYXJlLmNvbSB8IDUgbW9udGhzIDQgd2Vla3MgfCBUaGlzIGNvb2tpZSBpcyB1c2VkIGJ5IENsb3VkZmxhcmUgdG8gaGVscCBvcHRpbWlzZSB0aGUgcGVyZm9ybWFuY2UgYW5kIHNlY3VyaXR5IG9mIHRoZSB3ZWJzaXRlIGFuZCBhY2Nlc3MgdG8gaXQuIFRoZXkgZG8gbm90IGNvbnRhaW4gdXNlciBjcmVkZW50aWFscywgSVAgYW5vbnltaXNhdGlvbiBpcyB1c2VkLiB8XFxufCBybF9zZXNzaW9uIHwgLm44bi5pbyB8IDEgeWVhciB8IFRoaXMgY29va2llIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHVzZXIgc2Vzc2lvbiBvbiB0aGUgd2Vic2l0ZS4gSXQgdHlwaWNhbGx5IG1haW50YWlucyB0aGUgdXNlcidzIHN0YXRlIGR1cmluZyB0aGUgc2Vzc2lvbiwgZW5zdXJpbmcgdGhhdCB1c2VycyByZW1haW4gY29ubmVjdGVkIGFuZCB0aGVpciBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgc2l0ZSBhcmUgY29oZXJlbnQgdGhyb3VnaG91dCB0aGVpciB2aXNpdC4gVGhpcyBjYW4gaW5jbHVkZSBrZWVwaW5nIHVzZXJzIGxvZ2dlZCBpbiwgdHJhY2tpbmcgdGhlaXIgYWN0aW9ucywgb3IgcGVyc2lzdGluZyBzZXR0aW5ncyBkdXJpbmcgdGhlIHNlc3Npb24uIHxcXG58IF9fc2VjX3RpZCB8IG44bi5pbyB8IDkgbW9udGhzIDQgd2Vla3MgfCAgfFxcbnwgX19zZWNfX3Rva2VuIHwgbjhuLmlvIHwgMSBkYXkgfCAgfFxcbnwgX3Nob3BpZnlfZXNzZW50aWFsIHwgW1Nob3BpZnldKGh0dHBzOi8vd3d3LnNob3BpZnkuY29tL2xlZ2FsL3ByaXZhY3kpIG1lcmNoLm44bi5pbyB8IDEgeWVhciB8IFRoaXMgY29va2llIGlzIGVzc2VudGlhbCBmb3IgdGhlIHNlY3VyZSBjaGVja291dCBhbmQgcGF5bWVudCBmdW5jdGlvbiBvbiB0aGUgd2Vic2l0ZSBhbmQgaXMgcHJvdmlkZWQgYnkgU2hvcGlmeS4gfFxcbnwgX19Ib3N0LWFpcnRhYmxlLXNlc3Npb24uc2lnIHwgW0FpcnRhYmxlXShodHRwczovL2FpcnRhYmxlLmNvbS9wcml2YWN5KSBhaXJ0YWJsZS5jb20gfCAxIHllYXIgfCBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGVuc3VyZSBzZWN1cmUgdXNlciBzZXNzaW9ucyBhbmQgZm9yIGF1dGhlbnRpY2F0aW9uIHB1cnBvc2VzLiB8XFxufCBrZWVwX2FsaXZlIHwgbWVyY2gubjhuLmlvIHwgU2Vzc2lvbiB8IFRoaXMgY29va2llIGlzIHVzZWQgdG8gbWFpbnRhaW4gYW4gYWN0aXZlIHVzZXIgc2Vzc2lvbiBvbiB0aGUgd2Vic2l0ZSBhbmQgZW5zdXJlIHRoYXQgdGhlIHVzZXIncyBjb25uZWN0aW9uIHJlbWFpbnMgc2VjdXJlIGFuZCB1bmludGVycnVwdGVkIGR1cmluZyB0aGVpciBicm93c2luZyBzZXNzaW9uLiB8XFxufCBfX3NlY19fZmlkIHwgbjhuLmlvIHwgOSBtb250aHMgNCB3ZWVrcyB8ICB8XFxufCBicndDb25zZW50IHwgW0FpcnRhYmxlXShodHRwczovL2FpcnRhYmxlLmNvbS9wcml2YWN5KSAuYWlydGFibGUuY29tIHwgNSBtaW51dGVzIHwgVGhpcyBjb29raWUgaXMgdXNlZCB0byByZWNvcmQgdGhlIHVzZXIncyBjb25zZW50IHRvIHRoZSB1c2Ugb2YgY29va2llcyBvbiB0aGUgd2Vic2l0ZSwgZW5zdXJpbmcgY29tcGxpYW5jZSB3aXRoIHRoZSB3ZWJzaXRlJ3MgcHJpdmFjeSBwb2xpY3kgYnkgcmVtZW1iZXJpbmcgdGhlIHVzZXIncyBwcmVmZXJlbmNlcyBhbmQgY29uc2VudCBzdGF0ZSByZWdhcmRpbmcgY29va2llcy4gfFxcbnwgQVdTQUxCVEdDT1JTIHwgW0FpcnRhYmxlXShodHRwczovL2FpcnRhYmxlLmNvbS9wcml2YWN5KSBhaXJ0YWJsZS5jb20gfCAxIHdlZWsgfCBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIHN1cHBvcnQgbG9hZCBiYWxhbmNpbmcsIGVuc3VyaW5nIHRoYXQgdmlzaXRvciBwYWdlIHJlcXVlc3RzIGFyZSByb3V0ZWQgdG8gdGhlIHNhbWUgc2VydmVyIGluIGFueSBicm93c2luZyBzZXNzaW9uLiB8XFxufCBfX3NlY19jcmlkIHwgbjhuLmlvIHwgOSBtb250aHMgNCB3ZWVrcyB8ICB8XFxufCBDb29raWVTY3JpcHRDb25zZW50IHwgW0Nvb2tpZVNjcmlwdF0oaHR0cHM6Ly9jb29raWUtc2NyaXB0LmNvbS9wcml2YWN5LXBvbGljeS5odG1sKSAubjhuLmlvIHwgMSB5ZWFyIHwgVGhpcyBjb29raWUgaXMgdXNlZCBieSBDb29raWUtU2NyaXB0LmNvbSBzZXJ2aWNlIHRvIHJlbWVtYmVyIHZpc2l0b3IgY29va2llIGNvbnNlbnQgcHJlZmVyZW5jZXMuIEl0IGlzIG5lY2Vzc2FyeSBmb3IgQ29va2llLVNjcmlwdC5jb20gY29va2llIGJhbm5lciB0byB3b3JrIHByb3Blcmx5LiB8XFxufCBfX3NlY19fZ2hvc3QgfCBuOG4uaW8gfCA5IG1vbnRocyA0IHdlZWtzIHwgIHxcXG58IGxvY2FsaXphdGlvbiB8IFtGbGlja3IgSW5jLl0oaHR0cHM6Ly93d3cuZmxpY2tyLmNvbS9oZWxwL3ByaXZhY3kpIG1lcmNoLm44bi5pbyB8IDEgeWVhciB8IFRoZXNlIGNvb2tpZXMgYXJlIHNldCBvbiBwYWdlcyB3aXRoIHRoZSBGbGlja3Igd2lkZ2V0LiB8XFxufCBfX0hvc3QtYWlydGFibGUtc2Vzc2lvbiB8IFtBaXJ0YWJsZV0oaHR0cHM6Ly9haXJ0YWJsZS5jb20vcHJpdmFjeSkgYWlydGFibGUuY29tIHwgMSB5ZWFyIHwgVGhpcyBjb29raWUgaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHVzZXIgc2Vzc2lvbiBpbiBhIHNlY3VyZSB3YXksIGVuc3VyaW5nIHRoZSB1c2VyJ3MgaW50ZXJhY3Rpb24gd2l0aCB0aGUgd2Vic2l0ZSBpcyBzZWFtbGVzcyBhbmQgc2VjdXJlIHdoaWxlIGFjY2Vzc2luZyBBaXJ0YWJsZSBpbnRlZ3JhdGlvbnMgb3IgY29udGVudC4gfFxcbnwgX19jZl9ibSB8IFtDbG91ZGZsYXJlIEluYy5dKGh0dHBzOi8vd3d3LmNsb3VkZmxhcmUuY29tL3ByaXZhY3lwb2xpY3kpIC5wYWRkbGUuY29tIHwgMjkgbWludXRlcyA1NyBzZWNvbmRzIHwgVGhpcyBjb29raWUgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGh1bWFucyBhbmQgYm90cy4gVGhpcyBpcyBiZW5lZmljaWFsIGZvciB0aGUgd2Vic2l0ZSwgaW4gb3JkZXIgdG8gbWFrZSB2YWxpZCByZXBvcnRzIG9uIHRoZSB1c2Ugb2YgdGhlaXIgd2Vic2l0ZS4gfFxcbnwgX19zZWNfX2NpZCB8IG44bi5pbyB8IDEgZGF5IHwgIHxcXG5cXG4gUGVyZm9ybWFuY2UgY29va2llcyBhcmUgdXNlZCB0byBzZWUgaG93IHZpc2l0b3JzIHVzZSB0aGUgd2Vic2l0ZSwgZWcuIGFuYWx5dGljcyBjb29raWVzLiBUaG9zZSBjb29raWVzIGNhbm5vdCBiZSB1c2VkIHRvIGRpcmVjdGx5IGlkZW50aWZ5IGEgY2VydGFpbiB2aXNpdG9yLiBcXG5cXG5Db29raWUgcmVwb3J0fCBOYW1lIHwgUHJvdmlkZXIgLyBEb21haW4gfCBFeHBpcmF0aW9uIHwgRGVzY3JpcHRpb24gfFxcbnwgLS0tIHwgLS0tIHwgLS0tIHwgLS0tIHxcXG58IHBoX3BoY19YWFhYWF9wb3N0aG9nIHwgW1Bvc3Rob2ddKGh0dHBzOi8vcG9zdGhvZy5jb20vcHJpdmFjeSkgLnRhcGZpbGlhdGUuY29tIHwgMSB5ZWFyIHwgUG9zdGhvZyB8XFxufCBBTUNWX1hYWFhYIHwgW0Fkb2JlXShodHRwczovL3d3dy5hZG9iZS5jb20vcHJpdmFjeS9wb2xpY3kuaHRtbCkgLmNsb3VkZmxhcmUuY29tIHwgNCB3ZWVrcyAyIGRheXMgfCBBZG9iZSBFeHBlcmllbmNlIENsb3VkIGNvb2tpZSB0aGF0IGVuYWJsZXMgdHJhY2tpbmcgdmlzaXRvcnMgYWNyb3NzIG11bHRpcGxlIGRvbWFpbnMuIHxcXG58IGNmel9nb29nbGUtYW5hbHl0aWNzX3Y0IHwgW0dvb2dsZSBMTENdKGh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5KSAuY2xvdWRmbGFyZS5jb20gfCAxIHllYXIgfCBDbG91ZGZsYXJlIFphcmF6IEdvb2dsZSBBbmFseXRpY3MgY29va2llIHxcXG58IGNmenNfZ29vZ2xlLWFuYWx5dGljc192NCB8IFtHb29nbGUgTExDXShodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeSkgLmNsb3VkZmxhcmUuY29tIHwgU2Vzc2lvbiB8IENsb3VkZmxhcmUgWmFyYXogR29vZ2xlIEFuYWx5dGljcyBzZXNzaW9uIGNvb2tpZSB8XFxufCBybF91c2VyX2lkIHwgLm44bi5pbyB8IDEgeWVhciB8IFRoaXMgY29va2llIGlzIHVzZWQgdG8gcmVjb2duaXplIGFuZCBkaXN0aW5ndWlzaCBpbmRpdmlkdWFsIHVzZXJzIHdobyB2aXNpdCB0aGUgd2Vic2l0ZSwgZW5hYmxpbmcgcGVyc29uYWxpemVkIGV4cGVyaWVuY2VzIGFuZCBpbnRlcmFjdGlvbnMuIHxcXG58IF9nYV9RN0dMNTFYOTVGIHwgW0dvb2dsZSBMTENdKGh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5KSAubjhuLmlvIHwgMSB5ZWFyIDEgbW9udGggfCBUaGlzIGNvb2tpZSBpcyB1c2VkIGJ5IEdvb2dsZSBBbmFseXRpY3MgdG8gcGVyc2lzdCBzZXNzaW9uIHN0YXRlLiB8XFxufCBicncgfCBbQWlydGFibGVdKGh0dHBzOi8vYWlydGFibGUuY29tL3ByaXZhY3kpIC5haXJ0YWJsZS5jb20gfCAxIHllYXIgfCBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIHRyYWNrIHVzZXIgYmVoYXZpb3IgYW5kIGludGVyYWN0aW9uIHRvIGltcHJvdmUgdXNlciBleHBlcmllbmNlIGFuZCBzZXJ2aWNlIGZ1bmN0aW9uYWxpdHkuIHxcXG58IHJsX3BhZ2VfaW5pdF9yZWZlcnJlciB8IC5uOG4uaW8gfCAxIHllYXIgfCAgfFxcbnwgcmxfcGFnZV9pbml0X3JlZmVycmluZ19kb21haW4gfCAubjhuLmlvIHwgMSB5ZWFyIHwgIHxcXG58IG9yaWdpbmFsQ2xpZW50SWQgfCAubjhuLmlvIHwgNCB3ZWVrcyAyIGRheXMgfCAgfFxcbnwgcmxfYW5vbnltb3VzX2lkIHwgLm44bi5pbyB8IDEgeWVhciB8IFRoaXMgY29va2llIGlzIHVzZWQgdG8gaWRlbnRpZnkgYW5vbnltb3VzbHkgYSB2aXNpdG9yLiBJdCBpcyBnZW5lcmFsbHkgdXNlZCBmb3IgdHJhY2tpbmcgYW5kIGFuYWx5dGljcyBwdXJwb3NlcywgaGVscGluZyB3ZWJzaXRlIG93bmVycyB1bmRlcnN0YW5kIGhvdyB2aXNpdG9ycyBpbnRlcmFjdCB3aXRoIHRoZSBzaXRlLiB8XFxufCBuOG5fdHJhY2tpbmdfaWQgfCAubjhuLmlvIHwgMSB5ZWFyIDEgbW9udGggfCAgfFxcbnwgX2dhXzFFQjhMQ1BHNUIgfCBbR29vZ2xlIExMQ10oaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3kpIC5uOG4uaW8gfCAxIHllYXIgMSBtb250aCB8IFRoaXMgY29va2llIGlzIHVzZWQgYnkgR29vZ2xlIEFuYWx5dGljcyB0byBwZXJzaXN0IHNlc3Npb24gc3RhdGUuIHxcXG58IF9nYXRfZ3RhZ19VQV8xNDY0NzA0ODFfMSB8IFtHb29nbGUgTExDXShodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeSkgLm44bi5pbyB8IDEgbWludXRlIHwgVGhpcyBjb29raWUgaXMgcGFydCBvZiBHb29nbGUgQW5hbHl0aWNzIGFuZCBpcyB1c2VkIHRvIGxpbWl0IHJlcXVlc3RzICh0aHJvdHRsZSByZXF1ZXN0IHJhdGUpLiB8XFxufCBybF9ncm91cF9pZCB8IC5uOG4uaW8gfCAxIHllYXIgfCBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGdyb3VwIHVzZXJzIGZvciBhbmFseXRpY2FsIHB1cnBvc2VzIHRvIGVuaGFuY2UgdXNlciBleHBlcmllbmNlIG9uIHRoZSB3ZWJzaXRlLiB8XFxufCBfZ2F0X2d0YWdfVUFfMTQ2NDcwNDgxXzggfCAubjhuLmlvIHwgNTEgc2Vjb25kcyB8IFRoaXMgY29va2llIGlzIHBhcnQgb2YgR29vZ2xlIEFuYWx5dGljcyBhbmQgaXMgdXNlZCB0byBsaW1pdCByZXF1ZXN0cyAodGhyb3R0bGUgcmVxdWVzdCByYXRlKS4gfFxcbnwgX3Nob3BpZnlfeSB8IFtTaG9waWZ5IEluYy5dKGh0dHBzOi8vd3d3LnNob3BpZnkuY29tL2xlZ2FsL3ByaXZhY3kpIC5uOG4uaW8gfCAxIHllYXIgNiBob3VycyB8IFRoaXMgY29va2llIGlzIGFzc29jaWF0ZWQgd2l0aCBTaG9waWZ5J3MgYW5hbHl0aWNzIHN1aXRlLiBQcm92aWRlciBhZGRyZXNzOiAxNTEgTydDb25ub3IgU3RyZWV0LCBHcm91bmQgZmxvb3IsIE90dGF3YSwgT04sIEsyUCAyTDgsIENhbmFkYSB8XFxufCBfZ2EgfCBbR29vZ2xlIExMQ10oaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3kpIC5uOG4uaW8gfCAxIHllYXIgMSBtb250aCB8IFRoaXMgY29va2llIG5hbWUgaXMgYXNzb2NpYXRlZCB3aXRoIEdvb2dsZSBVbml2ZXJzYWwgQW5hbHl0aWNzIC0gd2hpY2ggaXMgYSBzaWduaWZpY2FudCB1cGRhdGUgdG8gR29vZ2xlJ3MgbW9yZSBjb21tb25seSB1c2VkIGFuYWx5dGljcyBzZXJ2aWNlLiBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIHVuaXF1ZSB1c2VycyBieSBhc3NpZ25pbmcgYSByYW5kb21seSBnZW5lcmF0ZWQgbnVtYmVyIGFzIGEgY2xpZW50IGlkZW50aWZpZXIuIEl0IGlzIGluY2x1ZGVkIGluIGVhY2ggcGFnZSByZXF1ZXN0IGluIGEgc2l0ZSBhbmQgdXNlZCB0byBjYWxjdWxhdGUgdmlzaXRvciwgc2Vzc2lvbiBhbmQgY2FtcGFpZ24gZGF0YSBmb3IgdGhlIHNpdGVzIGFuYWx5dGljcyByZXBvcnRzLiB8XFxufCBfZ2lkIHwgW0dvb2dsZSBMTENdKGh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5KSAubjhuLmlvIHwgMSBkYXkgfCBUaGlzIGNvb2tpZSBpcyBzZXQgYnkgR29vZ2xlIEFuYWx5dGljcy4gSXQgc3RvcmVzIGFuZCB1cGRhdGUgYSB1bmlxdWUgdmFsdWUgZm9yIGVhY2ggcGFnZSB2aXNpdGVkIGFuZCBpcyB1c2VkIHRvIGNvdW50IGFuZCB0cmFjayBwYWdldmlld3MuIHxcXG58IF9nYV8wU0M0RkYyRkg5IHwgW0dvb2dsZSBMTENdKGh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5KSAubjhuLmlvIHwgMSB5ZWFyIDEgbW9udGggfCBUaGlzIGNvb2tpZSBpcyB1c2VkIGJ5IEdvb2dsZSBBbmFseXRpY3MgdG8gcGVyc2lzdCBzZXNzaW9uIHN0YXRlLiB8XFxufCBfc2hvcGlmeV9hbmFseXRpY3MgfCBtZXJjaC5uOG4uaW8gfCAxIHllYXIgfCAgfFxcbnwgX3Nob3BpZnlfcyB8IFtTaG9waWZ5IEluYy5dKGh0dHBzOi8vd3d3LnNob3BpZnkuY29tL2xlZ2FsL3ByaXZhY3kpIC5uOG4uaW8gfCAzMCBtaW51dGVzIHwgVGhpcyBjb29raWUgaXMgYXNzb2NpYXRlZCB3aXRoIFNob3BpZnkncyBhbmFseXRpY3Mgc3VpdGUuIHxcXG5cXG4gVGFyZ2V0aW5nIGNvb2tpZXMgYXJlIHVzZWQgdG8gaWRlbnRpZnkgdmlzaXRvcnMgYmV0d2VlbiBkaWZmZXJlbnQgd2Vic2l0ZXMsIGVnLiBjb250ZW50IHBhcnRuZXJzLCBiYW5uZXIgbmV0d29ya3MuIFRob3NlIGNvb2tpZXMgbWF5IGJlIHVzZWQgYnkgY29tcGFuaWVzIHRvIGJ1aWxkIGEgcHJvZmlsZSBvZiB2aXNpdG9yIGludGVyZXN0cyBvciBzaG93IHJlbGV2YW50IGFkcyBvbiBvdGhlciB3ZWJzaXRlcy4gXFxuXFxuQ29va2llIHJlcG9ydHwgTmFtZSB8IFByb3ZpZGVyIC8gRG9tYWluIHwgRXhwaXJhdGlvbiB8IERlc2NyaXB0aW9uIHxcXG58IC0tLSB8IC0tLSB8IC0tLSB8IC0tLSB8XFxufCBsYW5nIHwgW0xpbmtlZEluIENvcnBvcmF0aW9uXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3kpIC5saW5rZWRpbi5jb20gfCBTZXNzaW9uIHwgbGlua2VkaW4uY29tIHRhcmdldGluZyB8XFxufCBsaV9zdWdyIHwgW0xpbmtlZEluIENvcnBvcmF0aW9uXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3kpIC5saW5rZWRpbi5jb20gfCAzIG1vbnRocyB8IGxpbmtlZGluLmNvbSB0YXJnZXRpbmcgfFxcbnwgVXNlck1hdGNoSGlzdG9yeSB8IFtMaW5rZWRJbiBDb3Jwb3JhdGlvbl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL3ByaXZhY3ktcG9saWN5KSAubGlua2VkaW4uY29tIHwgNCB3ZWVrcyAyIGRheXMgfCBsaW5rZWRpbi5jb20gdGFyZ2V0aW5nIHxcXG58IEFuYWx5dGljc1N5bmNIaXN0b3J5IHwgW0xpbmtlZEluIENvcnBvcmF0aW9uXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3kpIC5saW5rZWRpbi5jb20gfCA0IHdlZWtzIDIgZGF5cyB8IGxpbmtlZGluLmNvbSB0YXJnZXRpbmcgfFxcbnwgZGF0ciB8IFtNZXRhIFBsYXRmb3JtIEluYy5dKGh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9wb2xpY3kucGhwKSAuZmFjZWJvb2suY29tIHwgMSB5ZWFyIDEgbW9udGggfCBUaGlzIGNvb2tpZSBpZGVudGlmaWVzIHRoZSBicm93c2VyIGNvbm5lY3RpbmcgdG8gRmFjZWJvb2suIEl0IGlzIG5vdCBkaXJlY3RseSB0aWVkIHRvIGluZGl2aWR1YWwgRmFjZWJvb2sgdGhlIHVzZXIuIEZhY2Vib29rIHJlcG9ydHMgdGhhdCBpdCBpcyB1c2VkIHRvIGhlbHAgd2l0aCBzZWN1cml0eSBhbmQgc3VzcGljaW91cyBsb2dpbiBhY3Rpdml0eSwgZXNwZWNpYWxseSBhcm91bmQgZGV0ZWN0aW9uIG9mIGJvdHMgdHJ5aW5nIHRvIGFjY2VzcyB0aGUgc2VydmljZS4gRmFjZWJvb2sgYWxzbyBzYXkgdGhlIGJlaGF2aW91cmFsIHByb2ZpbGUgYXNzb2NpYXRlZCB3aXRoIGVhY2ggZGF0ciBjb29raWUgaXMgZGVsZXRlZCBhZnRlciAxMCBkYXlzLiBUaGlzIGNvb2tpZSBpcyBhbHNvIHJlYWQgdmlhIExpa2UgYW5kIG90aGVyIEZhY2Vib29rIGJ1dHRvbnMgYW5kIHRhZ3MgcGxhY2VkIG9uIG1hbnkgZGlmZmVyZW50IHdlYnNpdGVzLiB8XFxufCBzYiB8IFtNZXRhIFBsYXRmb3JtIEluYy5dKGh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9wb2xpY3kucGhwKSAuZmFjZWJvb2suY29tIHwgMSB5ZWFyIDEgbW9udGggfCBGYWNlYm9vayBicm93c2VyIGlkZW50aWZpY2F0aW9uLCBhdXRoZW50aWNhdGlvbiwgbWFya2V0aW5nLCBhbmQgb3RoZXIgRmFjZWJvb2stc3BlY2lmaWMgZnVuY3Rpb24gY29va2llcy4gfFxcbnwgd2QgfCBbTWV0YSBQbGF0Zm9ybSBJbmMuXShodHRwczovL3d3dy5mYWNlYm9vay5jb20vcG9saWN5LnBocCkgLmZhY2Vib29rLmNvbSB8IDEgd2VlayB8IFRoaXMgY29va2llIGNhcnJpZXMgb3V0IGluZm9ybWF0aW9uIGFib3V0IGhvdyB0aGUgZW5kIHVzZXIgdXNlcyB0aGUgd2Vic2l0ZSBhbmQgYW55IGFkdmVydGlzaW5nIHRoYXQgdGhlIGVuZCB1c2VyIG1heSBoYXZlIHNlZW4gYmVmb3JlIHZpc2l0aW5nIHRoZSBzYWlkIHdlYnNpdGUuIHxcXG58IHJkdF91dWlkIHwgW1JlZGRpdCwgSW5jLl0oaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9wb2xpY2llcy9wcml2YWN5LXBvbGljeSkgLm44bi5pbyB8IDMgbW9udGhzIHwgSWRlbnRpZnkgdXNlcnMgd2hvJ3ZlIHNlZW4gbjhuIGFkcyBvbiBSZWRkaXQgc28gdGhhdCB3ZSBjYW4gcnVuIG91ciBhZHMgbW9yZSBlZmZpY2llbnRseS4gfFxcbnwgY3N2IHwgW1JlZGRpdCwgSW5jLl0oaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9wb2xpY2llcy9wcml2YWN5LXBvbGljeSkgLnJlZGRpdC5jb20gfCAxIHllYXIgMSBtb250aCB8IFRoaXMgY29va2llIGlzIHR5cGljYWxseSB1c2VkIGZvciB0cmFja2luZyB1c2VyIGJlaGF2aW9yIGFuZCBpbnRlcmFjdGlvbiB3aXRoIHRoZSB3ZWJzaXRlIHRvIGltcHJvdmUgdXNlciBleHBlcmllbmNlLiB8XFxufCBlZGdlYnVja2V0IHwgW1JlZGRpdCwgSW5jLl0oaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9wb2xpY2llcy9wcml2YWN5LXBvbGljeSkgLnJlZGRpdC5jb20gfCAxIHllYXIgMSBtb250aCB8IFVzZWQgYnkgUmVkZGl0IHRvIGRlbGl2ZXIgYWR2ZXJ0aXNpbmcgfFxcbnwgbG9pZCB8IFtSZWRkaXQsIEluYy5dKGh0dHBzOi8vd3d3LnJlZGRpdC5jb20vcG9saWNpZXMvcHJpdmFjeS1wb2xpY3kpIC5yZWRkaXQuY29tIHwgMSB5ZWFyIDEgbW9udGggfCBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGlkZW50aWZ5IGEgdW5pcXVlIHZpc2l0b3IncyBzZXNzaW9uIGFuZCBwcmVmZXJlbmNlcy4gfFxcbnwgcGMgfCBbUmVkZGl0LCBJbmMuXShodHRwczovL3d3dy5yZWRkaXQuY29tL3BvbGljaWVzL3ByaXZhY3ktcG9saWN5KSAucmVkZGl0LmNvbSB8IDEgeWVhciB8ICB8XFxufCByZWRkaXRfc2Vzc2lvbiB8IFtSZWRkaXQsIEluYy5dKGh0dHBzOi8vd3d3LnJlZGRpdC5jb20vcG9saWNpZXMvcHJpdmFjeS1wb2xpY3kpIC5yZWRkaXQuY29tIHwgU2Vzc2lvbiB8ICB8XFxufCBzZXNzaW9uX3RyYWNrZXIgfCBbUmVkZGl0LCBJbmMuXShodHRwczovL3d3dy5yZWRkaXQuY29tL3BvbGljaWVzL3ByaXZhY3ktcG9saWN5KSAucmVkZGl0LmNvbSB8IFNlc3Npb24gfCBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIHRyYWNrIHVzZXIgc2Vzc2lvbnMgZm9yIGltcHJvdmluZyB1c2VyIGV4cGVyaWVuY2UgYW5kIGVuc3VyaW5nIHNlY3VyZSBicm93c2luZyBzZXNzaW9ucy4gSXQgaGVscHMgaW4gbWFpbnRhaW5pbmcgYW4gYWN0aXZlIHNlc3Npb24gZm9yIHRoZSB1c2VyIHdpdGhvdXQgbmVlZGluZyB0byBsb2cgaW4gbXVsdGlwbGUgdGltZXMgZHVyaW5nIHRoZWlyIHZpc2l0LiB8XFxufCB0Ml9YWFhYWF9yZWNlbnRjbGlja3MzIHwgW1JlZGRpdCwgSW5jLl0oaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9wb2xpY2llcy9wcml2YWN5LXBvbGljeSkgLnJlZGRpdC5jb20gfCAxIHllYXIgfCAgfFxcbnwgdGhlbWUgfCBbUmVkZGl0LCBJbmMuXShodHRwczovL3d3dy5yZWRkaXQuY29tL3BvbGljaWVzL3ByaXZhY3ktcG9saWN5KSAucmVkZGl0LmNvbSB8IDEgeWVhciB8IFRoaXMgY29va2llIGlzIHVzZWQgdG8gc3RvcmUgdGhlIHVzZXIncyB0aGVtZSBwcmVmZXJlbmNlIG9uIHRoZSB3ZWJzaXRlLCBhbGxvd2luZyBmb3IgYSBjb25zaXN0ZW50IGFuZCBwZXJzb25hbGl6ZWQgdmlzdWFsIGV4cGVyaWVuY2UgYWNyb3NzIGRpZmZlcmVudCBwYWdlcy4gfFxcbnwgdG9rZW5fdjIgfCBbUmVkZGl0LCBJbmMuXShodHRwczovL3d3dy5yZWRkaXQuY29tL3BvbGljaWVzL3ByaXZhY3ktcG9saWN5KSAucmVkZGl0LmNvbSB8IDEgZGF5IHwgIHxcXG58IHBzX2wgfCBbTWV0YSBQbGF0Zm9ybSBJbmMuXShodHRwczovL3d3dy5mYWNlYm9vay5jb20vcG9saWN5LnBocCkgLmZhY2Vib29rLmNvbSB8IDEgeWVhciAxIG1vbnRoIHwgVGhpcyBjb29raWUgaXMgYXNzb2NpYXRlZCB3aXRoIHVzZXIgcHJlZmVyZW5jZXMgYW5kIHNhdmluZyBzZXR0aW5ncyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2Ugb24gdGhlIHdlYnNpdGUuIHxcXG58IHBzX24gfCBbTWV0YSBQbGF0Zm9ybSBJbmMuXShodHRwczovL3d3dy5mYWNlYm9vay5jb20vcG9saWN5LnBocCkgLmZhY2Vib29rLmNvbSB8IDEgeWVhciAxIG1vbnRoIHwgVGhpcyBjb29raWUgaXMgdXNlZCB0byByZW1lbWJlciB0aGUgdXNlcidzIHByZWZlcmVuY2VzIGFuZCBwcmV2aW91cyBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgd2Vic2l0ZS4gfFxcbnwgZnIgfCBbTWV0YSBQbGF0Zm9ybSBJbmMuXShodHRwczovL3d3dy5mYWNlYm9vay5jb20vcG9saWN5LnBocCkgLmZhY2Vib29rLmNvbSB8IDMgbW9udGhzIHwgQ29udGFpbnMgYnJvd3NlciBhbmQgdXNlciB1bmlxdWUgSUQgY29tYmluYXRpb24sIHVzZWQgZm9yIHRhcmdldGVkIGFkdmVydGlzaW5nLiB8XFxufCBjc3JmX3Rva2VuIHwgW1JlZGRpdCwgSW5jLl0oaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9wb2xpY2llcy9wcml2YWN5LXBvbGljeSkgLnJlZGRpdC5jb20gfCBTZXNzaW9uIHwgVGhpcyBjb29raWUgaXMgdXNlZCBieSBDbG91ZGZsYXJlIHRvIGlkZW50aWZ5IHRydXN0ZWQgd2ViIHRyYWZmaWMuIHxcXG58IGNmel9mYWNlYm9vay1waXhlbCB8IFtNZXRhIFBsYXRmb3JtIEluYy5dKGh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9wb2xpY3kucGhwKSAuY2xvdWRmbGFyZS5jb20gfCAxIHllYXIgfCBDbG91ZGZsYXJlIFphcmF6IGZhY2Vib29rIHBpeGVsIGNvb2tpZSB8XFxufCBybF90cmFpdCB8IC5uOG4uaW8gfCAxIHllYXIgfCBUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgdXNlciBiZWhhdmlvciBhbmQgcHJlZmVyZW5jZXMgdG8gb3B0aW1pemUgdGhlIHVzZXIgZXhwZXJpZW5jZSBhbmQgZm9yIHRhcmdldGVkIGFkdmVydGlzaW5nLiB8XFxufCBfX1NlY3VyZS1ST0xMT1VUX1RPS0VOIHwgW0dvb2dsZSBMTENdKGh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5KSAueW91dHViZS5jb20gfCA1IG1vbnRocyA0IHdlZWtzIHwgIHxcXG58IF9nY2xfYXUgfCBbR29vZ2xlIExMQ10oaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3kpIC5uOG4uaW8gfCAzIG1vbnRocyB8IFVzZWQgYnkgR29vZ2xlIEFkU2Vuc2UgZm9yIGV4cGVyaW1lbnRpbmcgd2l0aCBhZHZlcnRpc2VtZW50IGVmZmljaWVuY3kgYWNyb3NzIHdlYnNpdGVzIHVzaW5nIHRoZWlyIHNlcnZpY2VzIHxcXG58IHJsX2dyb3VwX3RyYWl0IHwgLm44bi5pbyB8IDEgeWVhciB8IFRoaXMgY29va2llIGlzIHVzZWQgZm9yIHNlZ21lbnRpbmcgYXVkaWVuY2VzIGJhc2VkIG9uIHByZWRlZmluZWQgY3JpdGVyaWEsIGFpbWluZyB0byBwcm92aWRlIG1vcmUgcGVyc29uYWxpemVkIGFuZCByZWxldmFudCBjb250ZW50IHRvIHRoZSB3ZWJzaXRlIHVzZXJzLiB8XFxufCBsaWRjIHwgW0xpbmtlZEluIENvcnBvcmF0aW9uXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3kpIC5saW5rZWRpbi5jb20gfCAxIGRheSB8IFRoaXMgaXMgYSBNaWNyb3NvZnQgTVNOIDFzdCBwYXJ0eSBjb29raWUgdGhhdCBlbnN1cmVzIHRoZSBwcm9wZXIgZnVuY3Rpb25pbmcgb2YgdGhpcyB3ZWJzaXRlLiB8XFxufCBiY29va2llIHwgW0xpbmtlZEluIENvcnBvcmF0aW9uXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3kpIC5saW5rZWRpbi5jb20gfCAxIHllYXIgfCBUaGlzIGlzIGEgTWljcm9zb2Z0IE1TTiAxc3QgcGFydHkgY29va2llIGZvciBzaGFyaW5nIHRoZSBjb250ZW50IG9mIHRoZSB3ZWJzaXRlIHZpYSBzb2NpYWwgbWVkaWEuIHxcXG58IElERSB8IFtHb29nbGUgTExDXShodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeSkgLmRvdWJsZWNsaWNrLm5ldCB8IDEgeWVhciB8IEdvb2dsZSBBZHMgdGFyZ2V0aW5nIHxcXG58IFZJU0lUT1JfUFJJVkFDWV9NRVRBREFUQSB8IFtHb29nbGUgTExDXShodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeSkgLnlvdXR1YmUuY29tIHwgNSBtb250aHMgNCB3ZWVrcyB8IFRoaXMgY29va2llIGlzIHVzZWQgdG8gc3RvcmUgdGhlIHVzZXIncyBjb25zZW50IGFuZCBwcml2YWN5IGNob2ljZXMgZm9yIHRoZWlyIGludGVyYWN0aW9uIHdpdGggdGhlIHNpdGUuIEl0IHJlY29yZHMgZGF0YSBvbiB0aGUgdmlzaXRvcidzIGNvbnNlbnQgcmVnYXJkaW5nIHZhcmlvdXMgcHJpdmFjeSBwb2xpY2llcyBhbmQgc2V0dGluZ3MsIGVuc3VyaW5nIHRoYXQgdGhlaXIgcHJlZmVyZW5jZXMgYXJlIGhvbm9yZWQgaW4gZnV0dXJlIHNlc3Npb25zLiB8XFxufCBsaV9nYyB8IFtMaW5rZWRJbiBDb3Jwb3JhdGlvbl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL3ByaXZhY3ktcG9saWN5KSAubGlua2VkaW4uY29tIHwgNSBtb250aHMgNCB3ZWVrcyB8IFVzZWQgdG8gc3RvcmUgZ3Vlc3QgY29uc2VudCB0byB0aGUgdXNlIG9mIGNvb2tpZXMgZm9yIG5vbi1lc3NlbnRpYWwgcHVycG9zZXMgfFxcbnwgX19TZWN1cmUtWU5JRCB8IC55b3V0dWJlLmNvbSB8IDUgbW9udGhzIDQgd2Vla3MgfCAgfFxcbnwgWVNDIHwgW0dvb2dsZSBMTENdKGh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5KSAueW91dHViZS5jb20gfCBTZXNzaW9uIHwgVGhpcyBjb29raWUgaXMgc2V0IGJ5IFlvdVR1YmUgdG8gdHJhY2sgdmlld3Mgb2YgZW1iZWRkZWQgdmlkZW9zLiB8XFxufCBWSVNJVE9SX0lORk8xX0xJVkUgfCBbR29vZ2xlIExMQ10oaHR0cHM6Ly9wb2xpY2llcy5nb29nbGUuY29tL3ByaXZhY3kpIC55b3V0dWJlLmNvbSB8IDUgbW9udGhzIDQgd2Vla3MgfCBUaGlzIGNvb2tpZSBpcyBzZXQgYnkgWW91dHViZSB0byBrZWVwIHRyYWNrIG9mIHVzZXIgcHJlZmVyZW5jZXMgZm9yIFlvdXR1YmUgdmlkZW9zIGVtYmVkZGVkIGluIHNpdGVzO2l0IGNhbiBhbHNvIGRldGVybWluZSB3aGV0aGVyIHRoZSB3ZWJzaXRlIHZpc2l0b3IgaXMgdXNpbmcgdGhlIG5ldyBvciBvbGQgdmVyc2lvbiBvZiB0aGUgWW91dHViZSBpbnRlcmZhY2UuIHxcXG58IHRlc3RfY29va2llIHwgW0dvb2dsZSBMTENdKGh0dHBzOi8vcG9saWNpZXMuZ29vZ2xlLmNvbS9wcml2YWN5KSAuZG91YmxlY2xpY2submV0IHwgMTUgbWludXRlcyB8IFRoaXMgY29va2llIGlzIHNldCBieSBEb3VibGVDbGljayAod2hpY2ggaXMgb3duZWQgYnkgR29vZ2xlKSB0byBkZXRlcm1pbmUgaWYgdGhlIHdlYnNpdGUgdmlzaXRvcidzIGJyb3dzZXIgc3VwcG9ydHMgY29va2llcy4gfFxcblxcbiBGdW5jdGlvbmFsaXR5IGNvb2tpZXMgYXJlIHVzZWQgdG8gcmVtZW1iZXIgdmlzaXRvciBpbmZvcm1hdGlvbiBvbiB0aGUgd2Vic2l0ZSwgZWcuIGxhbmd1YWdlLCB0aW1lem9uZSwgZW5oYW5jZWQgY29udGVudC4gXFxuXFxuQ29va2llIHJlcG9ydHwgTmFtZSB8IFByb3ZpZGVyIC8gRG9tYWluIHwgRXhwaXJhdGlvbiB8IERlc2NyaXB0aW9uIHxcXG58IC0tLSB8IC0tLSB8IC0tLSB8IC0tLSB8XFxufCBpbnRlcmNvbS1kZXZpY2UtaWQtWFhYWFggfCBbSW50ZXJjb21dKGh0dHBzOi8vd3d3LmludGVyY29tLmNvbS9sZWdhbC9wcml2YWN5KSAuaG9ja2V5c3RhY2suY29tIHwgNSBtb250aHMgNCB3ZWVrcyB8ICB8XFxufCBpbnRlcmNvbS1pZC1YWFhYWCB8IFtJbnRlcmNvbV0oaHR0cHM6Ly93d3cuaW50ZXJjb20uY29tL2xlZ2FsL3ByaXZhY3kpIC5ob2NrZXlzdGFjay5jb20gfCA1IG1vbnRocyA0IHdlZWtzIHwgIHxcXG58IGludGVyY29tLXNlc3Npb24tWFhYWFggfCBbSW50ZXJjb21dKGh0dHBzOi8vd3d3LmludGVyY29tLmNvbS9sZWdhbC9wcml2YWN5KSAuaG9ja2V5c3RhY2suY29tIHwgMSB3ZWVrIHwgIHxcXG58IHBhZGRsZV9zZXNzaW9uIHwgW1BhZGRsZV0oaHR0cHM6Ly93d3cucGFkZGxlLmNvbS9sZWdhbC9wcml2YWN5KSAucGFkZGxlLmNvbSB8IDEgZGF5IHwgIHxcXG5cXG4gQ29va2llcyBhcmUgc21hbGwgdGV4dCBmaWxlcyB0aGF0IGFyZSBwbGFjZWQgb24geW91ciBjb21wdXRlciBieSB3ZWJzaXRlcyB0aGF0IHlvdSB2aXNpdC4gV2Vic2l0ZXMgdXNlIGNvb2tpZXMgdG8gaGVscCB1c2VycyBuYXZpZ2F0ZSBlZmZpY2llbnRseSBhbmQgcGVyZm9ybSBjZXJ0YWluIGZ1bmN0aW9ucy4gQ29va2llcyB0aGF0IGFyZSByZXF1aXJlZCBmb3IgdGhlIHdlYnNpdGUgdG8gb3BlcmF0ZSBwcm9wZXJseSBhcmUgYWxsb3dlZCB0byBiZSBzZXQgd2l0aG91dCB5b3VyIHBlcm1pc3Npb24uIEFsbCBvdGhlciBjb29raWVzIG5lZWQgdG8gYmUgYXBwcm92ZWQgYmVmb3JlIHRoZXkgY2FuIGJlIHNldCBpbiB0aGUgYnJvd3Nlci5cXG5cXG4gWW91IGNhbiBjaGFuZ2UgeW91ciBjb25zZW50IHRvIGNvb2tpZSB1c2FnZSBhdCBhbnkgdGltZSBvbiBvdXIgUHJpdmFjeSBQb2xpY3kgcGFnZS4gXFxuXFxuIFdlIGFsc28gdXNlIGNvb2tpZXMgdG8gY29sbGVjdCBkYXRhIGZvciB0aGUgcHVycG9zZSBvZiBwZXJzb25hbGl6aW5nIGFuZCBtZWFzdXJpbmcgdGhlIGVmZmVjdGl2ZW5lc3Mgb2Ygb3VyIGFkdmVydGlzaW5nLiBGb3IgbW9yZSBkZXRhaWxzLCB2aXNpdCB0aGUgW0dvb2dsZSBQcml2YWN5IFBvbGljeV0oaHR0cHM6Ly9idXNpbmVzcy5zYWZldHkuZ29vZ2xlL3ByaXZhY3kvKS4gXFxuXFxuIENvb2tpZXMgY29uc2VudCBJRCA6IFxcblxcbkNvb2tpZSBbcmVwb3J0XShodHRwczovL2Nvb2tpZS1zY3JpcHQuY29tL2Nvb2tpZS1yZXBvcnQ/aWRlbnRpZmllcj1lZDUzYjdiMmJkYTBhODMxNTNlNDBiNjY2MGU2NTM3MikgY3JlYXRlZCBieSBbQ29va2llU2NyaXB0XShodHRwczovL2Nvb2tpZS1zY3JpcHQuY29tLyBcXFwiQ29va2llU2NyaXB0IENvbnNlbnQgTWFuYWdlbWVudCBQbGF0Zm9ybVxcXCIpXCIsXCJtZXRhZGF0YVwiOntcImxhbmdcIjpcImVuXCIsXCJ2aWV3cG9ydFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0yLjAsIHVzZXItc2NhbGFibGU9MVwiLFwiZGVzY3JpcHRpb25cIjpcIm44biBpcyBhIHdvcmtmbG93IGF1dG9tYXRpb24gcGxhdGZvcm0gdGhhdCB1bmlxdWVseSBjb21iaW5lcyBBSSBjYXBhYmlsaXRpZXMgd2l0aCBidXNpbmVzcyBwcm9jZXNzIGF1dG9tYXRpb24sIGdpdmluZyB0ZWNobmljYWwgdGVhbXMgdGhlIGZsZXhpYmlsaXR5IG9mIGNvZGUgd2l0aCB0aGUgc3BlZWQgb2Ygbm8tY29kZS5cIixcImtleXdvcmRzXCI6XCJcIixcIm9nOnRpdGxlXCI6XCJuOG4uaW8gLSBBSSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2xcIixcIm9nOmRlc2NyaXB0aW9uXCI6XCJuOG4gaXMgYSBmcmVlIGFuZCBzb3VyY2UtYXZhaWxhYmxlIHdvcmtmbG93IGF1dG9tYXRpb24gdG9vbFwiLFwib2c6dXJsXCI6XCJodHRwczovL244bi5pby9cIixcIm9nOnR5cGVcIjpcIndlYnNpdGVcIixcIm9nOmltYWdlXCI6XCJodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9vZ19pbWFnZV93ZWJzaXRlXzNfYWZkNjY3NjFhOV8wMTdiOTRkODdiLnBuZ1wiLFwidHdpdHRlcjp0aXRsZVwiOlwibjhuLmlvIC0gQUkgd29ya2Zsb3cgYXV0b21hdGlvbiB0b29sXCIsXCJ0d2l0dGVyOmRlc2NyaXB0aW9uXCI6XCJuOG4gaXMgYSBmcmVlIGFuZCBzb3VyY2UtYXZhaWxhYmxlIHdvcmtmbG93IGF1dG9tYXRpb24gdG9vbFwiLFwidHdpdHRlcjpkb21haW5cIjpcIm44bi5pb1wiLFwidHdpdHRlcjpjYXJkXCI6XCJzdW1tYXJ5XCIsXCJ0d2l0dGVyOmltYWdlXCI6XCJodHRwczovL244bmlvc3RvcmFnZWFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0L244bmlvLXN0cmFwaS1ibG9icy1wcm9kL2Fzc2V0cy9vZ19pbWFnZV93ZWJzaXRlXzNfYWZkNjY3NjFhOV8wMTdiOTRkODdiLnBuZ1wiLFwidHdpdHRlcjp1cmxcIjpcImh0dHBzOi8vbjhuLmlvL1wiLFwidHdpdHRlcjpzaXRlXCI6XCJAbjhuX2lvXCJ9LFwiZXh0ZXJuYWxcIjp7XCJwcmVsb2FkXCI6e1wiaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPUdUTS1LN0w5QzZYXCI6e1wiY3Jvc3NvcmlnaW5cIjpcImFub255bW91c1wiLFwicmVmZXJyZXJwb2xpY3lcIjpcIm5vLXJlZmVycmVyXCIsXCJmZXRjaHByaW9yaXR5XCI6XCJsb3dcIixcImFzXCI6XCJzY3JpcHRcIn0sXCJodHRwczovL244bi5pby9fcGF5bG9hZC5qc29uPzU3MmU4ODFkLTY5MjctNGY0NS05NGU5LWUzOTQ4OTE0YjY5YVwiOntcImFzXCI6XCJmZXRjaFwiLFwiY3Jvc3NvcmlnaW5cIjpcImFub255bW91c1wifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L2J1aWxkcy9tZXRhLzU3MmU4ODFkLTY5MjctNGY0NS05NGU5LWUzOTQ4OTE0YjY5YS5qc29uXCI6e1wiYXNcIjpcImZldGNoXCIsXCJmZXRjaHByaW9yaXR5XCI6XCJsb3dcIixcImNyb3Nzb3JpZ2luXCI6XCJhbm9ueW1vdXNcIn19LFwibW9kdWxlcHJlbG9hZFwiOntcImh0dHBzOi8vbjhuLmlvL19udXh0L0NBbDRsTXc0LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0J3dU5JTmpRLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L3JqZEF3YWxULmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0R5bmVkcS1wLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0JNYXhvVnNfLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0N2OGk0WXJ1LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0RHa2F2cGZCLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0LzBMMldPcXVwLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0M2T0lmNlFvLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0Q0T3hWZUg1LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0JQZnFIdU9fLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0RXZmt4cHRCLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0JZTEFwV0VFLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0RLSFdXa19SLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L1N3UWlHdG1HLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0NmRjNlSFJ1LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0Ly1nbmFPOXg2LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0MxVmFNU1MzLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0JGLUQ0VjlpLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0QyYU9kMDE3LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L1lUSm9Hb05ZLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0NBUWx1VC1OLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0QtcTBUcGNiLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0J5TE5RS1JnLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0NYNmdNd2d6LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L3A4RVU3RU1QLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0RCbXhPMXdQLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0RDM3NEOEJuLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L09tempfVm9PLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0NzNFdPcHpJLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L1g0SmhyQWFlLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0LzBzdjhnT0ZQLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0VkN2hNV3dFLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0JaVVZaMzJELmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0MwY2UtMUVBLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0NaZFhEdUFHLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0Q1dFFXeDdPLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0NVZ0g1bmtxLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L19RUm1VMVFwLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0Rsa0pHdkMxLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0RIYl8zVDVLLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifX0sXCJwcmVmZXRjaFwiOntcImh0dHBzOi8vbjhuLmlvL19udXh0LzVOWDJVRXZILmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0JUR1E4VzNwLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0J6VlV0OFE3LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0RuWjZ2eUtQLmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifSxcImh0dHBzOi8vbjhuLmlvL19udXh0L0NHZVVlaVl1LmpzXCI6e1wiYXNcIjpcInNjcmlwdFwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifX0sXCJjYW5vbmljYWxcIjp7XCJodHRwczovL244bi5pby9cIjp7fX19LFwidXNhZ2VcIjp7XCJ0b2tlbnNcIjoxNjQ2M319LHtcInRpdGxlXCI6XCJcIixcInVybFwiOlwiaHR0cHM6Ly93d3cucmVkZGl0LmNvbS9yL244bi9jb21tZW50cy8xa3VmbnZmL3doYXRfaXNfbjhuL1wiLFwiZGVzY3JpcHRpb25cIjpcIlwiLFwiZGF0ZVwiOlwiTWF5IDI0LCAyMDI1XCIsXCJjb250ZW50XCI6XCJZb3UndmUgYmVlbiBibG9ja2VkIGJ5IG5ldHdvcmsgc2VjdXJpdHkuXFxuXFxuVG8gY29udGludWUsIGxvZyBpbiB0byB5b3VyIFJlZGRpdCBhY2NvdW50IG9yIHVzZSB5b3VyIGRldmVsb3BlciB0b2tlblxcblxcbklmIHlvdSB0aGluayB5b3UndmUgYmVlbiBibG9ja2VkIGJ5IG1pc3Rha2UsIGZpbGUgYSB0aWNrZXQgYmVsb3cgYW5kIHdlJ2xsIGxvb2sgaW50byBpdC5cXG5cXG5bTG9nIGluXShodHRwczovL3d3dy5yZWRkaXQuY29tL2xvZ2luLylbRmlsZSBhIHRpY2tldF0oaHR0cHM6Ly9zdXBwb3J0LnJlZGRpdGhlbHAuY29tL2hjL2VuLXVzL3JlcXVlc3RzL25ldz90aWNrZXRfZm9ybV9pZD0yMTg3OTI5MjY5MzE0MClcIixcIndhcm5pbmdcIjpcIlRhcmdldCBVUkwgcmV0dXJuZWQgZXJyb3IgNDAzOiBGb3JiaWRkZW5cIixcIm1ldGFkYXRhXCI6e30sXCJleHRlcm5hbFwiOnt9LFwidXNhZ2VcIjp7XCJ0b2tlbnNcIjo4Nn19LHtcInRpdGxlXCI6XCJQYXJ0IDE6IEludHJvZHVjdGlvbiB0byBuOG4g4oCUIFdoYXQgSXQgSXMgYW5kIEhvdyBJdCBXb3Jrc1wiLFwidXJsXCI6XCJodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kL3BhcnQtMS1pbnRyb2R1Y3Rpb24tdG8tbjhuLXdoYXQtaXQtaXMtYW5kLWhvdy1pdC13b3Jrcy03NGMyMTRkZTc2OWVcIixcImRlc2NyaXB0aW9uXCI6XCJQYXJ0IDE6IEludHJvZHVjdGlvbiB0byBuOG4g4oCUIFdoYXQgSXQgSXMgYW5kIEhvdyBJdCBXb3JrcyBIZXkgZXZlcnlvbmUsIHdlbGNvbWUgdG8gdGhpcyBzZXJpZXMhIFRvZGF5LCB3ZeKAmXJlIGtpY2tpbmcgb2ZmIG91ciBqb3VybmV5IGludG8gdGhlIHdvcmxkIG9mIGF1dG9tYXRpb24gd2l0aCBuOG4g4oCUIHRoZSBvbmUtc3RvcCDigKZcIixcImRhdGVcIjpcIk1hciAyNiwgMjAyNVwiLFwiY29udGVudFwiOlwiUGFydCAxOiBJbnRyb2R1Y3Rpb24gdG8gbjhuIOKAlCBXaGF0IEl0IElzIGFuZCBIb3cgSXQgV29ya3MgfCBieSBUT05JIFJBTUNIQU5EQU5JIHwgRGF0YSBBbmQgQmV5b25kIHwgTWVkaXVtXFxuPT09PT09PT09PT09PT09XFxuXFxuW1NpdGVtYXBdKGh0dHBzOi8vbWVkaXVtLmNvbS9zaXRlbWFwL3NpdGVtYXAueG1sKVxcblxcbltPcGVuIGluIGFwcF0oaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5tZWRpdW0ucmVhZGVyJnJlZmVycmVyPXV0bV9zb3VyY2UlM0Rtb2JpbGVOYXZCYXImc291cmNlPXBvc3RfcGFnZS0tLXRvcF9uYXZfbGF5b3V0X25hdi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcblNpZ24gdXBcXG5cXG5bU2lnbiBpbl0oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP29wZXJhdGlvbj1sb2dpbiZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZkYXRhLWFuZC1iZXlvbmQlMkZwYXJ0LTEtaW50cm9kdWN0aW9uLXRvLW44bi13aGF0LWl0LWlzLWFuZC1ob3ctaXQtd29ya3MtNzRjMjE0ZGU3NjllJnNvdXJjZT1wb3N0X3BhZ2UtLS10b3BfbmF2X2xheW91dF9uYXYtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLWdsb2JhbF9uYXYtLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW10oaHR0cHM6Ly9tZWRpdW0uY29tLz9zb3VyY2U9cG9zdF9wYWdlLS0tdG9wX25hdl9sYXlvdXRfbmF2LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW1dyaXRlXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/b3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRm5ldy1zdG9yeSZzb3VyY2U9LS0tdG9wX25hdl9sYXlvdXRfbmF2LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1uZXdfcG9zdF90b3BuYXYtLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW1NlYXJjaF0oaHR0cHM6Ly9tZWRpdW0uY29tL3NlYXJjaD9zb3VyY2U9cG9zdF9wYWdlLS0tdG9wX25hdl9sYXlvdXRfbmF2LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuU2lnbiB1cFxcblxcbltTaWduIGluXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/b3BlcmF0aW9uPWxvZ2luJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRmRhdGEtYW5kLWJleW9uZCUyRnBhcnQtMS1pbnRyb2R1Y3Rpb24tdG8tbjhuLXdoYXQtaXQtaXMtYW5kLWhvdy1pdC13b3Jrcy03NGMyMTRkZTc2OWUmc291cmNlPXBvc3RfcGFnZS0tLXRvcF9uYXZfbGF5b3V0X25hdi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tZ2xvYmFsX25hdi0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG4hW0ltYWdlIDNdKGh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaWxsOjY0OjY0LzEqZG1iTmtENUQtdTQ1cjQ0Z29fY2YwZy5wbmcpXFxuXFxuW0RhdGEgQW5kIEJleW9uZCAtLS0tLS0tLS0tLS0tLS1dKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQ/c291cmNlPXBvc3RfcGFnZS0tLXB1YmxpY2F0aW9uX25hdi1iNjgwYjg2MGJlYjEtNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbsK3XFxuRm9sbG93IHB1YmxpY2F0aW9uXFxuXFxuWyFbSW1hZ2UgNDogRGF0YSBBbmQgQmV5b25kXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDo3Njo3Ni8xKms3MlU3aEhMYjlFRlhENUNMc2J6RlEucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZD9zb3VyY2U9cG9zdF9wYWdlLS0tcG9zdF9wdWJsaWNhdGlvbl9zaWRlYmFyLWI2ODBiODYwYmViMS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuU2VsZWN0ZWQgc3RvcmllcyBhcm91bmQgRGF0YSBTY2llbmNlLCBNYWNoaW5lIExlYXJuaW5nLCBBcnRpZmljaWFsIEludGVsbGlnZW5jZSwgUHJvZ3JhbW1pbmcsIGFuZCBUZWNobm9sb2d5IHRvcGljcy4gV3JpdGluZyBndWlkZTogW2h0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQvaG93LXRvLXdyaXRlLWZvci1kYXRhLWFuZC1iZXlvbmQtYjgzZmYwZjM4MTNlXShodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kL2hvdy10by13cml0ZS1mb3ItZGF0YS1hbmQtYmV5b25kLWI4M2ZmMGYzODEzZSlcXG5cXG5Gb2xsb3cgcHVibGljYXRpb25cXG5cXG5NZW1iZXItb25seSBzdG9yeVxcblxcbkZlYXR1cmVkXFxuXFxuUGFydCAxOiBJbnRyb2R1Y3Rpb24gdG8gbjhuIOKAlCBXaGF0IEl0IElzIGFuZCBIb3cgSXQgV29ya3NcXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cXG5cXG5bIVtJbWFnZSA1OiBUT05JIFJBTUNIQU5EQU5JXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDo2NDo2NC8xKnJxVHRiNjQ0bFdWX2txNnZXUVdKRUEuanBlZyldKGh0dHBzOi8vbWVkaXVtLmNvbS9AdG9uaXJhbWNoYW5kYW5pP3NvdXJjZT1wb3N0X3BhZ2UtLS1ieWxpbmUtLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bVE9OSSBSQU1DSEFOREFOSV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B0b25pcmFtY2hhbmRhbmk/c291cmNlPXBvc3RfcGFnZS0tLWJ5bGluZS0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbkZvbGxvd1xcblxcbjYgbWluIHJlYWRcXG5cXG7Ct1xcblxcbk1hciAyNiwgMjAyNVxcblxcbltdKGh0dHBzOi8vbWVkaXVtLmNvbS9tL3NpZ25pbj9hY3Rpb25Vcmw9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGXyUyRnZvdGUlMkZkYXRhLWFuZC1iZXlvbmQlMkY3NGMyMTRkZTc2OWUmb3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRmRhdGEtYW5kLWJleW9uZCUyRnBhcnQtMS1pbnRyb2R1Y3Rpb24tdG8tbjhuLXdoYXQtaXQtaXMtYW5kLWhvdy1pdC13b3Jrcy03NGMyMTRkZTc2OWUmdXNlcj1UT05JK1JBTUNIQU5EQU5JJnVzZXJJZD1mMTcxZDc3Y2RlYzYmc291cmNlPS0tLWhlYWRlcl9hY3Rpb25zLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS1jbGFwX2Zvb3Rlci0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG40MTJcXG5cXG42XFxuXFxuW10oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP2FjdGlvblVybD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZfJTJGYm9va21hcmslMkZwJTJGNzRjMjE0ZGU3NjllJm9wZXJhdGlvbj1yZWdpc3RlciZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZkYXRhLWFuZC1iZXlvbmQlMkZwYXJ0LTEtaW50cm9kdWN0aW9uLXRvLW44bi13aGF0LWl0LWlzLWFuZC1ob3ctaXQtd29ya3MtNzRjMjE0ZGU3NjllJnNvdXJjZT0tLS1oZWFkZXJfYWN0aW9ucy0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tYm9va21hcmtfZm9vdGVyLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbltMaXN0ZW5dKGh0dHBzOi8vbWVkaXVtLmNvbS9tL3NpZ25pbj9hY3Rpb25Vcmw9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGcGxhbnMlM0ZkaW1lbnNpb24lM0Rwb3N0X2F1ZGlvX2J1dHRvbiUyNnBvc3RJZCUzRDc0YzIxNGRlNzY5ZSZvcGVyYXRpb249cmVnaXN0ZXImcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGZGF0YS1hbmQtYmV5b25kJTJGcGFydC0xLWludHJvZHVjdGlvbi10by1uOG4td2hhdC1pdC1pcy1hbmQtaG93LWl0LXdvcmtzLTc0YzIxNGRlNzY5ZSZzb3VyY2U9LS0taGVhZGVyX2FjdGlvbnMtLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLXBvc3RfYXVkaW9fYnV0dG9uLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcblNoYXJlXFxuXFxuSGV5IGV2ZXJ5b25lLCB3ZWxjb21lIHRvIHRoaXMgc2VyaWVzISBUb2RheSwgd2XigJlyZSBraWNraW5nIG9mZiBvdXIgam91cm5leSBpbnRvIHRoZSB3b3JsZCBvZiBhdXRvbWF0aW9uIHdpdGggbjhuIOKAlCB0aGUgb25lLXN0b3Agd29ya2Zsb3cgYXV0b21hdGlvbiBwbGF0Zm9ybSB0aGF04oCZcyByZXZvbHV0aW9uaXppbmcgaG93IHdlIGNvbm5lY3QgYXBwcyBhbmQgc2ltcGxpZnkgb3VyIGRhaWx5IHRhc2tzLiBJZiB5b3XigJl2ZSBldmVyIGZlbHQgb3ZlcndoZWxtZWQgYnkganVnZ2xpbmcgbXVsdGlwbGUgYXBwcywgbWFudWFsIGRhdGEgZW50cnksIGFuZCByZXBldGl0aXZlIHRhc2tzLCB5b3XigJlyZSBpbiB0aGUgcmlnaHQgcGxhY2UuIExldOKAmXMgZGl2ZSBpbiFcXG5cXG4+IEJlZm9yZSB3ZSBwcm9jZWVkIGZ1cnRoZXIsIEnigJlkIGxpa2UgdG8gaW52aXRlIHlvdSBvbiBhIGRlZXBlciBleHBsb3JhdGlvbiBpbnRvIHRoZSB3b3JsZCBvZiBnZW5lcmF0aXZlIEFJIHdpdGggbXkgYm9vaywgKirigJxBIEdlbmVyYXRpdmUgSm91cm5leSB0byBBSeKAnSoqLlxcbj4gXFxuPiBcXG4+IFRoaXMgYm9vayBpcyB5b3VyIHVsdGltYXRlIGd1aWRlIHRvIG1hc3RlcmluZyB0aGUgZm91bmRhdGlvbnMgYW5kIGN1dHRpbmctZWRnZSBpbm5vdmF0aW9ucyBpbiBnZW5lcmF0aXZlIEFJLCBvZmZlcmluZyBpbnNpZ2h0cyBhbmQgcHJhY3RpY2FsIHN0cmF0ZWdpZXMgdG8gdHJhbnNmb3JtIHlvdXIgdW5kZXJzdGFuZGluZyBhbmQgd29yayBpbiB0aGUgZmllbGQuXFxuPiBcXG4+IFxcbj4gWW91IGNhbiBncmFiIHlvdXIgY29weSBvbiBbQW1hem9uXShodHRwczovL3d3dy5hbWF6b24uaW4vR2VuZXJhdGl2ZS1Kb3VybmV5LU1hc3RlcmluZy1mb3VuZGF0aW9ucy1nZW5lcmF0aXZlL2RwLzkzNjU4OTA4NDUpLlxcbj4gXFxuPiBcXG4+IEFuZCBpZiB5b3UgYXBwcmVjaWF0ZSB0aGlzIGNvbnRlbnQgYW5kIHdhbnQgdG8gc3VwcG9ydCBteSB3b3JrLCBwbGVhc2UgZ2l2ZSBtZSA1MCBjbGFwcyBhbmQgY29uc2lkZXIgYnV5aW5nIG1lIGEgY29mZmVlIHZpYSBbQnV5IE1lIEEgQ29mZmVlXShodHRwczovL2J1eW1lYWNvZmZlZS5jb20vdG9uaXJhbWNoYW5kYW5pP2w9ZW4pLiBUaGFuayB5b3UgZm9yIHlvdXIgc3VwcG9ydCwgYW5kIGxldOKAmXMgZGl2ZSBpbiFcXG5cXG5PdmVydmlld1xcbi0tLS0tLS0tXFxuXFxuSW1hZ2luZSBhIGRheSB3aGVyZSBhbGwgeW91ciBmYXZvcml0ZSBhcHBzIOKAlCBmcm9tIHlvdXIgZW1haWwgYW5kIENSTSB0byBzb2NpYWwgbWVkaWEgYW5kIGRhdGFiYXNlcyDigJQgYXJlIHNlYW1sZXNzbHkgY29ubmVjdGVkLiBObyBtb3JlIHN3aXRjaGluZyBiYWNrIGFuZCBmb3J0aCwgbm8gbW9yZSB0ZWRpb3VzIG1hbnVhbCB3b3JrLiBUaGF04oCZcyB3aGF0IG44biBicmluZ3MgdG8gdGhlIHRhYmxlLlxcblxcblByZXNzIGVudGVyIG9yIGNsaWNrIHRvIHZpZXcgaW1hZ2UgaW4gZnVsbCBzaXplXFxuXFxuIVtJbWFnZSA2XShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjcwMC8wKkctNUYzOHJCU3RqbE1Od2QucG5nKVxcblxcbkNyZWF0ZSBhbiBhY2NvdW50IHRvIHJlYWQgdGhlIGZ1bGwgc3RvcnkuXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5UaGUgYXV0aG9yIG1hZGUgdGhpcyBzdG9yeSBhdmFpbGFibGUgdG8gTWVkaXVtIG1lbWJlcnMgb25seS5cXG5cXG5JZiB5b3XigJlyZSBuZXcgdG8gTWVkaXVtLCBjcmVhdGUgYSBuZXcgYWNjb3VudCB0byByZWFkIHRoaXMgc3Rvcnkgb24gdXMuXFxuXFxuW0NvbnRpbnVlIGluIGFwcF0oaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vc3RvcmUvYXBwcy9kZXRhaWxzP2lkPWNvbS5tZWRpdW0ucmVhZGVyJnJlZmVycmVyPXV0bV9zb3VyY2UlM0RyZWd3YWxsJnNvdXJjZT0tLS0tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLXBvc3RfcmVnd2FsbC0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5PciwgY29udGludWUgaW4gbW9iaWxlIHdlYlxcblxcbltTaWduIHVwIHdpdGggR29vZ2xlXShodHRwczovL21lZGl1bS5jb20vbS9jb25uZWN0L2dvb2dsZT9zdGF0ZT1nb29nbGUtJTdDaHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGZGF0YS1hbmQtYmV5b25kJTJGcGFydC0xLWludHJvZHVjdGlvbi10by1uOG4td2hhdC1pdC1pcy1hbmQtaG93LWl0LXdvcmtzLTc0YzIxNGRlNzY5ZSUzRnNvdXJjZSUzRC0tLS0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tcG9zdF9yZWd3YWxsLS0tLS0tLS0tLS0tLS0tLS0tJTI2c2tpcE9uYm9hcmRpbmclM0QxJTdDcmVnaXN0ZXImc291cmNlPS0tLS0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tcG9zdF9yZWd3YWxsLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbltTaWduIHVwIHdpdGggRmFjZWJvb2tdKGh0dHBzOi8vbWVkaXVtLmNvbS9tL2Nvbm5lY3QvZmFjZWJvb2s/c3RhdGU9ZmFjZWJvb2stJTdDaHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGZGF0YS1hbmQtYmV5b25kJTJGcGFydC0xLWludHJvZHVjdGlvbi10by1uOG4td2hhdC1pdC1pcy1hbmQtaG93LWl0LXdvcmtzLTc0YzIxNGRlNzY5ZSUzRnNvdXJjZSUzRC0tLS0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tcG9zdF9yZWd3YWxsLS0tLS0tLS0tLS0tLS0tLS0tJTI2c2tpcE9uYm9hcmRpbmclM0QxJTdDcmVnaXN0ZXImc291cmNlPS0tLS0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tcG9zdF9yZWd3YWxsLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcblNpZ24gdXAgd2l0aCBlbWFpbFxcblxcbkFscmVhZHkgaGF2ZSBhbiBhY2NvdW50PyBbU2lnbiBpbl0oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP29wZXJhdGlvbj1sb2dpbiZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZkYXRhLWFuZC1iZXlvbmQlMkZwYXJ0LTEtaW50cm9kdWN0aW9uLXRvLW44bi13aGF0LWl0LWlzLWFuZC1ob3ctaXQtd29ya3MtNzRjMjE0ZGU3NjllJnNvdXJjZT0tLS0tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLXBvc3RfcmVnd2FsbC0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZ2b3RlJTJGZGF0YS1hbmQtYmV5b25kJTJGNzRjMjE0ZGU3NjllJm9wZXJhdGlvbj1yZWdpc3RlciZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZkYXRhLWFuZC1iZXlvbmQlMkZwYXJ0LTEtaW50cm9kdWN0aW9uLXRvLW44bi13aGF0LWl0LWlzLWFuZC1ob3ctaXQtd29ya3MtNzRjMjE0ZGU3NjllJnVzZXI9VE9OSStSQU1DSEFOREFOSSZ1c2VySWQ9ZjE3MWQ3N2NkZWM2JnNvdXJjZT0tLS1mb290ZXJfYWN0aW9ucy0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tY2xhcF9mb290ZXItLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuNDEyXFxuXFxuW10oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP2FjdGlvblVybD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZfJTJGdm90ZSUyRmRhdGEtYW5kLWJleW9uZCUyRjc0YzIxNGRlNzY5ZSZvcGVyYXRpb249cmVnaXN0ZXImcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGZGF0YS1hbmQtYmV5b25kJTJGcGFydC0xLWludHJvZHVjdGlvbi10by1uOG4td2hhdC1pdC1pcy1hbmQtaG93LWl0LXdvcmtzLTc0YzIxNGRlNzY5ZSZ1c2VyPVRPTkkrUkFNQ0hBTkRBTkkmdXNlcklkPWYxNzFkNzdjZGVjNiZzb3VyY2U9LS0tZm9vdGVyX2FjdGlvbnMtLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLWNsYXBfZm9vdGVyLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbjQxMlxcblxcbjZcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZib29rbWFyayUyRnAlMkY3NGMyMTRkZTc2OWUmb3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRmRhdGEtYW5kLWJleW9uZCUyRnBhcnQtMS1pbnRyb2R1Y3Rpb24tdG8tbjhuLXdoYXQtaXQtaXMtYW5kLWhvdy1pdC13b3Jrcy03NGMyMTRkZTc2OWUmc291cmNlPS0tLWZvb3Rlcl9hY3Rpb25zLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS1ib29rbWFya19mb290ZXItLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuWyFbSW1hZ2UgNzogRGF0YSBBbmQgQmV5b25kXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDo5Njo5Ni8xKms3MlU3aEhMYjlFRlhENUNMc2J6RlEucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZD9zb3VyY2U9cG9zdF9wYWdlLS0tcG9zdF9wdWJsaWNhdGlvbl9pbmZvLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuWyFbSW1hZ2UgODogRGF0YSBBbmQgQmV5b25kXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoxMjg6MTI4LzEqazcyVTdoSExiOUVGWEQ1Q0xzYnpGUS5wbmcpXShodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kP3NvdXJjZT1wb3N0X3BhZ2UtLS1wb3N0X3B1YmxpY2F0aW9uX2luZm8tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5Gb2xsb3dcXG5cXG5bUHVibGlzaGVkIGluIERhdGEgQW5kIEJleW9uZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXShodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kP3NvdXJjZT1wb3N0X3BhZ2UtLS1wb3N0X3B1YmxpY2F0aW9uX2luZm8tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bMS42SyBmb2xsb3dlcnNdKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQvZm9sbG93ZXJzP3NvdXJjZT1wb3N0X3BhZ2UtLS1wb3N0X3B1YmxpY2F0aW9uX2luZm8tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG7Ct1tMYXN0IHB1Ymxpc2hlZCA1IGhvdXJzIGFnb10oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZC90aGUtZnV0dXJlLW9mLWZyb250LWVuZC1kZXZlbG9wbWVudC13aGF0cy1jb21pbmctbmV4dC02NDkwOWI4MGMwZmY/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfcHVibGljYXRpb25faW5mby0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcblNlbGVjdGVkIHN0b3JpZXMgYXJvdW5kIERhdGEgU2NpZW5jZSwgTWFjaGluZSBMZWFybmluZywgQXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UsIFByb2dyYW1taW5nLCBhbmQgVGVjaG5vbG9neSB0b3BpY3MuIFdyaXRpbmcgZ3VpZGU6IFtodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kL2hvdy10by13cml0ZS1mb3ItZGF0YS1hbmQtYmV5b25kLWI4M2ZmMGYzODEzZV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZC9ob3ctdG8td3JpdGUtZm9yLWRhdGEtYW5kLWJleW9uZC1iODNmZjBmMzgxM2UpXFxuXFxuRm9sbG93XFxuXFxuWyFbSW1hZ2UgOTogVE9OSSBSQU1DSEFOREFOSV0oaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpbGw6OTY6OTYvMSpycVR0YjY0NGxXVl9rcTZ2V1FXSkVBLmpwZWcpXShodHRwczovL21lZGl1bS5jb20vQHRvbmlyYW1jaGFuZGFuaT9zb3VyY2U9cG9zdF9wYWdlLS0tcG9zdF9hdXRob3JfaW5mby0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcblshW0ltYWdlIDEwOiBUT05JIFJBTUNIQU5EQU5JXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoxMjg6MTI4LzEqcnFUdGI2NDRsV1Zfa3E2dldRV0pFQS5qcGVnKV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B0b25pcmFtY2hhbmRhbmk/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfYXV0aG9yX2luZm8tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5Gb2xsb3dcXG5cXG5bV3JpdHRlbiBieSBUT05JIFJBTUNIQU5EQU5JIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B0b25pcmFtY2hhbmRhbmk/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfYXV0aG9yX2luZm8tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bMUsgZm9sbG93ZXJzXShodHRwczovL21lZGl1bS5jb20vQHRvbmlyYW1jaGFuZGFuaS9mb2xsb3dlcnM/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfYXV0aG9yX2luZm8tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG7Ct1szNzUgZm9sbG93aW5nXShodHRwczovL21lZGl1bS5jb20vQHRvbmlyYW1jaGFuZGFuaS9mb2xsb3dpbmc/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfYXV0aG9yX2luZm8tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5BIFBhc3Npb25hdGUgVGVjaG5vY3JhdCBbaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2luL3RvbmktcmFtY2hhbmRhbmkvXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vdG9uaS1yYW1jaGFuZGFuaS8pXFxuXFxuRm9sbG93XFxuXFxuUmVzcG9uc2VzICg2KVxcbi0tLS0tLS0tLS0tLS1cXG5cXG5bXShodHRwczovL3BvbGljeS5tZWRpdW0uY29tL21lZGl1bS1ydWxlcy0zMGU1NTAyYzRlYjQ/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfcmVzcG9uc2VzLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuIVtJbWFnZSAxMTogVWxpIENoYWxpY2VdKGh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaWxsOjMyOjMyLzEqZG1iTmtENUQtdTQ1cjQ0Z29fY2YwZy5wbmcpXFxuXFxuV3JpdGUgYSByZXNwb25zZVxcblxcbltXaGF0IGFyZSB5b3VyIHRob3VnaHRzP10oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP29wZXJhdGlvbj1yZWdpc3RlciZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZkYXRhLWFuZC1iZXlvbmQlMkZwYXJ0LTEtaW50cm9kdWN0aW9uLXRvLW44bi13aGF0LWl0LWlzLWFuZC1ob3ctaXQtd29ya3MtNzRjMjE0ZGU3NjllJnNvdXJjZT0tLS1wb3N0X3Jlc3BvbnNlcy0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tcmVzcG9uZF9zaWRlYmFyLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbkNhbmNlbFxcblxcblJlc3BvbmRcXG5cXG5bIVtJbWFnZSAxMjogSXNoYW4gRGV2IFNodWtsXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDozMjozMi8xKmZaeVNZSkx2WTBQSDNTekUyZy1BaUEucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL0Bpc2hhbmRldnNodWtsP3NvdXJjZT1wb3N0X3BhZ2UtLS1wb3N0X3Jlc3BvbnNlcy0tNzRjMjE0ZGU3NjllLS0tLTAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bSXNoYW4gRGV2IFNodWtsXShodHRwczovL21lZGl1bS5jb20vQGlzaGFuZGV2c2h1a2w/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfcmVzcG9uc2VzLS03NGMyMTRkZTc2OWUtLS0tMC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbltNYXIgMjZdKGh0dHBzOi8vbWVkaXVtLmNvbS9AaXNoYW5kZXZzaHVrbC9ncmVhdC1pbnNpZ2h0cy1kZjEzNzRkMmNmM2E/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfcmVzcG9uc2VzLS03NGMyMTRkZTc2OWUtLS0tMC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbkdyZWF0IGluc2lnaHRzIPCfkY/wn4+7XFxuXFxuW10oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP2FjdGlvblVybD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZfJTJGdm90ZSUyRnAlMkZkZjEzNzRkMmNmM2Emb3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRiU0MGlzaGFuZGV2c2h1a2wlMkZncmVhdC1pbnNpZ2h0cy1kZjEzNzRkMmNmM2EmdXNlcj1Jc2hhbitEZXYrU2h1a2wmdXNlcklkPWVmNmM4NTlmMDQ2ZiZzb3VyY2U9LS0tcG9zdF9yZXNwb25zZXMtLWRmMTM3NGQyY2YzYS0tLS0wLS0tLS0tLS0tLS0tLS0tLS1yZXNwb25kX3NpZGViYXItLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuMTFcXG5cXG5SZXBseVxcblxcblshW0ltYWdlIDEzOiBVbGkgQ2hhbGljZV0oaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpbGw6MzI6MzIvMSpkbWJOa0Q1RC11NDVyNDRnb19jZjBnLnBuZyldKGh0dHBzOi8vbWVkaXVtLmNvbS9AdWxpLmNoYWxpY2UxNDc/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfcmVzcG9uc2VzLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbltVbGkgQ2hhbGljZV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B1bGkuY2hhbGljZTE0Nz9zb3VyY2U9cG9zdF9wYWdlLS0tcG9zdF9yZXNwb25zZXMtLTc0YzIxNGRlNzY5ZS0tLS0xLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW0F1ZyA0XShodHRwczovL21lZGl1bS5jb20vQHVsaS5jaGFsaWNlMTQ3L25pY2UtYXJ0aWNsZS13b3VsZC1sb3ZlLXRvLWhlYXItbW9yZS1hYm91dC10b29scy1saWtlLXRoYXQtcGVyaGFwcy13aXRoLWhvbWUtaW5kdXN0cmlhbC1leGFtcGxlcy0wMjY5NGMzYmE2Y2I/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfcmVzcG9uc2VzLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbk5pY2UgYXJ0aWNsZSwgd291bGQgbG92ZSB0byBoZWFyIG1vcmUgYWJvdXQgdG9vbHMgbGlrZSB0aGF0IHBlcmhhcHMgd2l0aCBob21lL2luZHVzdHJpYWwgZXhhbXBsZXMgb2YgYXBwbGljYXRpb24uIEl0IHNvdW5kcyB0b28gdGVjaHkganVzdCBub3dcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZ2b3RlJTJGcCUyRjAyNjk0YzNiYTZjYiZvcGVyYXRpb249cmVnaXN0ZXImcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGJTQwdWxpLmNoYWxpY2UxNDclMkZuaWNlLWFydGljbGUtd291bGQtbG92ZS10by1oZWFyLW1vcmUtYWJvdXQtdG9vbHMtbGlrZS10aGF0LXBlcmhhcHMtd2l0aC1ob21lLWluZHVzdHJpYWwtZXhhbXBsZXMtMDI2OTRjM2JhNmNiJnVzZXI9VWxpK0NoYWxpY2UmdXNlcklkPWI2ZmYyMTcxYzJjZiZzb3VyY2U9LS0tcG9zdF9yZXNwb25zZXMtLTAyNjk0YzNiYTZjYi0tLS0xLS0tLS0tLS0tLS0tLS0tLS1yZXNwb25kX3NpZGViYXItLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuM1xcblxcbjEgcmVwbHlcXG5cXG5SZXBseVxcblxcblshW0ltYWdlIDE0OiBTYWNoaW4gR29yYV0oaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpbGw6MzI6MzIvMCpsTUR1X0Z5Uk9vTkVJczcwKV0oaHR0cHM6Ly9tZWRpdW0uY29tL0BzYWNoaW5nb3JhMTIzND9zb3VyY2U9cG9zdF9wYWdlLS0tcG9zdF9yZXNwb25zZXMtLTc0YzIxNGRlNzY5ZS0tLS0yLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW1NhY2hpbiBHb3JhXShodHRwczovL21lZGl1bS5jb20vQHNhY2hpbmdvcmExMjM0P3NvdXJjZT1wb3N0X3BhZ2UtLS1wb3N0X3Jlc3BvbnNlcy0tNzRjMjE0ZGU3NjllLS0tLTItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bSnVuIDE1XShodHRwczovL21lZGl1bS5jb20vQHNhY2hpbmdvcmExMjM0L2luc2lnaHRmdWwtY29udGVudC02ZGM0ZGMxZDRkMTI/c291cmNlPXBvc3RfcGFnZS0tLXBvc3RfcmVzcG9uc2VzLS03NGMyMTRkZTc2OWUtLS0tMi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbmluc2lnaHRmdWwgY29udGVudCA6KTopOilcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZ2b3RlJTJGcCUyRjZkYzRkYzFkNGQxMiZvcGVyYXRpb249cmVnaXN0ZXImcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGJTQwc2FjaGluZ29yYTEyMzQlMkZpbnNpZ2h0ZnVsLWNvbnRlbnQtNmRjNGRjMWQ0ZDEyJnVzZXI9U2FjaGluK0dvcmEmdXNlcklkPWM0N2Q5NTc4YmZlZSZzb3VyY2U9LS0tcG9zdF9yZXNwb25zZXMtLTZkYzRkYzFkNGQxMi0tLS0yLS0tLS0tLS0tLS0tLS0tLS1yZXNwb25kX3NpZGViYXItLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuMlxcblxcblJlcGx5XFxuXFxuU2VlIGFsbCByZXNwb25zZXNcXG5cXG5Nb3JlIGZyb20gVE9OSSBSQU1DSEFOREFOSSBhbmQgRGF0YSBBbmQgQmV5b25kXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbiFbSW1hZ2UgMTU6IEhvdyBEZWVwU2VlayBPQ1IgUXVpZXRseSBTb2x2ZWQgYSBCaWxsaW9uLURvbGxhciBQcm9ibGVtIGluIEFJIFNjYWxpbmddKGh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaXQ6Njc5L2Zvcm1hdDp3ZWJwLzAqT2dFY3RNY29oSG1kY0NTdilcXG5cXG5bIVtJbWFnZSAxNjogRGF0YSBBbmQgQmV5b25kXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoyMDoyMC8xKms3MlU3aEhMYjlFRlhENUNMc2J6RlEucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZD9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTAtLS0tLS0tLS0tLS0tLS0tLS0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG5JblxcblxcbltEYXRhIEFuZCBCZXlvbmRdKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQ/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0wLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuYnlcXG5cXG5bVE9OSSBSQU1DSEFOREFOSV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B0b25pcmFtY2hhbmRhbmk/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0wLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuW0hvdyBEZWVwU2VlayBPQ1IgUXVpZXRseSBTb2x2ZWQgYSBCaWxsaW9uLURvbGxhciBQcm9ibGVtIGluIEFJIFNjYWxpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMgQSB0ZWNobmljYWwgbWFydmVsIHVzaW5nIFNBTSwgQ0xJUCwgYW5kIGEgc3BhcnNlIE1vRSBkZWNvZGVyIOKAlCBhdCBvcGVuLXNvdXJjZSBzY2FsZS5dKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQvaG93LWRlZXBzZWVrLW9jci1xdWlldGx5LXNvbHZlZC1hLWJpbGxpb24tZG9sbGFyLXByb2JsZW0taW4tYWktc2NhbGluZy03YjQ1MDI2MTNhZjk/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0wLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuT2N0IDI0XFxuXFxuWzEuNEsgMTddKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQvaG93LWRlZXBzZWVrLW9jci1xdWlldGx5LXNvbHZlZC1hLWJpbGxpb24tZG9sbGFyLXByb2JsZW0taW4tYWktc2NhbGluZy03YjQ1MDI2MTNhZjk/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0wLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuW10oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP2FjdGlvblVybD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZfJTJGYm9va21hcmslMkZwJTJGN2I0NTAyNjEzYWY5Jm9wZXJhdGlvbj1yZWdpc3RlciZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZkYXRhLWFuZC1iZXlvbmQlMkZob3ctZGVlcHNlZWstb2NyLXF1aWV0bHktc29sdmVkLWEtYmlsbGlvbi1kb2xsYXItcHJvYmxlbS1pbi1haS1zY2FsaW5nLTdiNDUwMjYxM2FmOSZzb3VyY2U9LS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTAtLS0tLS0tLS0tLS0tLS0tLWJvb2ttYXJrX3ByZXZpZXctLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuIVtJbWFnZSAxNzogQWZ0ZXIgbXkgVmlyYWwgU3RvcnkgYW5kIGEgKzUwIFByb21wdGJvb2sgU2FsZXM6IEhlcmUgaXMgdGhlIEZpbmFsIFZlcmJhbGl6ZWQtU2FtcGxpbmcgU3lzdGVt4oCmXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjY3OS9mb3JtYXQ6d2VicC8xKktjSjdCYmFKWXRSd0JveDZVMTBfT1EucG5nKVxcblxcblshW0ltYWdlIDE4OiBEYXRhIEFuZCBCZXlvbmRdKGh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaWxsOjIwOjIwLzEqazcyVTdoSExiOUVGWEQ1Q0xzYnpGUS5wbmcpXShodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kP3NvdXJjZT1wb3N0X3BhZ2UtLS1hdXRob3JfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLWY0ZmJkMjAxXzhiZDVfNGQ4Nl85N2RlXzU1OTQ2N2RlZWI0Ni0tLS0tLS0tLS0tLS0tKVxcblxcbkluXFxuXFxuW0RhdGEgQW5kIEJleW9uZF0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZD9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTEtLS0tLS0tLS0tLS0tLS0tLS0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG5ieVxcblxcbltBZGhhbSBLaGFsZWRdKGh0dHBzOi8vbWVkaXVtLmNvbS9AYWRoYW1oaWRhd3k/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0xLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuW0FmdGVyIG15IFZpcmFsIFN0b3J5IGFuZCBhICs1MCBQcm9tcHRib29rIFNhbGVzOiBIZXJlIGlzIHRoZSBGaW5hbCBWZXJiYWxpemVkLVNhbXBsaW5nIFN5c3RlbeKApiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjIyBGcmVlIFZlcmJhbGl6ZWQgU2FtcGxpbmcgc3lzdGVtIHByb21wdHMgZm9yIENoYXRHUFQsIENsYXVkZSwgR2VtaW5pLCBDb3BpbG90LCBhbmQgUGVycGxleGl0eS4gTWFrZSB5b3VyIEFJIHBlcm1hbmVudGx5IGNyZWF0aXZlIGluIDYw4oCmXShodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kL2FmdGVyLW15LXZpcmFsLXN0b3J5LWFuZC1hLTUwLXByb21wdGJvb2stc2FsZXMtaGVyZS1pcy10aGUtZmluYWwtdmVyYmFsaXplZC1zYW1wbGluZy1zeXN0ZW0tNjI4MTVjMDgzNjIxP3NvdXJjZT1wb3N0X3BhZ2UtLS1hdXRob3JfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLWY0ZmJkMjAxXzhiZDVfNGQ4Nl85N2RlXzU1OTQ2N2RlZWI0Ni0tLS0tLS0tLS0tLS0tKVxcblxcbk5vdiAyM1xcblxcblsyODAgNl0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZC9hZnRlci1teS12aXJhbC1zdG9yeS1hbmQtYS01MC1wcm9tcHRib29rLXNhbGVzLWhlcmUtaXMtdGhlLWZpbmFsLXZlcmJhbGl6ZWQtc2FtcGxpbmctc3lzdGVtLTYyODE1YzA4MzYyMT9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTEtLS0tLS0tLS0tLS0tLS0tLS0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZib29rbWFyayUyRnAlMkY2MjgxNWMwODM2MjEmb3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRmRhdGEtYW5kLWJleW9uZCUyRmFmdGVyLW15LXZpcmFsLXN0b3J5LWFuZC1hLTUwLXByb21wdGJvb2stc2FsZXMtaGVyZS1pcy10aGUtZmluYWwtdmVyYmFsaXplZC1zYW1wbGluZy1zeXN0ZW0tNjI4MTVjMDgzNjIxJnNvdXJjZT0tLS1hdXRob3JfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tYm9va21hcmtfcHJldmlldy0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG4hW0ltYWdlIDE5OiBJIERvbuKAmXQgVXNlIE1pY3Jvc29mdCBXb3JkIGZvciBNYXRoIEFueW1vcmUuIEdlbWluaeKAmXMgTGFUZVggVXBncmFkZSBDaGFuZ2VkIEV2ZXJ5dGhpbmcuXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjY3OS9mb3JtYXQ6d2VicC8xKl8wYTZDMEhDSV9YaUpPVDBWUjlBUHcuanBlZylcXG5cXG5bIVtJbWFnZSAyMDogRGF0YSBBbmQgQmV5b25kXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoyMDoyMC8xKms3MlU3aEhMYjlFRlhENUNMc2J6RlEucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZD9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTItLS0tLS0tLS0tLS0tLS0tLS0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG5JblxcblxcbltEYXRhIEFuZCBCZXlvbmRdKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQ/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0yLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuYnlcXG5cXG5bQWRoYW0gS2hhbGVkXShodHRwczovL21lZGl1bS5jb20vQGFkaGFtaGlkYXd5P3NvdXJjZT1wb3N0X3BhZ2UtLS1hdXRob3JfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMi0tLS0tLS0tLS0tLS0tLS0tLS0tLWY0ZmJkMjAxXzhiZDVfNGQ4Nl85N2RlXzU1OTQ2N2RlZWI0Ni0tLS0tLS0tLS0tLS0tKVxcblxcbltJIERvbuKAmXQgVXNlIE1pY3Jvc29mdCBXb3JkIGZvciBNYXRoIEFueW1vcmUuIEdlbWluaeKAmXMgTGFUZVggVXBncmFkZSBDaGFuZ2VkIEV2ZXJ5dGhpbmcuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMgSSB0cmllZCBHZW1pbmnigJlzIG5ldyBMYVRlWCBmZWF0dXJlcyDigJQgaGVyZeKAmXMgaG93IHRoZXkgZml4IG1hdGggZm9yIHN0dWRlbnRzLCBlbmdpbmVlcnMsIGFuZCBjcmVhdG9ycyAoYW5kIHdoeSB5b3Ugc2hvdWxkIGNhcmUpLl0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZC9pLWRvbnQtdXNlLW1pY3Jvc29mdC13b3JkLWZvci1tYXRoLWFueW1vcmUtZ2VtaW5pLXMtbGF0ZXgtdXBncmFkZS1jaGFuZ2VkLWV2ZXJ5dGhpbmctZjA4MGJjODliNzM2P3NvdXJjZT1wb3N0X3BhZ2UtLS1hdXRob3JfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMi0tLS0tLS0tLS0tLS0tLS0tLS0tLWY0ZmJkMjAxXzhiZDVfNGQ4Nl85N2RlXzU1OTQ2N2RlZWI0Ni0tLS0tLS0tLS0tLS0tKVxcblxcbk9jdCAyM1xcblxcbls2MjUgMTddKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQvaS1kb250LXVzZS1taWNyb3NvZnQtd29yZC1mb3ItbWF0aC1hbnltb3JlLWdlbWluaS1zLWxhdGV4LXVwZ3JhZGUtY2hhbmdlZC1ldmVyeXRoaW5nLWYwODBiYzg5YjczNj9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTItLS0tLS0tLS0tLS0tLS0tLS0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZib29rbWFyayUyRnAlMkZmMDgwYmM4OWI3MzYmb3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRmRhdGEtYW5kLWJleW9uZCUyRmktZG9udC11c2UtbWljcm9zb2Z0LXdvcmQtZm9yLW1hdGgtYW55bW9yZS1nZW1pbmktcy1sYXRleC11cGdyYWRlLWNoYW5nZWQtZXZlcnl0aGluZy1mMDgwYmM4OWI3MzYmc291cmNlPS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0yLS0tLS0tLS0tLS0tLS0tLS1ib29rbWFya19wcmV2aWV3LS0tLWY0ZmJkMjAxXzhiZDVfNGQ4Nl85N2RlXzU1OTQ2N2RlZWI0Ni0tLS0tLS0tLS0tLS0tKVxcblxcbiFbSW1hZ2UgMjE6IElCTeKAmXMgR3Jhbml0ZSBEb2NsaW5nIDI1OE0gJiBJdHMgRG9jVGFnIFJldm9sdXRpb246IFRoZSBNb2RlbCBUaGF0IERvZXNu4oCZdCBGbGF0dGVuIFlvdXIgRGF0YV0oaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpdDo2NzkvZm9ybWF0OndlYnAvMCpMXzhSbWNhVjdFTXUyZDNWLnBuZylcXG5cXG5bIVtJbWFnZSAyMjogRGF0YSBBbmQgQmV5b25kXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoyMDoyMC8xKms3MlU3aEhMYjlFRlhENUNMc2J6RlEucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZD9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTMtLS0tLS0tLS0tLS0tLS0tLS0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG5JblxcblxcbltEYXRhIEFuZCBCZXlvbmRdKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQ/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0zLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuYnlcXG5cXG5bVE9OSSBSQU1DSEFOREFOSV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B0b25pcmFtY2hhbmRhbmk/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0zLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuW0lCTeKAmXMgR3Jhbml0ZSBEb2NsaW5nIDI1OE0gJiBJdHMgRG9jVGFnIFJldm9sdXRpb246IFRoZSBNb2RlbCBUaGF0IERvZXNu4oCZdCBGbGF0dGVuIFlvdXIgRGF0YSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMgQSBzdG9yeXRlbGxpbmcgam91cm5leSBpbnRvIGhvdyBJQk0gdHVybmVkIHZpc2lvbiwgbGFuZ3VhZ2UsIGFuZCBzdHJ1Y3R1cmUgaW50byBhIGxheW91dC1wcmVzZXJ2aW5nIEFJIGJ1aWx0IGZvciB0aGUgUkFHIGVyYV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZC9pYm1zLWdyYW5pdGUtZG9jbGluZy0yNThtLWl0cy1kb2N0YWctcmV2b2x1dGlvbi10aGUtbW9kZWwtdGhhdC1kb2Vzbi10LWZsYXR0ZW4teW91ci1kYXRhLWExNDlkM2FhNTgwZT9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTMtLS0tLS0tLS0tLS0tLS0tLS0tLS1mNGZiZDIwMV84YmQ1XzRkODZfOTdkZV81NTk0NjdkZWViNDYtLS0tLS0tLS0tLS0tLSlcXG5cXG5TZXAgMjRcXG5cXG5bMjIzIDJdKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQvaWJtcy1ncmFuaXRlLWRvY2xpbmctMjU4bS1pdHMtZG9jdGFnLXJldm9sdXRpb24tdGhlLW1vZGVsLXRoYXQtZG9lc24tdC1mbGF0dGVuLXlvdXItZGF0YS1hMTQ5ZDNhYTU4MGU/c291cmNlPXBvc3RfcGFnZS0tLWF1dGhvcl9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0zLS0tLS0tLS0tLS0tLS0tLS0tLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuW10oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP2FjdGlvblVybD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZfJTJGYm9va21hcmslMkZwJTJGYTE0OWQzYWE1ODBlJm9wZXJhdGlvbj1yZWdpc3RlciZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZkYXRhLWFuZC1iZXlvbmQlMkZpYm1zLWdyYW5pdGUtZG9jbGluZy0yNThtLWl0cy1kb2N0YWctcmV2b2x1dGlvbi10aGUtbW9kZWwtdGhhdC1kb2Vzbi10LWZsYXR0ZW4teW91ci1kYXRhLWExNDlkM2FhNTgwZSZzb3VyY2U9LS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTMtLS0tLS0tLS0tLS0tLS0tLWJvb2ttYXJrX3ByZXZpZXctLS0tZjRmYmQyMDFfOGJkNV80ZDg2Xzk3ZGVfNTU5NDY3ZGVlYjQ2LS0tLS0tLS0tLS0tLS0pXFxuXFxuW1NlZSBhbGwgZnJvbSBUT05JIFJBTUNIQU5EQU5JXShodHRwczovL21lZGl1bS5jb20vQHRvbmlyYW1jaGFuZGFuaT9zb3VyY2U9cG9zdF9wYWdlLS0tYXV0aG9yX3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbltTZWUgYWxsIGZyb20gRGF0YSBBbmQgQmV5b25kXShodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kP3NvdXJjZT1wb3N0X3BhZ2UtLS1hdXRob3JfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuUmVjb21tZW5kZWQgZnJvbSBNZWRpdW1cXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbiFbSW1hZ2UgMjM6IEkgTGV0IG44biBBdXRvbWF0ZSBNeSBMaWZlIGZvciA3IERheXPigIrigJTigIpIZXJl4oCZcyBXaGF0IEhhcHBlbmVkXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjY3OS9mb3JtYXQ6d2VicC8xKnNyZ19WUHZBOV85N0NRZHQ2MVp4c2cucG5nKVxcblxcblshW0ltYWdlIDI0OiB2ZW4gY29kaW5nXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoyMDoyMC8xKkZYVHBQYjljSFhuT2FtVFdrcGpPT1EucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B2ZW5jb2Rpbmc/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0wLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuW3ZlbiBjb2RpbmddKGh0dHBzOi8vbWVkaXVtLmNvbS9AdmVuY29kaW5nP3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMC0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbltJIExldCBuOG4gQXV0b21hdGUgTXkgTGlmZSBmb3IgNyBEYXlzIOKAlCBIZXJl4oCZcyBXaGF0IEhhcHBlbmVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMgQSByZWFsIGJlZ2lubmVy4oCZcyBndWlkZSB0byBidWlsZGluZyBBSS1wb3dlcmVkIHdvcmtmbG93cyBzdGVwIGJ5IHN0ZXAuXShodHRwczovL21lZGl1bS5jb20vQHZlbmNvZGluZy9pLWxldC1uOG4tYXV0b21hdGUtbXktbGlmZS1mb3ItNy1kYXlzLWhlcmVzLXdoYXQtaGFwcGVuZWQtNWQ5ZDU2ZTNkNWQzP3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMC0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbk9jdCAxMVxcblxcbls0NjIgMTBdKGh0dHBzOi8vbWVkaXVtLmNvbS9AdmVuY29kaW5nL2ktbGV0LW44bi1hdXRvbWF0ZS1teS1saWZlLWZvci03LWRheXMtaGVyZXMtd2hhdC1oYXBwZW5lZC01ZDlkNTZlM2Q1ZDM/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0wLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuW10oaHR0cHM6Ly9tZWRpdW0uY29tL20vc2lnbmluP2FjdGlvblVybD1odHRwcyUzQSUyRiUyRm1lZGl1bS5jb20lMkZfJTJGYm9va21hcmslMkZwJTJGNWQ5ZDU2ZTNkNWQzJm9wZXJhdGlvbj1yZWdpc3RlciZyZWRpcmVjdD1odHRwcyUzQSUyRiUyRnZlbmNvZGluZy5tZWRpdW0uY29tJTJGaS1sZXQtbjhuLWF1dG9tYXRlLW15LWxpZmUtZm9yLTctZGF5cy1oZXJlcy13aGF0LWhhcHBlbmVkLTVkOWQ1NmUzZDVkMyZzb3VyY2U9LS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTAtLS0tLS0tLS0tLS0tLS0tLWJvb2ttYXJrX3ByZXZpZXctLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuIVtJbWFnZSAyNTogQnVpbGRpbmcgYSBTZWxmLUltcHJvdmluZyBBZ2VudGljIFJBRyBTeXN0ZW1dKGh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaXQ6Njc5L2Zvcm1hdDp3ZWJwLzEqa2pHRVJDOWFxRHRkWEttS0RPOVVady5wbmcpXFxuXFxuWyFbSW1hZ2UgMjY6IExldmVsIFVwIENvZGluZ10oaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpbGw6MjA6MjAvMSo1RDlvWUJkNThweWpNa1ZfNS16WFhRLmpwZWcpXShodHRwczovL21lZGl1bS5jb20vZ2l0Y29ubmVjdGVkP3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbkluXFxuXFxuW0xldmVsIFVwIENvZGluZ10oaHR0cHM6Ly9tZWRpdW0uY29tL2dpdGNvbm5lY3RlZD9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTEtLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5ieVxcblxcbltGYXJlZWQgS2hhbl0oaHR0cHM6Ly9tZWRpdW0uY29tL0BmYXJlZWRraGFuZGV2P3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbltCdWlsZGluZyBhIFNlbGYtSW1wcm92aW5nIEFnZW50aWMgUkFHIFN5c3RlbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMgU3BlY2lhbGlzdCBhZ2VudHMsIG11bHRpLWRpbWVuc2lvbmFsIGV2YWwsIFBhcmV0byBmcm9udCBhbmQgbW9yZS5dKGh0dHBzOi8vbWVkaXVtLmNvbS9naXRjb25uZWN0ZWQvYnVpbGRpbmctYS1zZWxmLWltcHJvdmluZy1hZ2VudGljLXJhZy1zeXN0ZW0tZjU1MDAzYWY0NGM0P3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbk5vdiAxNFxcblxcblsxLjVLIDExXShodHRwczovL21lZGl1bS5jb20vZ2l0Y29ubmVjdGVkL2J1aWxkaW5nLWEtc2VsZi1pbXByb3ZpbmctYWdlbnRpYy1yYWctc3lzdGVtLWY1NTAwM2FmNDRjND9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTEtLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZib29rbWFyayUyRnAlMkZmNTUwMDNhZjQ0YzQmb3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbGV2ZWx1cC5naXRjb25uZWN0ZWQuY29tJTJGYnVpbGRpbmctYS1zZWxmLWltcHJvdmluZy1hZ2VudGljLXJhZy1zeXN0ZW0tZjU1MDAzYWY0NGM0JnNvdXJjZT0tLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tYm9va21hcmtfcHJldmlldy0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG4hW0ltYWdlIDI3OiBUaGUgQUkgQnViYmxlIElzIEFib3V0IFRvIEJ1cnN0LCBCdXQgVGhlIE5leHQgQnViYmxlIElzIEFscmVhZHkgR3Jvd2luZ10oaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpdDo2NzkvZm9ybWF0OndlYnAvMCpqUTdaMFkyUnc4a2Jsc0VYKVxcblxcblshW0ltYWdlIDI4OiBXaWxsIExvY2tldHRdKGh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaWxsOjIwOjIwLzEqVjBxV01ROFY1X05hRjl5VW9IQWR5Zy5qcGVnKV0oaHR0cHM6Ly9tZWRpdW0uY29tL0B3bG9ja2V0dD9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTAtLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5bV2lsbCBMb2NrZXR0XShodHRwczovL21lZGl1bS5jb20vQHdsb2NrZXR0P3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMC0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbltUaGUgQUkgQnViYmxlIElzIEFib3V0IFRvIEJ1cnN0LCBCdXQgVGhlIE5leHQgQnViYmxlIElzIEFscmVhZHkgR3Jvd2luZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMgVGVjaGJyb3MgYXJlIHByZXBhcmluZyB0aGVpciBsYXRlc3QgYmFuZHdhZ29uLl0oaHR0cHM6Ly9tZWRpdW0uY29tL0B3bG9ja2V0dC90aGUtYWktYnViYmxlLWlzLWFib3V0LXRvLWJ1cnN0LWJ1dC10aGUtbmV4dC1idWJibGUtaXMtYWxyZWFkeS1ncm93aW5nLTM4M2MwYzBjN2VkZT9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTAtLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5TZXAgMTRcXG5cXG5bMTkuNksgNzQ3XShodHRwczovL21lZGl1bS5jb20vQHdsb2NrZXR0L3RoZS1haS1idWJibGUtaXMtYWJvdXQtdG8tYnVyc3QtYnV0LXRoZS1uZXh0LWJ1YmJsZS1pcy1hbHJlYWR5LWdyb3dpbmctMzgzYzBjMGM3ZWRlP3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMC0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbltdKGh0dHBzOi8vbWVkaXVtLmNvbS9tL3NpZ25pbj9hY3Rpb25Vcmw9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGXyUyRmJvb2ttYXJrJTJGcCUyRjM4M2MwYzBjN2VkZSZvcGVyYXRpb249cmVnaXN0ZXImcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZ3bG9ja2V0dC5tZWRpdW0uY29tJTJGdGhlLWFpLWJ1YmJsZS1pcy1hYm91dC10by1idXJzdC1idXQtdGhlLW5leHQtYnViYmxlLWlzLWFscmVhZHktZ3Jvd2luZy0zODNjMGMwYzdlZGUmc291cmNlPS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0wLS0tLS0tLS0tLS0tLS0tLS1ib29rbWFya19wcmV2aWV3LS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbiFbSW1hZ2UgMjk6IEJ1aWxkaW5nIEFnZW50aWMgUkFHIHdpdGggTGFuZ0dyYXBoOiBNYXN0ZXJpbmcgQWRhcHRpdmUgUkFHIGZvciBQcm9kdWN0aW9uXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjY3OS9mb3JtYXQ6d2VicC8wKk13cUVzUDZZV3p4Vm1hUFQuZ2lmKVxcblxcblshW0ltYWdlIDMwOiBBcnRpZmljaWFsIEludGVsbGlnZW5jZSBpbiBQbGFpbiBFbmdsaXNoXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoyMDoyMC8xKjl6QW1uSzA4Z1VDbVpYN3EwTWNWS3dAMngucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL2FpLWluLXBsYWluLWVuZ2xpc2g/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0xLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuSW5cXG5cXG5bQXJ0aWZpY2lhbCBJbnRlbGxpZ2VuY2UgaW4gUGxhaW4gRW5nbGlzaF0oaHR0cHM6Ly9tZWRpdW0uY29tL2FpLWluLXBsYWluLWVuZ2xpc2g/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0xLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuYnlcXG5cXG5bUGl5dXNoIEFnbmlob3RyaV0oaHR0cHM6Ly9tZWRpdW0uY29tL0BwaXl1c2hhZ25pNT9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTEtLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5bQnVpbGRpbmcgQWdlbnRpYyBSQUcgd2l0aCBMYW5nR3JhcGg6IE1hc3RlcmluZyBBZGFwdGl2ZSBSQUcgZm9yIFByb2R1Y3Rpb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMjIEJ1aWxkIGludGVsbGlnZW50IFJBRyBzeXN0ZW1zIHRoYXQga25vdyB3aGVuIHRvIHJldHJpZXZlIGRvY3VtZW50cywgc2VhcmNoIHRoZSB3ZWIsIG9yIGdlbmVyYXRlIHJlc3BvbnNlcyBkaXJlY3RseV0oaHR0cHM6Ly9tZWRpdW0uY29tL2FpLWluLXBsYWluLWVuZ2xpc2gvYnVpbGRpbmctYWdlbnRpYy1yYWctd2l0aC1sYW5nZ3JhcGgtbWFzdGVyaW5nLWFkYXB0aXZlLXJhZy1mb3ItcHJvZHVjdGlvbi1jMmM0NTc4YzgzNmE/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0xLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuSnVsIDIwXFxuXFxuWzIuM0sgMzFdKGh0dHBzOi8vbWVkaXVtLmNvbS9haS1pbi1wbGFpbi1lbmdsaXNoL2J1aWxkaW5nLWFnZW50aWMtcmFnLXdpdGgtbGFuZ2dyYXBoLW1hc3RlcmluZy1hZGFwdGl2ZS1yYWctZm9yLXByb2R1Y3Rpb24tYzJjNDU3OGM4MzZhP3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMS0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbltdKGh0dHBzOi8vbWVkaXVtLmNvbS9tL3NpZ25pbj9hY3Rpb25Vcmw9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGXyUyRmJvb2ttYXJrJTJGcCUyRmMyYzQ1NzhjODM2YSZvcGVyYXRpb249cmVnaXN0ZXImcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZhaS5wbGFpbmVuZ2xpc2guaW8lMkZidWlsZGluZy1hZ2VudGljLXJhZy13aXRoLWxhbmdncmFwaC1tYXN0ZXJpbmctYWRhcHRpdmUtcmFnLWZvci1wcm9kdWN0aW9uLWMyYzQ1NzhjODM2YSZzb3VyY2U9LS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTEtLS0tLS0tLS0tLS0tLS0tLWJvb2ttYXJrX3ByZXZpZXctLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuIVtJbWFnZSAzMTogQUkgQWdlbnRzOiBDb21wbGV0ZSBDb3Vyc2VdKGh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaXQ6Njc5L2Zvcm1hdDp3ZWJwLzEqUHZQUFNHSjk3NzlGVFdtdEtfWWV5dy5wbmcpXFxuXFxuWyFbSW1hZ2UgMzI6IERhdGEgU2NpZW5jZSBDb2xsZWN0aXZlXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoyMDoyMC8xKjBuVjBRLUZCSGo5NEtnZ3EwMHBHMlEuanBlZyldKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLXNjaWVuY2UtY29sbGVjdGl2ZT9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTItLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5JblxcblxcbltEYXRhIFNjaWVuY2UgQ29sbGVjdGl2ZV0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtc2NpZW5jZS1jb2xsZWN0aXZlP3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMi0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbmJ5XFxuXFxuW01hcmluYSBXeXNzIC0gR3JhdGl0dWRlIERyaXZlbl0oaHR0cHM6Ly9tZWRpdW0uY29tL0BncmF0aXR1ZGVkcml2ZW4/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0yLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuW0FJIEFnZW50czogQ29tcGxldGUgQ291cnNlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjIyBGcm9tIGJlZ2lubmVyIHRvIGludGVybWVkaWF0ZSB0byBwcm9kdWN0aW9uLl0oaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtc2NpZW5jZS1jb2xsZWN0aXZlL2FpLWFnZW50cy1jb21wbGV0ZS1jb3Vyc2UtZjIyNmFhNDU1MGExP3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMi0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbkRlYyA2XFxuXFxuWzEuNksgNTZdKGh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLXNjaWVuY2UtY29sbGVjdGl2ZS9haS1hZ2VudHMtY29tcGxldGUtY291cnNlLWYyMjZhYTQ1NTBhMT9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTItLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5bXShodHRwczovL21lZGl1bS5jb20vbS9zaWduaW4/YWN0aW9uVXJsPWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRl8lMkZib29rbWFyayUyRnAlMkZmMjI2YWE0NTUwYTEmb3BlcmF0aW9uPXJlZ2lzdGVyJnJlZGlyZWN0PWh0dHBzJTNBJTJGJTJGbWVkaXVtLmNvbSUyRmRhdGEtc2NpZW5jZS1jb2xsZWN0aXZlJTJGYWktYWdlbnRzLWNvbXBsZXRlLWNvdXJzZS1mMjI2YWE0NTUwYTEmc291cmNlPS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0yLS0tLS0tLS0tLS0tLS0tLS1ib29rbWFya19wcmV2aWV3LS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbiFbSW1hZ2UgMzM6IEkgRmFpbGVkIDQ3IFN5c3RlbSBEZXNpZ24gSW50ZXJ2aWV3c+KAiuKAlOKAilRoZW4gT25lIE5ldGZsaXggRW5naW5lZXIgQ2hhbmdlZCBFdmVyeXRoaW5nXShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjY3OS9mb3JtYXQ6d2VicC8xKlpUMlNSY2wtQl96WnVaMHFDNUVweEEucG5nKVxcblxcblshW0ltYWdlIDM0OiBCZXlvbmQgTG9jYWxob3N0XShodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoyMDoyMC8xKkZpeXh4OTRjeC1hdU9HaVY5YzROU2cucG5nKV0oaHR0cHM6Ly9tZWRpdW0uY29tL2JleW9uZC1sb2NhbGhvc3Q/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0zLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuSW5cXG5cXG5bQmV5b25kIExvY2FsaG9zdF0oaHR0cHM6Ly9tZWRpdW0uY29tL2JleW9uZC1sb2NhbGhvc3Q/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0zLS0tLS0tLS0tLS0tLS0tLS0tLS0tZTU4NDVjMjFfMjhjMl80OWY5XzkyYTBfYjM3MDM4NzY2YzhkLS0tLS0tLS0tLS0tLS0pXFxuXFxuYnlcXG5cXG5bVGhlIFNwZWVkY3JhZnQgTGFiXShodHRwczovL21lZGl1bS5jb20vQHNwZWVkY3JhZnQyMT9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTMtLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5bSSBGYWlsZWQgNDcgU3lzdGVtIERlc2lnbiBJbnRlcnZpZXdzIOKAlCBUaGVuIE9uZSBOZXRmbGl4IEVuZ2luZWVyIENoYW5nZWQgRXZlcnl0aGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyMgQSBzaW5nbGUgc2hpZnQgaW4gaG93IEkgZnJhbWVkIHNjYWxhYmlsaXR5IHR1cm5lZCByZWplY3Rpb24gaW50byB0aHJlZSBjb21wZXRpbmcgb2ZmZXJzIGluIHRoaXJ0eSBkYXlzLl0oaHR0cHM6Ly9tZWRpdW0uY29tL2JleW9uZC1sb2NhbGhvc3QvaS1mYWlsZWQtNDctc3lzdGVtLWRlc2lnbi1pbnRlcnZpZXdzLXRoZW4tb25lLW5ldGZsaXgtZW5naW5lZXItY2hhbmdlZC1ldmVyeXRoaW5nLWYxYTQ0NzA5ZWI4Nj9zb3VyY2U9cG9zdF9wYWdlLS0tcmVhZF9uZXh0X3JlY2lyYy0tNzRjMjE0ZGU3NjllLS0tLTMtLS0tLS0tLS0tLS0tLS0tLS0tLS1lNTg0NWMyMV8yOGMyXzQ5ZjlfOTJhMF9iMzcwMzg3NjZjOGQtLS0tLS0tLS0tLS0tLSlcXG5cXG5Ob3YgNVxcblxcblsxLjZLIDQxXShodHRwczovL21lZGl1bS5jb20vYmV5b25kLWxvY2FsaG9zdC9pLWZhaWxlZC00Ny1zeXN0ZW0tZGVzaWduLWludGVydmlld3MtdGhlbi1vbmUtbmV0ZmxpeC1lbmdpbmVlci1jaGFuZ2VkLWV2ZXJ5dGhpbmctZjFhNDQ3MDllYjg2P3NvdXJjZT1wb3N0X3BhZ2UtLS1yZWFkX25leHRfcmVjaXJjLS03NGMyMTRkZTc2OWUtLS0tMy0tLS0tLS0tLS0tLS0tLS0tLS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbltdKGh0dHBzOi8vbWVkaXVtLmNvbS9tL3NpZ25pbj9hY3Rpb25Vcmw9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGXyUyRmJvb2ttYXJrJTJGcCUyRmYxYTQ0NzA5ZWI4NiZvcGVyYXRpb249cmVnaXN0ZXImcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZtZWRpdW0uY29tJTJGYmV5b25kLWxvY2FsaG9zdCUyRmktZmFpbGVkLTQ3LXN5c3RlbS1kZXNpZ24taW50ZXJ2aWV3cy10aGVuLW9uZS1uZXRmbGl4LWVuZ2luZWVyLWNoYW5nZWQtZXZlcnl0aGluZy1mMWE0NDcwOWViODYmc291cmNlPS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0zLS0tLS0tLS0tLS0tLS0tLS1ib29rbWFya19wcmV2aWV3LS0tLWU1ODQ1YzIxXzI4YzJfNDlmOV85MmEwX2IzNzAzODc2NmM4ZC0tLS0tLS0tLS0tLS0tKVxcblxcbltTZWUgbW9yZSByZWNvbW1lbmRhdGlvbnNdKGh0dHBzOi8vbWVkaXVtLmNvbS8/c291cmNlPXBvc3RfcGFnZS0tLXJlYWRfbmV4dF9yZWNpcmMtLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bSGVscF0oaHR0cHM6Ly9oZWxwLm1lZGl1bS5jb20vaGMvZW4tdXM/c291cmNlPXBvc3RfcGFnZS0tLS0tNzRjMjE0ZGU3NjllLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKVxcblxcbltTdGF0dXNdKGh0dHBzOi8vc3RhdHVzLm1lZGl1bS5jb20vP3NvdXJjZT1wb3N0X3BhZ2UtLS0tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bQWJvdXRdKGh0dHBzOi8vbWVkaXVtLmNvbS9hYm91dD9hdXRvcGxheT0xJnNvdXJjZT1wb3N0X3BhZ2UtLS0tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bQ2FyZWVyc10oaHR0cHM6Ly9tZWRpdW0uY29tL2pvYnMtYXQtbWVkaXVtL3dvcmstYXQtbWVkaXVtLTk1OWQxYTg1Mjg0ZT9zb3VyY2U9cG9zdF9wYWdlLS0tLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW1ByZXNzXShtYWlsdG86cHJlc3NpbnF1aXJpZXNAbWVkaXVtLmNvbSlcXG5cXG5bQmxvZ10oaHR0cHM6Ly9ibG9nLm1lZGl1bS5jb20vP3NvdXJjZT1wb3N0X3BhZ2UtLS0tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bUHJpdmFjeV0oaHR0cHM6Ly9wb2xpY3kubWVkaXVtLmNvbS9tZWRpdW0tcHJpdmFjeS1wb2xpY3ktZjAzYmY5MjAzNWM5P3NvdXJjZT1wb3N0X3BhZ2UtLS0tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcXG5cXG5bUnVsZXNdKGh0dHBzOi8vcG9saWN5Lm1lZGl1bS5jb20vbWVkaXVtLXJ1bGVzLTMwZTU1MDJjNGViND9zb3VyY2U9cG9zdF9wYWdlLS0tLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW1Rlcm1zXShodHRwczovL3BvbGljeS5tZWRpdW0uY29tL21lZGl1bS10ZXJtcy1vZi1zZXJ2aWNlLTlkYjAwOTRhMWUwZj9zb3VyY2U9cG9zdF9wYWdlLS0tLS03NGMyMTRkZTc2OWUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0pXFxuXFxuW1RleHQgdG8gc3BlZWNoXShodHRwczovL3NwZWVjaGlmeS5jb20vbWVkaXVtP3NvdXJjZT1wb3N0X3BhZ2UtLS0tLTc0YzIxNGRlNzY5ZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSlcIixcInB1Ymxpc2hlZFRpbWVcIjpcIjIwMjUtMDMtMjZUMDc6MTY6NTFaXCIsXCJtZXRhZGF0YVwiOntcImxhbmdcIjpcImVuXCIsXCJ2aWV3cG9ydFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLG1pbmltdW0tc2NhbGU9MSxpbml0aWFsLXNjYWxlPTEsbWF4aW11bS1zY2FsZT0xXCIsXCJ0aGVtZS1jb2xvclwiOlwiIzAwMDAwMFwiLFwidHdpdHRlcjphcHA6bmFtZTppcGhvbmVcIjpcIk1lZGl1bVwiLFwidHdpdHRlcjphcHA6aWQ6aXBob25lXCI6XCI4MjgyNTYyMzZcIixcImFsOmlvczphcHBfbmFtZVwiOlwiTWVkaXVtXCIsXCJhbDppb3M6YXBwX3N0b3JlX2lkXCI6XCI4MjgyNTYyMzZcIixcImFsOmFuZHJvaWQ6cGFja2FnZVwiOlwiY29tLm1lZGl1bS5yZWFkZXJcIixcImZiOmFwcF9pZFwiOlwiNTQyNTk5NDMyNDcxMDE4XCIsXCJvZzpzaXRlX25hbWVcIjpcIk1lZGl1bVwiLFwiYXBwbGUtaXR1bmVzLWFwcFwiOlwiYXBwLWlkPTgyODI1NjIzNiwgYXBwLWFyZ3VtZW50PS9kYXRhLWFuZC1iZXlvbmQvcGFydC0xLWludHJvZHVjdGlvbi10by1uOG4td2hhdC1pdC1pcy1hbmQtaG93LWl0LXdvcmtzLTc0YzIxNGRlNzY5ZSwgYWZmaWxpYXRlLWRhdGE9cHQ9Njk4NTI0JmN0PXNtYXJ0X2FwcF9iYW5uZXImbXQ9OFwiLFwib2c6dHlwZVwiOlwiYXJ0aWNsZVwiLFwiYXJ0aWNsZTpwdWJsaXNoZWRfdGltZVwiOlwiMjAyNS0wMy0yNlQwNzozMjo0My4zMTJaXCIsXCJ0aXRsZVwiOlwiUGFydCAxOiBJbnRyb2R1Y3Rpb24gdG8gbjhuIOKAlCBXaGF0IEl0IElzIGFuZCBIb3cgSXQgV29ya3MgfCBieSBUT05JIFJBTUNIQU5EQU5JIHwgRGF0YSBBbmQgQmV5b25kIHwgTWVkaXVtXCIsXCJvZzp0aXRsZVwiOlwiUGFydCAxOiBJbnRyb2R1Y3Rpb24gdG8gbjhu4oCK4oCU4oCKV2hhdCBJdCBJcyBhbmQgSG93IEl0IFdvcmtzXCIsXCJhbDphbmRyb2lkOnVybFwiOlwibWVkaXVtOi8vcC83NGMyMTRkZTc2OWVcIixcImFsOmlvczp1cmxcIjpcIm1lZGl1bTovL3AvNzRjMjE0ZGU3NjllXCIsXCJhbDphbmRyb2lkOmFwcF9uYW1lXCI6XCJNZWRpdW1cIixcImRlc2NyaXB0aW9uXCI6XCJQYXJ0IDE6IEludHJvZHVjdGlvbiB0byBuOG4g4oCUIFdoYXQgSXQgSXMgYW5kIEhvdyBJdCBXb3JrcyBIZXkgZXZlcnlvbmUsIHdlbGNvbWUgdG8gdGhpcyBzZXJpZXMhIFRvZGF5LCB3ZeKAmXJlIGtpY2tpbmcgb2ZmIG91ciBqb3VybmV5IGludG8gdGhlIHdvcmxkIG9mIGF1dG9tYXRpb24gd2l0aCBuOG4g4oCUIHRoZSBvbmUtc3RvcCDigKZcIixcIm9nOmRlc2NyaXB0aW9uXCI6XCJIZXkgZXZlcnlvbmUsIHdlbGNvbWUgdG8gdGhpcyBzZXJpZXMhIFRvZGF5LCB3ZeKAmXJlIGtpY2tpbmcgb2ZmIG91ciBqb3VybmV5IGludG8gdGhlIHdvcmxkIG9mIGF1dG9tYXRpb24gd2l0aCBuOG7igIrigJTigIp0aGUgb25lLXN0b3Agd29ya2Zsb3figKZcIixcIm9nOnVybFwiOlwiaHR0cHM6Ly9tZWRpdW0uY29tL2RhdGEtYW5kLWJleW9uZC9wYXJ0LTEtaW50cm9kdWN0aW9uLXRvLW44bi13aGF0LWl0LWlzLWFuZC1ob3ctaXQtd29ya3MtNzRjMjE0ZGU3NjllXCIsXCJhbDp3ZWI6dXJsXCI6XCJodHRwczovL21lZGl1bS5jb20vZGF0YS1hbmQtYmV5b25kL3BhcnQtMS1pbnRyb2R1Y3Rpb24tdG8tbjhuLXdoYXQtaXQtaXMtYW5kLWhvdy1pdC13b3Jrcy03NGMyMTRkZTc2OWVcIixcIm9nOmltYWdlXCI6XCJodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjExNTUvMCpHLTVGMzhyQlN0amxNTndkLnBuZ1wiLFwiYXJ0aWNsZTphdXRob3JcIjpcImh0dHBzOi8vdG9uaXJhbWNoYW5kYW5pLm1lZGl1bS5jb21cIixcImF1dGhvclwiOlwiVE9OSSBSQU1DSEFOREFOSVwiLFwicm9ib3RzXCI6XCJpbmRleCxub2FyY2hpdmUsZm9sbG93LG1heC1pbWFnZS1wcmV2aWV3OmxhcmdlXCIsXCJyZWZlcnJlclwiOlwidW5zYWZlLXVybFwiLFwidHdpdHRlcjp0aXRsZVwiOlwiUGFydCAxOiBJbnRyb2R1Y3Rpb24gdG8gbjhu4oCK4oCU4oCKV2hhdCBJdCBJcyBhbmQgSG93IEl0IFdvcmtzXCIsXCJ0d2l0dGVyOnNpdGVcIjpcIkBkaW1hODA2X2RpbWFcIixcInR3aXR0ZXI6YXBwOnVybDppcGhvbmVcIjpcIm1lZGl1bTovL3AvNzRjMjE0ZGU3NjllXCIsXCJ0d2l0dGVyOmRlc2NyaXB0aW9uXCI6XCJIZXkgZXZlcnlvbmUsIHdlbGNvbWUgdG8gdGhpcyBzZXJpZXMhIFRvZGF5LCB3ZeKAmXJlIGtpY2tpbmcgb2ZmIG91ciBqb3VybmV5IGludG8gdGhlIHdvcmxkIG9mIGF1dG9tYXRpb24gd2l0aCBuOG7igIrigJTigIp0aGUgb25lLXN0b3Agd29ya2Zsb3figKZcIixcInR3aXR0ZXI6aW1hZ2U6c3JjXCI6XCJodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6Zml0OjExNTUvMCpHLTVGMzhyQlN0amxNTndkLnBuZ1wiLFwidHdpdHRlcjpjYXJkXCI6XCJzdW1tYXJ5X2xhcmdlX2ltYWdlXCIsXCJ0d2l0dGVyOmNyZWF0b3JcIjpcIkBUb25pUmFtY2hhbmRhbmlcIixcInR3aXR0ZXI6bGFiZWwxXCI6XCJSZWFkaW5nIHRpbWVcIixcInR3aXR0ZXI6ZGF0YTFcIjpcIjYgbWluIHJlYWRcIn0sXCJleHRlcm5hbFwiOntcImljb25cIjp7XCJodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi81ZDhkZTk1MjUxN2U4MTYwZTQwZWY5ODQxYzc4MWNkYzE0YTVkYjMxMzA1N2ZhM2MzZGU0MWM2ZjViNDk0YjE5XCI6e1wiZGF0YS1yaFwiOlwidHJ1ZVwifX0sXCJzZWFyY2hcIjp7XCJodHRwczovL21lZGl1bS5jb20vb3NkLnhtbFwiOntcImRhdGEtcmhcIjpcInRydWVcIixcInR5cGVcIjpcImFwcGxpY2F0aW9uL29wZW5zZWFyY2hkZXNjcmlwdGlvbit4bWxcIixcInRpdGxlXCI6XCJNZWRpdW1cIn19LFwicHJlY29ubmVjdFwiOntcImh0dHBzOi8vZ2x5cGgubWVkaXVtLmNvbS9cIjp7XCJkYXRhLXJoXCI6XCJ0cnVlXCIsXCJjcm9zc29yaWdpblwiOlwiXCJ9LFwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9cIjp7XCJkYXRhLXJoXCI6XCJ0cnVlXCJ9LFwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vXCI6e1wiZGF0YS1yaFwiOlwidHJ1ZVwiLFwiY3Jvc3NvcmlnaW5cIjpcIlwifX0sXCJtYW5pZmVzdFwiOntcImh0dHBzOi8vbWVkaXVtLmNvbS9tYW5pZmVzdC5qc29uXCI6e1wiZGF0YS1yaFwiOlwidHJ1ZVwifX0sXCJwcmVsb2FkXCI6e1wiaHR0cHM6Ly9nbHlwaC5tZWRpdW0uY29tL2Nzcy91bmJvdW5kLmNzc1wiOntcImRhdGEtcmhcIjpcInRydWVcIixcImlkXCI6XCJnbHlwaF9wcmVsb2FkX2xpbmtcIixcImFzXCI6XCJzdHlsZVwiLFwidHlwZVwiOlwidGV4dC9jc3NcIn19LFwiYXV0aG9yXCI6e1wiaHR0cHM6Ly90b25pcmFtY2hhbmRhbmkubWVkaXVtLmNvbS9cIjp7XCJkYXRhLXJoXCI6XCJ0cnVlXCJ9fSxcImNhbm9uaWNhbFwiOntcImh0dHBzOi8vbWVkaXVtLmNvbS9kYXRhLWFuZC1iZXlvbmQvcGFydC0xLWludHJvZHVjdGlvbi10by1uOG4td2hhdC1pdC1pcy1hbmQtaG93LWl0LXdvcmtzLTc0YzIxNGRlNzY5ZVwiOntcImRhdGEtcmhcIjpcInRydWVcIn19LFwiYWx0ZXJuYXRlXCI6e1wiYW5kcm9pZC1hcHA6Ly9jb20ubWVkaXVtLnJlYWRlci9odHRwcy9tZWRpdW0uY29tL3AvNzRjMjE0ZGU3NjllXCI6e1wiZGF0YS1yaFwiOlwidHJ1ZVwifX0sXCJhcHBsZS10b3VjaC1pY29uXCI6e1wiaHR0cHM6Ly9taXJvLm1lZGl1bS5jb20vdjIvcmVzaXplOmZpbGw6MTUyOjE1Mi8xMGZkNWM0MTlhYzYxNjM3MjQ1Mzg0ZTcwOTllMTMxNjI3OTAwMDM0ODI4ZjRmMzg2YmRhYTQ3YTc0ZWFlMTU2XCI6e1wic2l6ZXNcIjpcIjE1MngxNTJcIixcImRhdGEtcmhcIjpcInRydWVcIn0sXCJodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDoxMjA6MTIwLzEwZmQ1YzQxOWFjNjE2MzcyNDUzODRlNzA5OWUxMzE2Mjc5MDAwMzQ4MjhmNGYzODZiZGFhNDdhNzRlYWUxNTZcIjp7XCJzaXplc1wiOlwiMTIweDEyMFwiLFwiZGF0YS1yaFwiOlwidHJ1ZVwifSxcImh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaWxsOjc2Ojc2LzEwZmQ1YzQxOWFjNjE2MzcyNDUzODRlNzA5OWUxMzE2Mjc5MDAwMzQ4MjhmNGYzODZiZGFhNDdhNzRlYWUxNTZcIjp7XCJzaXplc1wiOlwiNzZ4NzZcIixcImRhdGEtcmhcIjpcInRydWVcIn0sXCJodHRwczovL21pcm8ubWVkaXVtLmNvbS92Mi9yZXNpemU6ZmlsbDo2MDo2MC8xMGZkNWM0MTlhYzYxNjM3MjQ1Mzg0ZTcwOTllMTMxNjI3OTAwMDM0ODI4ZjRmMzg2YmRhYTQ3YTc0ZWFlMTU2XCI6e1wic2l6ZXNcIjpcIjYweDYwXCIsXCJkYXRhLXJoXCI6XCJ0cnVlXCJ9fSxcIm1hc2staWNvblwiOntcImh0dHBzOi8vbWlyby5tZWRpdW0uY29tL3YyL3Jlc2l6ZTpmaWxsOjUwMDo1MDAvNypHQU9LVmUtLU1YYkVKbVY5MjMwb09RLnBuZ1wiOntcImNvbG9yXCI6XCIjMTcxNzE3XCIsXCJkYXRhLXJoXCI6XCJ0cnVlXCJ9fX0sXCJ1c2FnZVwiOntcInRva2Vuc1wiOjEwNzg0fX0se1widGl0bGVcIjpcIldoYXQgaXMgbjhuPyBVbmRlcnN0YW5kaW5nIHRoZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2xcIixcInVybFwiOlwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd2hhdC1pcy1uOG5cIixcImRlc2NyaXB0aW9uXCI6XCJuOG4gaXMgYSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgdGhhdCBjb25uZWN0cyBhcHBzIGFuZCBzZXJ2aWNlcy4gTGVhcm4gaG93IGl0IHdvcmtzLCB3aGF0IGl0IGRvZXMsIGFuZCB3aHkgaXTigJlzIGEgdG9wIG9wZW4tc291cmNlIG9wdGlvbi5cIixcImNvbnRlbnRcIjpcIkRlYyAxNSwgMjAyNVxcblxcbkRvdnlkYXNcXG5cXG41bWluIFJlYWRcXG5cXG4qKm44bioqIGlzIGEgd29ya2Zsb3cgYXV0b21hdGlvbiB0b29sIHRoYXQgbGV0cyB5b3Ugc2NoZWR1bGUgdGFza3MgYW5kIG1vdmUgZGF0YSBiZXR3ZWVuIG1hbnkgb2YgdGhlIGFwcHMsIHRvb2xzLCBwbGF0Zm9ybXMsIGFuZCBzZXJ2aWNlcyB5b3VyIHRlYW0gdXNlcyBldmVyeSBkYXkuXFxuXFxuSWYgeW914oCZdmUgZXZlciB3aXNoZWQgeW91IGNvdWxkIGF1dG9tYXRlIGFsbCB0aGUgYm9yaW5nLCByZXBldGl0aXZlIGJ1c2luZXNzLCBJVCwgb3IgZXZlbiBwZXJzb25hbCB0YXNrcyB0aGF0IHNwYW4gbXVsdGlwbGUgYXBwcyBidXQgdGhhdCByZXF1aXJlIG5vIGFkdmFuY2VkIHNraWxscywgbjhuIG1pZ2h0IGJlIGV4YWN0bHkgd2hhdCB5b3UgbmVlZC5cXG5cXG5JbiB0aGlzIGd1aWRlLCB3ZeKAmWxsIGJyZWFrIGRvd24gd2hhdCBuOG4gaXMsIGhvdyBpdCB3b3JrcywgYW5kIHdoeSBtYW55IHBlb3BsZSBjaG9vc2UgaXQgb3ZlciBzaW1pbGFyIEFJIGF1dG9tYXRpb24gdG9vbHMg4oCTIGluIHBhcnRpY3VsYXIsIHlvdeKAmWxsIHNlZSBob3cgaXQgY29tcGFyZXMgdG8gWmFwaWVyLiBXZeKAmWxsIGdpdmUgeW91IHNvbWUgcmVhbC13b3JsZCBleGFtcGxlcyBhbG9uZ3NpZGUgcHJpY2luZyBhbmQgaG9zdGluZyBvcHRpb25zLCBzbyB5b3UgY2FuIGRlY2lkZSB3aGV0aGVyIG44biBpcyB0aGUgcmlnaHQgc29sdXRpb24gZm9yIHlvdXIgcHJvamVjdCBvciBidXNpbmVzcy5cXG5cXG4qICAgW1doYXQgaXMgbjhuP10oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd2hhdC1pcy1uOG4jV2hhdF9pc19uOG4pXFxuICAgICogICBbSG93IGRvZXMgbjhuIHdvcms/XShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93aGF0LWlzLW44biNIb3dfZG9lc19uOG5fd29yaylcXG5cXG4qICAgW0NvbW1vbiBuOG4gdXNlIGNhc2VzXShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93aGF0LWlzLW44biNDb21tb25fbjhuX3VzZV9jYXNlcylcXG4gICAgKiAgIFtOb3RpZmljYXRpb25zXShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93aGF0LWlzLW44biNOb3RpZmljYXRpb25zKVxcbiAgICAqICAgW0RhdGEgc3luY2hyb25pemF0aW9uIGFjcm9zcyBwbGF0Zm9ybXNdKGh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL3doYXQtaXMtbjhuI0RhdGFfc3luY2hyb25pemF0aW9uX2Fjcm9zc19wbGF0Zm9ybXMpXFxuICAgICogICBbSW52b2ljZSBhbmQgcGF5bWVudCBwcm9jZXNzaW5nXShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93aGF0LWlzLW44biNJbnZvaWNlX2FuZF9wYXltZW50X3Byb2Nlc3NpbmcpXFxuICAgICogICBbUmVwb3J0aW5nIGF1dG9tYXRpb25dKGh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL3doYXQtaXMtbjhuI1JlcG9ydGluZ19hdXRvbWF0aW9uKVxcbiAgICAqICAgW1dlYiBzY3JhcGluZyBhbmQgZGF0YSBjb2xsZWN0aW9uXShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93aGF0LWlzLW44biNXZWJfc2NyYXBpbmdfYW5kX2RhdGFfY29sbGVjdGlvbilcXG4gICAgKiAgIFtTbWFydCBob21lIGF1dG9tYXRpb25dKGh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL3doYXQtaXMtbjhuI1NtYXJ0X2hvbWVfYXV0b21hdGlvbilcXG5cXG4qICAgW1phcGllciB2cyBuOG4g4oCTIGNvbXBhcmlzb25dKGh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL3doYXQtaXMtbjhuI1phcGllcl92c19uOG5fJUUyJTgwJTkzX2NvbXBhcmlzb24pXFxuKiAgIFtIb3cgbXVjaCBkb2VzIG44biBjb3N0P10oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd2hhdC1pcy1uOG4jSG93X211Y2hfZG9lc19uOG5fY29zdClcXG5cXG5XaGF0IGlzIG44bj9cXG4tLS0tLS0tLS0tLS1cXG5cXG4qKm44bioqIChwcm9ub3VuY2VkIGVpdGhlciBlbi1laWdodC1lbiBvciBub2RlbWF0aW9uKSBpcyBhbiBhdXRvbWF0aW9uIHRvb2wgdGhhdCBsZXRzIHlvdSBjcmVhdGUgY3VzdG9tIHdvcmtmbG93cy4gVGhpbmsgb2YgaXQgYXMgYSBkaWdpdGFsIGFzc2lzdGFudCB0aGF0IGhhbmRsZXMgcmVwZXRpdGl2ZSB3b3JrIGZvciB5b3UgYnkgc2NoZWR1bGluZyB0YXNrcywgbGV2ZXJhZ2luZyBbbjhuIGludGVncmF0aW9uc10oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvbjhuLWludGVncmF0aW9ucykgdG8gY29ubmVjdCBkaXNwYXJhdGUgc3lzdGVtcywgb3IgYXV0b21hdGljYWxseSBtb3ZpbmcgZGF0YSBiZXR3ZWVuIGRpZmZlcmVudCBhcHBzIHRoYXQgZG9u4oCZdCBub3JtYWxseSBjb21tdW5pY2F0ZSB3aXRoIGVhY2ggb3RoZXIgb3V0IG9mIHRoZSBib3guXFxuXFxuVXN1YWxseSwgc2V0dGluZyB1cCB3b3JrZmxvdyBhdXRvbWF0aW9uIHJlcXVpcmVzIGluLWRlcHRoIGNvZGluZyBrbm93bGVkZ2UsIGJ1dCB0aGF04oCZcyB3aGVyZSBuOG4gc3RhbmRzIG91dC4gSXQgcHJvdmlkZXMgYSB2aXN1YWwgaW50ZXJmYWNlIHdpdGggdGVtcGxhdGVzIGZvciBjb21tb24gd29ya2Zsb3dzIHNvIHlvdSBjYW4gc2F2ZSB0aW1lIGFuZCBmb2N1cyBvbiBwcm9kdWN0aXZpdHkgd2l0aG91dCBoYXZpbmcgdG8gZGV2ZWxvcCBhIGN1c3RvbSBhdXRvbWF0aW9uIHRvb2wuXFxuXFxuIyMjIEhvdyBkb2VzIG44biB3b3JrP1xcblxcbkltYWdpbmUgY29ubmVjdGluZyBkaWZmZXJlbnQgYXBwcyBsaWtlIHB1enpsZSBwaWVjZXMuIEluIG44biwgdGhvc2UgcGllY2VzIGFyZSBjYWxsZWQgKipub2RlcyoqLiBFYWNoIG5vZGUgcmVwcmVzZW50cyBhIHNwZWNpZmljIGFjdGlvbiwgc3VjaCBhcyBzZW5kaW5nIGFuIGVtYWlsLCB1cGRhdGluZyBhIHNwcmVhZHNoZWV0LCBvciBmZXRjaGluZyBkYXRhIGZyb20gYW4gYXBwbGljYXRpb24gcHJvZ3JhbW1pbmcgaW50ZXJmYWNlIChBUEkpLlxcblxcbldoZW4gcHV0IHRvZ2V0aGVyLCBhbGwgdGhlIG5vZGVzIGZvcm0gYSAqKndvcmtmbG93Kiog4oCTIGEgc2V0IG9mIGFjdGlvbnMgYmFzZWQgb24gYSB0cmlnZ2VyLiBCZWNhdXNlIHRoaXMgaXMgYSBbbm8tY29kZSB3b3JrZmxvdyBhdXRvbWF0aW9uXShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93aGF0LWlzLW5vLWNvZGUtYXV0b21hdGlvbikgcGxhdGZvcm0sIHRoZSBub2RlcyBhcmUgY29uZmlndXJlZCB0aHJvdWdoIGEqKnZpc3VhbCBpbnRlcmZhY2UqKiwgbWFraW5nIGl0IGVhc3kgdG8gW2J1aWxkIHdvcmtmbG93c10oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvaG93LXRvLWJ1aWxkLWFuLWFpLXdvcmtmbG93LWluLW44bikgd2l0aG91dCB3cml0aW5nIGN1c3RvbSBjb2RlLlxcblxcbm44buKAmXMgZmxleGliaWxpdHkgZ29lcyBiZXlvbmQgaXRzIGNvcmUgZmVhdHVyZXMsIGVuYWJsaW5nIHlvdSB0byBhdXRvbWF0ZSBldmVyeXRoaW5nIGZyb20gc2ltcGxlIHRhc2tzIHRvIGNvbXBsZXgsIG11bHRpc3RlcCB3b3JrZmxvd3MuIFRoaXMgaWxsdXN0cmF0ZXMgW3doYXQgY2FuIGJlIGF1dG9tYXRlZCB3aXRoIG44bl0oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd2hhdC1jYW4teW91LWF1dG9tYXRlLXdpdGgtbjhuKSBhY3Jvc3MgdmFyaW91cyBpbmR1c3RyaWVzLlxcblxcblRoZXJlIGFyZSBkaWZmZXJlbnQgdHlwZXMgb2Ygbm9kZXMgYmFzZWQgb24gdGhlaXIgZnVuY3Rpb24uIEluIGdlbmVyYWwsIGEgdHlwaWNhbCB3b3JrZmxvdyBjb25zaXN0cyBvZjpcXG5cXG4qICAgKipUcmlnZ2VyIG5vZGUqKjogVGhpcyBpcyB3aGF0IHN0YXJ0cyB5b3VyIHdvcmtmbG93IHJ1bi4gSXQgY291bGQgYmUgYSBuZXcgZm9ybSBzdWJtaXNzaW9uLCBhbiBlbWFpbCBpbiB5b3VyIGluYm94LCBvciBhbiBldmVudCBmcm9tIGFub3RoZXIgYXBwLlxcbiogICAqKkFjdGlvbiBub2RlcyoqOiBUaGVzZSBkZWZpbmUgdGhlIGxvZ2ljLCBzcGVjaWZpYyBhcHBsaWNhdGlvbnMsIGFuZCBhY3Rpb25zIGluIHlvdXIgd29ya2Zsb3cuXFxuXFxuQWN0aW9ucyBjYW4gaW5jbHVkZSBzaW1wbGUgdGFza3MgbGlrZSBzdG9yaW5nIGRhdGEgaW4gYSBkYXRhYmFzZSwgc2VuZGluZyBhIG5vdGlmaWNhdGlvbiwgb3IgdXBkYXRpbmcgYSB0YXNrIGluIHlvdXIgcHJvamVjdCBtYW5hZ2VtZW50IGFwcC4gVGhleSBjYW4gYWxzbyBpbnZvbHZlIG1vcmUgY29tcGxleCBhY3Rpb25zIGxpa2Ugc2VuZGluZyBIVFRQIHJlcXVlc3RzLCBydW5uaW5nIGN1c3RvbSBQeXRob24gb3IgSmF2YXNjcmlwdCBjb2RlLCBvciBnZW5lcmF0aW5nIGFuIEFJIHByb21wdCB3aXRoIHlvdXIgb3duIGRhdGEuXFxuXFxuIVtJbWFnZSAxOiBTaW1wbGUgbjhuIHdvcmtmbG93IGV4YW1wbGUuXShodHRwczovL2ltYWdlZGVsaXZlcnkubmV0L0xxaVdMbS0zTUdiWUh0RnVVYmNCdEEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzIvMjAyNS8wMi9uOG4td29ya2Zsb3ctZXhhbXBsZS5wbmcvcHVibGljKVxcblxcbk9uY2UgeW914oCZdmUgYnVpbHQgYSB3b3JrZmxvdywgbjhuIHJ1bnMgZWFjaCBhY3Rpb24gYXV0b21hdGljYWxseSB1cG9uIGEgdHJpZ2dlciwgZW5zdXJpbmcgdGhhdCBldmVyeXRoaW5nIGhhcHBlbnMgaW4gdGhlIHJpZ2h0IG9yZGVyIHdpdGhvdXQgbWFudWFsIGVmZm9ydC5cXG5cXG5Ib3dldmVyLCBpZiB5b3UgZG9u4oCZdCBmZWVsIGxpa2UgYnVpbGRpbmcgYSB3b3JrZmxvdyBmcm9tIHNjcmF0Y2gsIHlvdSBjYW4gZXhwbG9yZSBvdmVyIDEsMjUwIHByZS1tYWRlICoqW3dvcmtmbG93IHRlbXBsYXRlc10oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvYmVzdC1uOG4tdGVtcGxhdGVzKSoqLlxcblxcbkNvbW1vbiBuOG4gdXNlIGNhc2VzXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG4jIyMgTm90aWZpY2F0aW9uc1xcblxcbk9uZSBvZiB0aGUgbW9zdCBwb3B1bGFyIG44biB1c2UgY2FzZXMgaXMgdGhlIG5vdGlmaWNhdGlvbiBzZXJ2aWNlLiBEZXBlbmRpbmcgb24gdGhlIHRyaWdnZXIgbm9kZSB0eXBlLCB0aGUgbjhuIHdvcmtmbG93IGNhbiBiZSBzZXQgdXAgdG8gc2VuZCBhIG5vdGlmaWNhdGlvbiB0byBhbnkgb2YgdGhlIHN1cHBvcnRlZCBhcHBsaWNhdGlvbnMsIGFjdGluZyBhcyBhIGNvbm5lY3RvciBiZXR3ZWVuIHBsYXRmb3Jtcy5cXG5cXG5Gb3IgZXhhbXBsZSwgeW91IGNhbiBzZXQgaXQgdXAgdG8gaW5mb3JtIHRlYW0gbWVtYmVycyB2aWEgU2xhY2ssIGVtYWlsLCBhbmQvb3IgU01TIHdoZW4gYSBuZXcgb3JkZXIgaXMgcGxhY2VkIG9uIHlvdXIgd2Vic2l0ZS5cXG5cXG4jIyMgRGF0YSBzeW5jaHJvbml6YXRpb24gYWNyb3NzIHBsYXRmb3Jtc1xcblxcbktlZXBpbmcgZGF0YSBjb25zaXN0ZW50IGJldHdlZW4gZGlmZmVyZW50IHBsYXRmb3JtcyBjYW4gYmUgYSBtdW5kYW5lLCByZXBldGl0aXZlIHRhc2sgdGhhdCB3YXN0ZXMgdmFsdWFibGUgdGltZSBhbmQgY3JlYXRlcyB0aGUgcG90ZW50aWFsIGZvciBodW1hbiBlcnJvci5cXG5cXG5UaGlzIGNhbiBlYXNpbHkgYmUgc29sdmVkIHdpdGggdHdvLXdheSBzeW5jaHJvbml6YXRpb24gaW4gbjhuLiBBIHBvc3NpYmxlIHNjZW5hcmlvIGNvdWxkIGJlIHN5bmNocm9uaXphdGlvbiBiZXR3ZWVuIHlvdXIgY3VzdG9tZXIgcmVsYXRpb25zaGlwIG1hbmFnZW1lbnQgKENSTSkgcGxhdGZvcm0gYW5kIHlvdXIgcHJvamVjdCBtYW5hZ2VtZW50IHNvZnR3YXJlLlxcblxcbiMjIyBJbnZvaWNlIGFuZCBwYXltZW50IHByb2Nlc3NpbmdcXG5cXG5JZiB5b3Ugb3duIGFuIGVjb21tZXJjZSB3ZWJzaXRlLCBuOG4gY2FuIGdyZWF0bHkgaGVscCB5b3Ugd2l0aCBwYXltZW50IHByb2Nlc3NpbmcgZnJvbSB5b3VyIHBheW1lbnQgcHJvdmlkZXIuXFxuXFxuQSBmZXcgZXhhbXBsZXMgaW5jbHVkZSBwYXltZW50IHJldHJpZXMsIGF1dG9tYXRlZCByZWN1cnJpbmcgcGF5bWVudHMsIHBheW1lbnQgc3RhdHVzIHVwZGF0ZXMsIGFuZCBwYXltZW50IGRldGFpbCB2ZXJpZmljYXRpb24gYWdhaW5zdCBmcmF1ZCBkZXRlY3Rpb24gc2VydmljZXMuIEFkZGl0aW9uYWxseSwgYSB3b3JrZmxvdyBjYW4gaW5jbHVkZSBhZGRpdGlvbmFsIHN0ZXBzIHRvIHN0b3JlIHRoZSBwYXltZW50IGluZm9ybWF0aW9uIG9uIHlvdXIgc3lzdGVtLCBhbmQgdG8gZ2VuZXJhdGUgYW5kIHNlbmQgYW4gaW52b2ljZSB0byB5b3VyIGNsaWVudCB2aWEgZW1haWwuXFxuXFxuIyMjIFJlcG9ydGluZyBhdXRvbWF0aW9uXFxuXFxuV2Vla2x5IG1lZXRpbmdzIGNhbiByZXF1aXJlIHNpZ25pZmljYW50IHRpbWUgYW5kIGVmZm9ydCwgZXNwZWNpYWxseSB3aGVuIHlvdSBuZWVkIHRvIHJlbWVtYmVyIHRvIHByZXBhcmUgYSByZXBvcnQgZXZlcnkgdGltZS5cXG5cXG5JbiB0aGlzIGluc3RhbmNlLCBuOG4gY2FuIGhlbHAgdG8gZW5zdXJlIHlvdXIgcmVwb3J0cyBhcmUgcmVhZHkgYmVmb3JlIGVhY2ggd2Vla+KAmXMgbWVldGluZy4gQSB3b3JrZmxvdyBjYW4gYmUgc2V0IHVwIHRvIGNvbGxlY3QgYW5kIGNvbXBpbGUgZGF0YSBmcm9tIHZhcmlvdXMgc291cmNlcywgYWRkIGl0IHRvIGEgcmVwb3J0IHRlbXBsYXRlLCBhbmQgdGhlbiBhZGQgYSBkb2N1bWVudCBsaW5rIHRvIHRoZSBtZWV0aW5nIG5vdGlmaWNhdGlvbi5cXG5cXG4jIyMgV2ViIHNjcmFwaW5nIGFuZCBkYXRhIGNvbGxlY3Rpb25cXG5cXG5OZWVkIHRvIGdhdGhlciBpbmZvcm1hdGlvbiBmcm9tIG11bHRpcGxlIHNvdXJjZXM/IFdpdGggbjhuIHlvdSBjYW4gZXh0cmFjdCBkYXRhIGZyb20gd2Vic2l0ZXMsIHN5c3RlbXMsIG9yIGFwcGxpY2F0aW9ucywgc3RydWN0dXJlIGl0LCBhbmQgc2VuZCBpdCB0byBhIGRhdGFiYXNlIG9yIEdvb2dsZSBTaGVldHMgZm9yIGVhc3kgYWNjZXNzLlxcblxcblRoaXMgaXMgdXNlZnVsIGZvciB0cmFja2luZyBjb21wZXRpdG9ycywgcHJvZHVjdCBwcmljZXMsIG9yIGluZHVzdHJ5IGluc2lnaHRzLCBhcyB3ZWxsIGFzIGNhcHR1cmluZyBpbnNpZ2h0cyBpbnRvIHlvdXIgb3duIGJ1c2luZXNzLCBsaWtlIGhvdyBpdCBpcyBwcmVzZW50ZWQgaW4gdGhlIG1lZGlhLCBmb3IgZXhhbXBsZS5cXG5cXG4jIyMgU21hcnQgaG9tZSBhdXRvbWF0aW9uXFxuXFxubjhuIGNhbiBiZSB1c2VkIGFzIGEgaG9tZSBhdXRvbWF0aW9uIHN5c3RlbSB0byBjb250cm9sIHZhcmlvdXMgc21hcnQgaG9tZSBkZXZpY2VzIG9yIGV4cGFuZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiB5b3VyIGV4aXN0aW5nIGhvbWUgbmV0d29yayBiYXNlZCBvbiB5b3VyIGxvY2F0aW9uLlxcblxcbllvdSBjYW4gY3JlYXRlIGFuIGF1dG9tYXRlZCB3b3JrZmxvdyB0byB0dXJuIG9mZiB0aGUgbGlnaHRzIGFuZCByZWR1Y2UgdGhlIGhlYXRpbmcgd2hlbiB5b3UgZ28gb3V0LCBvciB0byB1bmxvY2sgeW91ciBkb29yIHdoZW4geW914oCZdmUgcmV0dXJuZWQgaG9tZS5cXG5cXG5aYXBpZXIgdnMgbjhuIOKAkyBjb21wYXJpc29uXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5XaGVuIFtjb21wYXJpbmcgbjhuIGFuZCBaYXBpZXJdKGh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL244bi12cy16YXBpZXIpLCBaYXBpZXIgaXMgYSB1c2VyLWZyaWVuZGx5IHdvcmtmbG93IGF1dG9tYXRpb24gdG9vbCBnZWFyZWQgdG93YXJkIGJlZ2lubmVycywgd2hlcmVhcyBuOG4gcHJvdmlkZXMgbW9yZSBmbGV4aWJpbGl0eSB3aXRoIGZld2VyIGxpbWl0YXRpb25zLlxcblxcblphcGllciBpcyBhIGdyZWF0IGNob2ljZSBpZiB5b3Ugd2FudCB0byBjb25uZWN0IHZhcmlvdXMgYXBwbGljYXRpb25zIGFuZCBhdXRvbWF0ZSBzaW1wbGUgbWFudWFsIHRhc2tzIHdpdGhvdXQgYSBsb3Qgb2YgZmluZS10dW5pbmcuIG44biwgb24gdGhlIG90aGVyIGhhbmQsIGlzIGEgYmV0dGVyIGNob2ljZSBmb3IgcGVvcGxlIHdobyB3YW50IG1vcmUgY29udHJvbCwgYWR2YW5jZWQgY3VzdG9taXphdGlvbiwgYW5kIGEgc2VsZi1ob3N0aW5nIG9wdGlvbi5cXG5cXG5Qcm9zIG9mIFphcGllcjpcXG5cXG4qICAgT25lIG9mIHRoZSBzaW1wbGVzdCB0b29scyB0byBsZWFybiBmb3IgYmVnaW5uZXJzXFxuKiAgIFdpZGUgdmFyaWV0eSBvZiBzdXBwb3J0ZWQgYXBwbGljYXRpb25zXFxuKiAgIENsb3VkLWJhc2VkLCBzbyB5b3UgZG9u4oCZdCBuZWVkIHRvIHdvcnJ5IGFib3V0IGhvc3RpbmdcXG5cXG5Db25zIG9mIFphcGllcjpcXG5cXG4qICAgTGltaXRlZCBjdXN0b21pemFiaWxpdHkgZm9yIG1vcmUgYWR2YW5jZWQgdGFza3NcXG4qICAgQ2FuIGdldCBleHBlbnNpdmUgd2l0aCBjb21wbGV4IHdvcmtmbG93c1xcblxcblByb3Mgb2YgbjhuOlxcblxcbiogICBGcmVlIHRvIHNlbGYtaG9zdFxcbiogICBBbGxvd3MgbW9yZSBhZHZhbmNlZCBjdXN0b20gd29ya2Zsb3dzXFxuKiAgIENsb3VkLWJhc2VkIG9wdGlvbiBhdmFpbGFibGUgaWYgeW91IGRvbuKAmXQgd2FudCB0byBjYXJlIGFib3V0IGhvc3RpbmdcXG5cXG5Db25zIG9mIG44bjpcXG5cXG4qICAgSXQgdGFrZXMgbW9yZSB0aW1lIHRvIGxlYXJuXFxuKiAgIEZld2VyIHN1cHBvcnRlZCBhcHBsaWNhdGlvbnMgY29tcGFyZWQgdG8gWmFwaWVyXFxuKiAgIE1vcmUgY29tcGxleCBzZXR1cCBpZiB5b3Ugb3B0IGZvciB0aGUgc2VsZi1ob3N0ZWQgb3B0aW9uXFxuXFxuVG8gY29uY2x1ZGUsIGlmIHlvdSBhcmUgbG9va2luZyBmb3IgYSBxdWljayBhbmQgZWFzeSBzb2x1dGlvbiwgY2hvb3NlIFphcGllci4gSWYgeW91IG5lZWQgYSBtb3JlIHBvd2VyZnVsIGFuZCBjdXN0b21pemFibGUgc29sdXRpb24sIHlvdSB3aWxsIGxpa2VseSBiZW5lZml0IGZyb20gY2hvb3NpbmcgbjhuIGluc3RlYWQuXFxuXFxuSG93IG11Y2ggZG9lcyBuOG4gY29zdD9cXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbm44biBpcyBmcmVlIHRvIHNlbGYtaG9zdCwgc28gdGhlIHByaWNlIGRlcGVuZHMgc29sZWx5IG9uIHlvdXIgaG9zdGluZyBzb2x1dGlvbi5cXG5cXG5JZiB5b3Ugb3B0IGZvciB0aGUgY2xvdWQgdmVyc2lvbiBkaXJlY3RseSBmcm9tIG44biwgaXTigJlsbCBjb3N0IHlvdSAqKiQyMC9tb250aCoqIGZvciB0aGUgU3RhcnRlciBwbGFuIOKAkyB0aGlzIHNob3VsZCBiZSBlbm91Z2ggZm9yIG1vc3QgYmFzaWMgcHJvamVjdHMuIEZvciBtb3JlIGNvbXBsZXggcHJvamVjdHMgb3IgZm9yIHRlYW0gdXNlLCB0aGUgUHJvIHBsYW4gY29zdHMgKiokNTAvbW9udGgqKi5cXG5cXG5Gb3IgdGhvc2Ugd2hvIHZhbHVlIGN1c3RvbWl6YWJpbGl0eSBhbmQgZnVsbCBjb250cm9sLCB3ZSByZWNvbW1lbmQgaW5zdGFsbGluZyB0aGUgW3NlbGYtaG9zdGVkIG44bl0oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS9zZWxmLWhvc3RlZC1uOG4pdmVyc2lvbiBvbiBhIHZpcnR1YWwgcHJpdmF0ZSBzZXJ2ZXIgKFZQUykgZnJvbSBIb3N0aW5nZXIuIFRoZSBLVk0gMiBwbGFuIGF0ICoqJDcuNDkvbW9udGgqKiBzaG91bGQgYmUgZW5vdWdoIHRvIGdldCB5b3Ugc3RhcnRlZC4gV2l0aCBoUGFuZWwsICoqW2luc3RhbGxpbmcgbjhuIHdpdGggVWJ1bnR1XShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy9ob3ctdG8taW5zdGFsbC1uOG4pKiogdGFrZXMganVzdCBhIGZldyBjbGlja3MuXFxuXFxuKipJbXBvcnRhbnQhKiogUmVzb3VyY2UgdXNhZ2UgZ3Jvd3MgYXMgeW91IGFkZCBtb3JlIG9yIGNvbXBsZXggd29ya2Zsb3dzLiBNYWtlIHN1cmUgeW91ciBWUFMgaGFzIHRoZSBbY29ycmVjdCByZXF1aXJlbWVudHMgZm9yIHlvdXIgbjhuIGluc3RhbmNlXShodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy9uOG4tdnBzLXJlcXVpcmVtZW50cyksIG1vbml0b3IgdXNhZ2UgaW4gaFBhbmVsLCBhbmQgdXBncmFkZSB3aGVuIG5lZWRlZC5cXG5cXG5JZiB5b3XigJlyZSBhIGJpdCBtb3JlIHRlY2gtc2F2dnksIHlvdSBjYW4gdHJ5IG44biBvdXQgZm9yIGZyZWUgYnkgc2V0dGluZyBpdCB1cCBvbiB5b3VyIGhvbWUgY29tcHV0ZXIgb3IgYSBzaW5nbGUtYm9hcmQgY29tcHV0ZXIgc3VjaCBhcyBSYXNwYmVycnkgUGkgd2l0aCBOb2RlLmpzIG9yIERvY2tlci4gSXTigJlzIG5vdCBhcyBlYXN5IGFzIHRoZSBWUFMgb3B0aW9uLCBidXQgaXQgY2FuIGJlIGEgZ3JlYXQgc3RhcnRpbmcgcG9pbnQgZm9yIHRob3NlIHdobyBqdXN0IHdhbnQgdG8gcGxheSBhcm91bmQgd2l0aCBuOG4gYmVmb3JlIGludmVzdGluZyBpbiBob3N0aW5nLlxcblxcblshW0ltYWdlIDJdKGh0dHBzOi8vaW1hZ2VkZWxpdmVyeS5uZXQvTHFpV0xtLTNNR2JZSHRGdVViY0J0QS93cC1jb250ZW50L3VwbG9hZHMvc2l0ZXMvMi8yMDIzLzAyL1ZQUy1ob3N0aW5nLWJhbm5lci5wbmcvcHVibGljKV0oaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS92cHMtaG9zdGluZylcXG5Db25jbHVzaW9uXFxuLS0tLS0tLS0tLVxcblxcbm44biBpcyBhbGwgYWJvdXQgbWFraW5nIHlvdXIgbGlmZSBlYXNpZXIuIFdoZXRoZXIgeW91IHdhbnQgdG8gYXV0b21hdGUgbm90aWZpY2F0aW9ucywgc3luYyBkYXRhLCBwcm9jZXNzIHBheW1lbnRzLCBvciBldmVuIGNvbnRyb2wgc21hcnQgaG9tZSBkZXZpY2VzLCBpdCBnaXZlcyB5b3UgdGhlIGZsZXhpYmlsaXR5IHRvIGRvIGl0IGFsbC5cXG5cXG5JZiB5b3XigJlyZSBsb29raW5nIGZvciBzb21ldGhpbmcgcXVpY2sgYW5kIGJlZ2lubmVyLWZyaWVuZGx5LCBaYXBpZXIgaXMgc3RpbGwgYSBncmVhdCBvcHRpb24uIG44biwgaG93ZXZlciwgZ2l2ZXMgeW91IG1vcmUgcG93ZXIsIGN1c3RvbWl6YXRpb24sIGFuZCB0aGUgYWJpbGl0eSB0byBzZWxmLWhvc3QsIG1ha2luZyBpdCBhbiBvdXRzdGFuZGluZyBwbGF5ZXIgaW4gdGhlIGF1dG9tYXRpb24gd29ybGQuXFxuXFxuKipBbGwgb2YgdGhlIHR1dG9yaWFsIGNvbnRlbnQgb24gdGhpcyB3ZWJzaXRlIGlzIHN1YmplY3QgdG8gW0hvc3RpbmdlcidzIHJpZ29yb3VzIGVkaXRvcmlhbCBzdGFuZGFyZHMgYW5kIHZhbHVlcy5dKGh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL2VkaXRvcmlhbC1zdGFuZGFyZHMtYW5kLXZhbHVlcykqKlxcblxcbiFbSW1hZ2UgMzogQXV0aG9yXShodHRwczovL2ltYWdlZGVsaXZlcnkubmV0L0xxaVdMbS0zTUdiWUh0RnVVYmNCdEEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzIvMjAyNS8wMy9pbWFnZS00LnBuZy9wdWJsaWMpXFxuXFxuVGhlIGF1dGhvclxcblxcbkRvdnlkYXNcXG5cXG5Eb3Z5ZGFzIGhhcyB3b3JrZWQgaW4gY2xvdWQgZW5naW5lZXJpbmcgYW5kIElUIG9wZXJhdGlvbnMsIGZvY3VzaW5nIG9uIG1haW50YWluaW5nIGFuZCBpbXByb3ZpbmcgY29tcGxleCBzeXN0ZW1zLiBIZeKAmXMgZXNwZWNpYWxseSBpbnRlcmVzdGVkIGluIHNvZnR3YXJlIGRldmVsb3BtZW50IGFuZCBhdXRvbWF0aW9uIGFuZCBpcyBhbHdheXMgbG9va2luZyBmb3Igd2F5cyB0byBtYWtlIHRoaW5ncyBtb3JlIGVmZmljaWVudCBhbmQgcmVsaWFibGUuIFlvdSBjYW4gZmluZCBoaW0gb24gW0xpbmtlZEluXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vaW4vZHBhdWxvLykuXCIsXCJwdWJsaXNoZWRUaW1lXCI6XCIyMDI1LTAyLTE4VDE0OjQ0OjQzKzAwOjAwXCIsXCJtZXRhZGF0YVwiOntcImxhbmdcIjpcImVuLVVTXCIsXCJ2aWV3cG9ydFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm9cIixcImRlc2NyaXB0aW9uXCI6XCJuOG4gaXMgYSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgdGhhdCBjb25uZWN0cyBhcHBzIGFuZCBzZXJ2aWNlcy4gTGVhcm4gaG93IGl0IHdvcmtzLCB3aGF0IGl0IGRvZXMsIGFuZCB3aHkgaXTigJlzIGEgdG9wIG9wZW4tc291cmNlIG9wdGlvbi5cIixcInJvYm90c1wiOlwiZm9sbG93LCBpbmRleCwgbWF4LXNuaXBwZXQ6LTEsIG1heC12aWRlby1wcmV2aWV3Oi0xLCBtYXgtaW1hZ2UtcHJldmlldzpsYXJnZVwiLFwib2c6bG9jYWxlXCI6XCJlbl9VU1wiLFwib2c6dHlwZVwiOlwiYXJ0aWNsZVwiLFwib2c6dGl0bGVcIjpcIldoYXQgaXMgbjhuPyBVbmRlcnN0YW5kaW5nIHRoZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2xcIixcIm9nOmRlc2NyaXB0aW9uXCI6XCJuOG4gaXMgYSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgdGhhdCBjb25uZWN0cyBhcHBzIGFuZCBzZXJ2aWNlcy4gTGVhcm4gaG93IGl0IHdvcmtzLCB3aGF0IGl0IGRvZXMsIGFuZCB3aHkgaXTigJlzIGEgdG9wIG9wZW4tc291cmNlIG9wdGlvbi5cIixcIm9nOnVybFwiOlwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd2hhdC1pcy1uOG5cIixcIm9nOnNpdGVfbmFtZVwiOlwiSG9zdGluZ2VyIFR1dG9yaWFsc1wiLFwiYXJ0aWNsZTpzZWN0aW9uXCI6XCJWUFNcIixcIm9nOnVwZGF0ZWRfdGltZVwiOlwiMjAyNS0xMi0xNVQwNTowMjo1NCswMDowMFwiLFwiYXJ0aWNsZTpwdWJsaXNoZWRfdGltZVwiOlwiMjAyNS0wMi0xOFQxNDo0NDo0MyswMDowMFwiLFwiYXJ0aWNsZTptb2RpZmllZF90aW1lXCI6XCIyMDI1LTEyLTE1VDA1OjAyOjU0KzAwOjAwXCIsXCJ0d2l0dGVyOmNhcmRcIjpcInN1bW1hcnlfbGFyZ2VfaW1hZ2VcIixcInR3aXR0ZXI6dGl0bGVcIjpcIldoYXQgaXMgbjhuPyBVbmRlcnN0YW5kaW5nIHRoZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2xcIixcInR3aXR0ZXI6ZGVzY3JpcHRpb25cIjpcIm44biBpcyBhIHdvcmtmbG93IGF1dG9tYXRpb24gdG9vbCB0aGF0IGNvbm5lY3RzIGFwcHMgYW5kIHNlcnZpY2VzLiBMZWFybiBob3cgaXQgd29ya3MsIHdoYXQgaXQgZG9lcywgYW5kIHdoeSBpdOKAmXMgYSB0b3Agb3Blbi1zb3VyY2Ugb3B0aW9uLlwiLFwidHdpdHRlcjpsYWJlbDFcIjpcIldyaXR0ZW4gYnlcIixcInR3aXR0ZXI6ZGF0YTFcIjpcIkRvdnlkYXNcIixcInR3aXR0ZXI6bGFiZWwyXCI6XCJUaW1lIHRvIHJlYWRcIixcInR3aXR0ZXI6ZGF0YTJcIjpcIjcgbWludXRlc1wiLFwiZ2VuZXJhdG9yXCI6XCJXb3JkUHJlc3MgNi44LjJcIixcIndwYWN1LWdlbmVyYXRvclwiOlwiQVNTRVQgQ0xFQU5VUCBTVFlMRVMgTU9WRUQgRlJPTSBCT0RZIFRPIEhFQURcIixcIm1zYXBwbGljYXRpb24tVGlsZUltYWdlXCI6XCJodHRwczovL2ltYWdlZGVsaXZlcnkubmV0L0xxaVdMbS0zTUdiWUh0RnVVYmNCdEEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzIvMjAxNy8wNC9jcm9wcGVkLWhvc3Rpbmdlci1mYXYucG5nL3B1YmxpY1wifSxcImV4dGVybmFsXCI6e1wicHJvZmlsZVwiOntcImh0dHA6Ly9nbXBnLm9yZy94Zm4vMTFcIjp7fX0sXCJjYW5vbmljYWxcIjp7XCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93aGF0LWlzLW44blwiOnt9fSxcImRucy1wcmVmZXRjaFwiOntcImh0dHBzOi8vZmFjZWJvb2submV0L1wiOnt9fSxcInByZWNvbm5lY3RcIjp7XCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL1wiOntcImNyb3Nzb3JpZ2luXCI6XCJcIn19LFwiYWx0ZXJuYXRlXCI6e1wiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvZmVlZFwiOntcInR5cGVcIjpcImFwcGxpY2F0aW9uL3Jzcyt4bWxcIixcInRpdGxlXCI6XCJIb3N0aW5nZXIgVHV0b3JpYWxzIMK7IEZlZWRcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy9jb21tZW50cy9mZWVkXCI6e1widHlwZVwiOlwiYXBwbGljYXRpb24vcnNzK3htbFwiLFwidGl0bGVcIjpcIkhvc3RpbmdlciBUdXRvcmlhbHMgwrsgQ29tbWVudHMgRmVlZFwifSxcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL3doYXQtaXMtbjhuL2ZlZWRcIjp7XCJ0eXBlXCI6XCJhcHBsaWNhdGlvbi9yc3MreG1sXCIsXCJ0aXRsZVwiOlwiSG9zdGluZ2VyIFR1dG9yaWFscyDCuyBXaGF0IGlzIG44bj8gSW50cm8gdG8gYSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgQ29tbWVudHMgRmVlZFwifSxcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzL3dwLWpzb24vd3AvdjIvcG9zdHMvMTIyOTI4XCI6e1widGl0bGVcIjpcIkpTT05cIixcInR5cGVcIjpcImFwcGxpY2F0aW9uL2pzb25cIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3R1dG9yaWFscy93cC1qc29uL29lbWJlZC8xLjAvZW1iZWQ/dXJsPSUyRnR1dG9yaWFscyUyRndoYXQtaXMtbjhuXCI6e1widGl0bGVcIjpcIm9FbWJlZCAoSlNPTilcIixcInR5cGVcIjpcImFwcGxpY2F0aW9uL2pzb24rb2VtYmVkXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd3AtanNvbi9vZW1iZWQvMS4wL2VtYmVkP3VybD0lMkZ0dXRvcmlhbHMlMkZ3aGF0LWlzLW44biZmb3JtYXQ9eG1sXCI6e1widGl0bGVcIjpcIm9FbWJlZCAoWE1MKVwiLFwidHlwZVwiOlwidGV4dC94bWwrb2VtYmVkXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd2hhdC1pcy1uOG5cIjp7XCJocmVmbGFuZ1wiOlwiZW4tVVNcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL2JyL3R1dG9yaWFpcy9vLXF1ZS1lLW44blwiOntcImhyZWZsYW5nXCI6XCJwdC1CUlwifSxcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vZnIvdHV0b3JpZWxzL244bi1jLWVzdC1xdW9pXCI6e1wiaHJlZmxhbmdcIjpcImZyLUZSXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS9lcy90dXRvcmlhbGVzL3F1ZS1lcy1uOG5cIjp7XCJocmVmbGFuZ1wiOlwiZXMtRVNcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL2lkL3R1dG9yaWFsL2FwYS1pdHUtbjhuXCI6e1wiaHJlZmxhbmdcIjpcImlkLUlEXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS9kZS90dXRvcmlhbHMvd2FzLWlzdC1uOG5cIjp7XCJocmVmbGFuZ1wiOlwiZGUtREVcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL2l0L3R1dG9yaWFsL2Nvcy1lLW44blwiOntcImhyZWZsYW5nXCI6XCJpdC1JVFwifSxcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vbmwvdHV0b3JpYWxzL3dhdC1pcy1uOG5cIjp7XCJocmVmbGFuZ1wiOlwibmwtTkxcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL3BsL3R1dG9yaWFsZS9jby1qZXN0LW44bi9cIjp7XCJocmVmbGFuZ1wiOlwicGwtUExcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL2pwL3R1dG9yaWFscy93aGF0LWlzLW44bi9cIjp7XCJocmVmbGFuZ1wiOlwiamEtSlBcIn0sXCJodHRwczovL3d3dy5ibG9nLmhvc3Rpbmdlci5pby9hZS90dXRvcmlhbHMvd2hhdC1pcy1uOG4vXCI6e1wiaHJlZmxhbmdcIjpcImFyLUFFXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS91ay90dXRvcmlhbHMvd2hhdC1pcy1uOG5cIjp7XCJocmVmbGFuZ1wiOlwiZW4tVUtcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL215L3R1dG9yaWFscy93aGF0LWlzLW44blwiOntcImhyZWZsYW5nXCI6XCJlbi1NWVwifSxcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vcGgvdHV0b3JpYWxzL3doYXQtaXMtbjhuXCI6e1wiaHJlZmxhbmdcIjpcImVuLVBIXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS9pbi90dXRvcmlhbHMvd2hhdC1pcy1uOG5cIjp7XCJocmVmbGFuZ1wiOlwiZW4tSU5cIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL2NhL3R1dG9yaWFscy93aGF0LWlzLW44blwiOntcImhyZWZsYW5nXCI6XCJlbi1DQVwifSxcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vYXIvdHV0b3JpYWxlcy9xdWUtZXMtbjhuXCI6e1wiaHJlZmxhbmdcIjpcImVzLUFSXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS9teC90dXRvcmlhbGVzL3F1ZS1lcy1uOG5cIjp7XCJocmVmbGFuZ1wiOlwiZXMtTVhcIn0sXCJodHRwczovL3d3dy5ob3N0aW5nZXIuY29tL2NvL3R1dG9yaWFsZXMvcXVlLWVzLW44blwiOntcImhyZWZsYW5nXCI6XCJlcy1DT1wifSxcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vcHQvdHV0b3JpYWlzL28tcXVlLWUtbjhuXCI6e1wiaHJlZmxhbmdcIjpcInB0LVBUXCJ9LFwiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS9hdS90dXRvcmlhbHMvd2hhdC1pcy1uOG5cIjp7XCJocmVmbGFuZ1wiOlwiZW4tQVVcIn19LFwiaHR0cHM6Ly9hcGkudy5vcmcvXCI6e1wiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMvd3AtanNvbi9cIjp7fX0sXCJFZGl0VVJJXCI6e1wiaHR0cHM6Ly93d3cuaG9zdGluZ2VyLmNvbS90dXRvcmlhbHMveG1scnBjLnBocD9yc2RcIjp7XCJ0eXBlXCI6XCJhcHBsaWNhdGlvbi9yc2QreG1sXCIsXCJ0aXRsZVwiOlwiUlNEXCJ9fSxcInNob3J0bGlua1wiOntcImh0dHBzOi8vd3d3Lmhvc3Rpbmdlci5jb20vdHV0b3JpYWxzLz9wPTEyMjkyOFwiOnt9fSxcImljb25cIjp7XCJodHRwczovL2ltYWdlZGVsaXZlcnkubmV0L0xxaVdMbS0zTUdiWUh0RnVVYmNCdEEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzIvMjAxNy8wNC9jcm9wcGVkLWhvc3Rpbmdlci1mYXYucG5nL3B1YmxpY1wiOntcInNpemVzXCI6XCIxOTJ4MTkyXCJ9fSxcImFwcGxlLXRvdWNoLWljb25cIjp7XCJodHRwczovL2ltYWdlZGVsaXZlcnkubmV0L0xxaVdMbS0zTUdiWUh0RnVVYmNCdEEvd3AtY29udGVudC91cGxvYWRzL3NpdGVzLzIvMjAxNy8wNC9jcm9wcGVkLWhvc3Rpbmdlci1mYXYucG5nL3B1YmxpY1wiOnt9fX0sXCJ1c2FnZVwiOntcInRva2Vuc1wiOjI1NTR9fSx7XCJ0aXRsZVwiOlwiV2hhdCBpcyBuOG4uIEZhc3Rlc3QgYW5kIGVhc2llc3Qgc2VsZiBkZXBsb3ltZW50IHRvb1wiLFwidXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwXCIsXCJkZXNjcmlwdGlvblwiOlwiRW5qb3kgdGhlIHZpZGVvcyBhbmQgbXVzaWMgeW91IGxvdmUsIHVwbG9hZCBvcmlnaW5hbCBjb250ZW50LCBhbmQgc2hhcmUgaXQgYWxsIHdpdGggZnJpZW5kcywgZmFtaWx5LCBhbmQgdGhlIHdvcmxkIG9uIFlvdVR1YmUuXCIsXCJkYXRlXCI6XCJKdWwgNiwgMjAyNVwiLFwiY29udGVudFwiOlwiV2hhdCBpcyBuOG4uIEZhc3Rlc3QgYW5kIGVhc2llc3Qgc2VsZiBkZXBsb3ltZW50IHRvbyAtIFlvdVR1YmVcXG49PT09PT09PT09PT09PT1cXG5cXG4gQmFjayBbIVtJbWFnZSAxXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vIFxcXCJZb3VUdWJlIEhvbWVcXFwiKVxcblxcblNraXAgbmF2aWdhdGlvblxcblxcbiBTZWFyY2ggXFxuXFxuIFNlYXJjaCB3aXRoIHlvdXIgdm9pY2UgXFxuXFxuW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5bU2lnbiBpbl0oaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9zZXJ2aWNlPXlvdXR1YmUmdWlsZWw9MyZwYXNzaXZlPXRydWUmY29udGludWU9aHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4lM0ZhY3Rpb25faGFuZGxlX3NpZ25pbiUzRHRydWUlMjZhcHAlM0RkZXNrdG9wJTI2aGwlM0RlbiUyNm5leHQlM0RodHRwcyUyNTNBJTI1MkYlMjUyRnd3dy55b3V0dWJlLmNvbSUyNTJGd2F0Y2glMjUzRnYlMjUzREF4eEFiOTl5LWMwJmhsPWVuJmVjPTY1NjIwKVxcblxcblshW0ltYWdlIDJdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXShodHRwczovL3d3dy55b3V0dWJlLmNvbS8gXFxcIllvdVR1YmUgSG9tZVxcXCIpXFxuXFxuW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5bXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbltdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5bV2hhdCBpcyBuOG4uIEZhc3Rlc3QgYW5kIGVhc2llc3Qgc2VsZiBkZXBsb3ltZW50IHRvb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5bXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcblRhcCB0byB1bm11dGVcXG5cXG4yeFxcblxcblshW0ltYWdlIDNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbldoYXQgaXMgbjhuLiBGYXN0ZXN0IGFuZCBlYXNpZXN0IHNlbGYgZGVwbG95bWVudCB0b29cXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuSGl0ZXNoIENob3VkaGFyeSA0MSwxMjMgdmlld3MgNSBtb250aHMgYWdvXFxuXFxuW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5TZWFyY2hcXG5cXG5Db3B5IGxpbmtcXG5cXG5JbmZvXFxuXFxuU2hvcHBpbmdcXG5cXG4hW0ltYWdlIDRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuWyFbSW1hZ2UgNV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuSWYgcGxheWJhY2sgZG9lc24ndCBiZWdpbiBzaG9ydGx5LCB0cnkgcmVzdGFydGluZyB5b3VyIGRldmljZS5cXG5cXG7igKJcXG5cXG5Zb3UncmUgc2lnbmVkIG91dFxcblxcblZpZGVvcyB5b3Ugd2F0Y2ggbWF5IGJlIGFkZGVkIHRvIHRoZSBUVidzIHdhdGNoIGhpc3RvcnkgYW5kIGluZmx1ZW5jZSBUViByZWNvbW1lbmRhdGlvbnMuIFRvIGF2b2lkIHRoaXMsIGNhbmNlbCBhbmQgc2lnbiBpbiB0byBZb3VUdWJlIG9uIHlvdXIgY29tcHV0ZXIuXFxuXFxuQ2FuY2VsIENvbmZpcm1cXG5cXG5bXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcblNoYXJlXFxuXFxuW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCBcXFwiU2hhcmUgbGlua1xcXCIpLSBbeF0gSW5jbHVkZSBwbGF5bGlzdCBcXG5cXG5BbiBlcnJvciBvY2N1cnJlZCB3aGlsZSByZXRyaWV2aW5nIHNoYXJpbmcgaW5mb3JtYXRpb24uIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuXFxuXFxuIVtJbWFnZSA2XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbjA6MDBcXG5cXG5bXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVtdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZzFNSEdNV2ZFaUkgXFxcIk5leHQgKFNISUZUK24pXFxcIilcXG5cXG4wOjAwIC8gMDowMFxcblxcbkxpdmVcXG5cXG7igKJXYXRjaCBmdWxsIHZpZGVvXFxuXFxu4oCiXFxuXFxuSW50cm9kdWN0aW9uXFxuXFxu4oCiXFxuXFxuWzM2OjIzIE1hc3RlciA4MCUgb2YgbjhuIGluIDM2IE1pbnV0ZXMgRnV0dXJlcGVkaWEgYW5kIEFJIEFnZW50IExhYiAzMTRLIHZpZXdzIOKAoiAzIG1vbnRocyBhZ28gTGl2ZSBQbGF5bGlzdCAoKU1peCAoNTArKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1lM09WM0xuclM3bylbMjY6MzYgWW91IE5FRUQgdG8gVXNlIG44biBSSUdIVCBOT1chISAoRnJlZSwgTG9jYWwsIFByaXZhdGUpTmV0d29ya0NodWNrIDIuMk0gdmlld3Mg4oCiIDUgbW9udGhzIGFnbyBMaXZlIFBsYXlsaXN0ICgpTWl4ICg1MCspXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PU9OZ0VDdlpOSTNvKVszMDoyMSBXaGF0IGFyZSBBSSBBZ2VudHMuIExldCdzIGJ1aWxkIG9uZSBIaXRlc2ggQ2hvdWRoYXJ5IDU5SyB2aWV3cyDigKIgNiBtb250aHMgYWdvIExpdmUgUGxheWxpc3QgKClNaXggKDUwKyldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cXNPNWpWcnpvYXMpWzM1OjExIDM1IEJlc3QgbjhuIFVzZSBDYXNlcyBZb3XigJlsbCBVc2UgRGFpbHkgKEZyZWUgVGVtcGxhdGVzKUpvbm8gQ2F0bGlmZiAxOUsgdmlld3Mg4oCiIDEgbW9udGggYWdvIExpdmUgUGxheWxpc3QgKClNaXggKDUwKyldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9WXc3MS1DemVvUUkpWzE0OjE4IEhvdyBJJ2QgTGVhcm4gbjhuIGlmIEkgaGFkIHRvIFN0YXJ0IE92ZXIgaW4gMjAyNiBOYXRlIEhlcmsgfCBBSSBBdXRvbWF0aW9uIDU1SyB2aWV3cyDigKIgMTEgZGF5cyBhZ28gTGl2ZSBQbGF5bGlzdCAoKU1peCAoNTArKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1GcWVvOHE4LW5KZylbMjU6NTggRnJvbSBaZXJvIHRvIFlvdXIgRmlyc3QgQUkgQWdlbnQgaW4gMjUgTWludXRlcyAoTm8gQ29kaW5nKUZ1dHVyZXBlZGlhIGFuZCBBSSBBZ2VudCBMYWIgMi45TSB2aWV3cyDigKIgNyBtb250aHMgYWdvIExpdmUgUGxheWxpc3QgKClNaXggKDUwKyldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RUg1ang1cVBhYlUpWzE5OjI1IFdoYXQgaXMgbjhuIGluIEhpbmRpLiBGYXN0ZXN0IGFuZCBlYXNpZXN0IHNlbGYgZGVwbG95bWVudCB0b28gQ2hhaSBhdXIgQ29kZSAzMThLIHZpZXdzIOKAoiA2IG1vbnRocyBhZ28gTGl2ZSBQbGF5bGlzdCAoKU1peCAoNTArKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10eXNEeGpmZ0xNZylbNDc6MTcgbjhuIE5vdyBSdW5zIE15IEVOVElSRSBIb21lbGFiIE5ldHdvcmtDaHVjayA3OThLIHZpZXdzIOKAoiAyIG1vbnRocyBhZ28gTGl2ZSBQbGF5bGlzdCAoKU1peCAoNTArKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1idWRUbWRRZlhZVSlbMjoxMDozNiBNYXN0ZXIgbjhuIGluIDIgSG91cnM6IENvbXBsZXRlIEJlZ2lubmVy4oCZcyBHdWlkZSBmb3IgMjAyNSBKb25vIENhdGxpZmYgNTg2SyB2aWV3cyDigKIgMTAgbW9udGhzIGFnbyBMaXZlIFBsYXlsaXN0ICgpTWl4ICg1MCspXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUFVUm5JU2FqdWJrKVsyNjo1NSBXaHkgTGF0ZW5jeSBDb3VsZCBCZSBLaWxsaW5nIFlvdXIgVXNlciBFeHBlcmllbmNlIEhpdGVzaCBDaG91ZGhhcnkgNDVLIHZpZXdzIOKAoiA1IG1vbnRocyBhZ28gTGl2ZSBQbGF5bGlzdCAoKU1peCAoNTArKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1uN1hSV1pxNGNhRSlbMjI6MTQgVGFpbHdpbmQgQ1NTIFR1dG9yaWFsIEhpbmRpICMxIFNUT1AgV3JpdGluZyBDU1MhIChJbnRybyAmIENvdXJzZSBSb2FkbWFwKVdlYiBDb2RpbmcgV2l0aCBBbmt1ciAyNSB2aWV3cyDigKIgMTEgZGF5cyBhZ28gTGl2ZSBQbGF5bGlzdCAoKU1peCAoNTArKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1nMU1IR01XZkVpSSlbMzA6MDcgQ2xhdWRlIFNraWxscyBFeHBsYWluZWQ6IEJlZ2lubmVyIHRvIEFkdmFuY2VkIFR1dG9yaWFsIEFsaSBILiBTYWxlbSAyNEsgdmlld3Mg4oCiIDEgbW9udGggYWdvIExpdmUgUGxheWxpc3QgKClNaXggKDUwKyldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9YTN1TXYxUy0xdE0pXFxuXFxuU2lnbiBpbiB0byBjb25maXJtIHlvdeKAmXJlIG5vdCBhIGJvdCBUaGlzIGhlbHBzIHByb3RlY3Qgb3VyIGNvbW11bml0eS4gW0xlYXJuIG1vcmVdKGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvYW5zd2VyLzMwMzcwMTkjemlwcHk9JTJDY2hlY2stdGhhdC15b3VyZS1zaWduZWQtaW50by15b3V0dWJlKVxcblxcbltTaWduIGluXShodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3NlcnZpY2U9eW91dHViZSZ1aWxlbD0zJnBhc3NpdmU9dHJ1ZSZjb250aW51ZT1odHRwcyUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRnNpZ25pbiUzRmFjdGlvbl9oYW5kbGVfc2lnbmluJTNEdHJ1ZSUyNmFwcCUzRGRlc2t0b3AlMjZobCUzRGVuJTI2bmV4dCUzRCUyNTJGd2F0Y2glMjUzRnYlMjUzREF4eEFiOTl5LWMwJmhsPWVuKVxcblxcbldoYXQgaXMgbjhuLiBGYXN0ZXN0IGFuZCBlYXNpZXN0IHNlbGYgZGVwbG95bWVudCB0b29cXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XFxuXFxuWyFbSW1hZ2UgN10oaHR0cHM6Ly95dDMuZ2dwaHQuY29tL2FySElLamM2SlRxRl9iNFFKS1BIaFFDX0pyOHEwWGZJN0xFcEowLVZ1aUkwWlJ6OXhGTno5NFRXbDRDTE9jb3pMeC1pQWhWXz1zNDgtYy1rLWMweDAwZmZmZmZmLW5vLXJqKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQEhpdGVzaENvZGVMYWIpXFxuXFxuW0hpdGVzaCBDaG91ZGhhcnldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BIaXRlc2hDb2RlTGFiKVxcblxcbiBIaXRlc2ggQ2hvdWRoYXJ5IFxcblxcbjEuMDJNIHN1YnNjcmliZXJzXFxuXFxuSm9pblxcblxcblN1YnNjcmliZVxcblxcblN1YnNjcmliZWRcXG5cXG40MDRcXG5cXG5TaGFyZVxcblxcblNhdmVcXG5cXG5Eb3dubG9hZFxcblxcbiBEb3dubG9hZCBcXG5cXG40MUsgdmlld3MgNSBtb250aHMgYWdvXFxuXFxuIDQxLDEyMyB2aWV3cyDigKIgSnVsIDYsIDIwMjUgXFxuXFxuTGluazogW2h0dHA6Ly9ob3N0aW5nZXIuY29tL2luL2NoYWlhdXJjb2RlXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZWRpcmVjdD9ldmVudD12aWRlb19kZXNjcmlwdGlvbiZyZWRpcl90b2tlbj1RVUZGTFVocWJGTnlkR3B5WmsxbmVXVXRhMlJRU2xKSVNUVkNaa3QyTVV4eWQzeEJRM0p0YzB0dGJHbFhlRFkzYkdKblgxODBjVVJpVFU1UlVHUjZZVk5TYUZoaFJ6UlFabEZKVUMxRlgwSjZWV3BmYzFWUWFFTnJhMmRLV0hWR2VteDBjSFV5ZWpFNGJFTlNORVo1ZFhoRlVqaENkemc0YlRGQ1VtOWphVjgzZW10elZXbHdZV2hDT0Vkalh6SkhURUl4UmtSYVF6ZExWUSZxPWh0dHAlM0ElMkYlMkZob3N0aW5nZXIuY29tJTJGaW4lMkZjaGFpYXVyY29kZSZ2PUF4eEFiOTl5LWMwKSBDb3Vwb24gY29kZTogQ0hBSUFVUkNPREUgbjhuIGlzIGFuIG9wZW4gc291cmNlIHRvb2wgdGhhdCBjYW4gbGV2ZXJhZ2UgQUkgdG8gYXV0b21hdGUgeW91ciB3b3JrZmxvdy4gU2luY2UgaXQncyBvcGVuIHNvdXJjZSwgeW91IGNhbiBzZWxmIGhvc3QgaXQgdG9vLiBJdCBpcyBsaWtlIExhbmdncmFwaCBidXQgd2l0aCBVSSBhbmQgbm8gY29kZSBpbnZvbHZtZW50LiBXZWxjb21lIHRvIGEgeW91dHViZSBjaGFubmVsIGRlZGljYXRlZCB0byBwcm9ncmFtbWluZyBhbmQgY29kaW5nIHJlbGF0ZWQgdHV0b3JpYWxzLiBXZSB0YWxrIGFib3V0IHRlY2gsIHdyaXRlIGNvZGUsIGRpc2N1c3MgYWJvdXQgY2xvdWQgYW5kIGRldm9wcy4gVGhhdOKAmXMgd2hhdCB3ZSBkbyBhbGwgZGF5LCBhbGwgeWVhci4gR2V0IGFsbCBzb3VyY2UgY29kZSBmb3IgcmVhY3QgYXBwbGljYXRpb246IFtodHRwczovL2dpdGh1Yi5jb20vaGl0ZXNoY2hvdWRoYXJ5L3JlLi4uXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZWRpcmVjdD9ldmVudD12aWRlb19kZXNjcmlwdGlvbiZyZWRpcl90b2tlbj1RVUZGTFVocWJFaERVRkJPTjNkM1MydGtVblJsYW0xUFpXcDBWblkyWW5WSVozeEJRM0p0YzB0dVJFYzBia1JRTVhGR1ZUaEpOMEl3UzE5UVNteHNaa1UwY1Vaa1pWOTNjRWt4VTIxNlgxOWhhWFpRVDJOMFNFUnpYekpMUVdGV1EweEdjR1pyWW5sSFJtdEllWGwzUm1STlRqZzNXRkp2TjNWa2NsWTVibmd5UWxWa1JrOXpOVXN6WjA4MlRUUlFlSE5GTldOb1FqRk9SUSZxPWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmhpdGVzaGNob3VkaGFyeSUyRnJlYWN0LWVuZ2xpc2gmdj1BeHhBYjk5eS1jMCkgQWxsIHNvdXJjZSBjb2RlIGlzIGF2YWlsYWJsZSBhdCBteSBHaXRodWIgYWNjb3VudDogW2h0dHBzOi8vZ2l0aHViLmNvbS9oaXRlc2hjaG91ZGhhcnldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3JlZGlyZWN0P2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uJnJlZGlyX3Rva2VuPVFVRkZMVWhxYm5nMlMxcFRSVTF1ZVZsa1NEWnBOMVZSV21sU1dtSkhUMkozWjN4QlEzSnRjMHRzWVVKWE0yZFFlRFV6UzFoU01FUXRWWFZvWDFNMFZsZHRXWEp0VkU1aE5sYzFXR0p2WTNWQk9VOXJUR3h3VEdrMGIzSXhTbE56Y0ZadGF6VklYM2g0WkRGSE9GZGxVRTVmTFdwbFJ6bHBabVY2Tld4eFVVRkNUbE50ZVZJdFRtOXFlRnBJTTNOalZqZFlkSFZ6Wkd0RWJ3JnE9aHR0cHMlM0ElMkYlMkZnaXRodWIuY29tJTJGaGl0ZXNoY2hvdWRoYXJ5JnY9QXh4QWI5OXktYzApIE91ciBPcGVuLVNvdXJjZSBQcm9qZWN0IGlzIGhlcmU6IFtodHRwczovL2ZyZWVhcGkuYXBwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZWRpcmVjdD9ldmVudD12aWRlb19kZXNjcmlwdGlvbiZyZWRpcl90b2tlbj1RVUZGTFVocWEwVm5VSFpqUlhWbFVuRkZXVkJOVVhCdFZHSldVRzVHWjAxa1FYeEJRM0p0YzB0c1JIUnZhMEZIVUZwc05tUnJla28yYjI5UlJFTnllVEoxY1RWVWMwTjBZM0psTm5WUWVtYzJlalJ0U1d4cWRqa3phRkJSTlhZMVNtdzFSVkJoYTFsWk1ERnpPV1ptTVhGaVVqTlNaamN3WVVsSmRXRk1ORGhsWDE5NVoxRkZlSFZQUmpJd1YzbGllV0phZFZOT1FqbEhidyZxPWh0dHBzJTNBJTJGJTJGZnJlZWFwaS5hcHAlMkYmdj1BeHhBYjk5eS1jMCkgSm9pbiBtZSBhdCB3aGF0c2FwcDogW2h0dHBzOi8vaGl0ZXNoLmFpL3doYXRzYXBwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZWRpcmVjdD9ldmVudD12aWRlb19kZXNjcmlwdGlvbiZyZWRpcl90b2tlbj1RVUZGTFVocWEzaGljR1ExV2xGV1YzRnFOVWxQU1UwMlpVcHVVRlIwTkVnMVVYeEJRM0p0YzB0dFVVZGZiRlU0UkVOclVEUnlPVzFRVGpKMmMyZFdiRXBMVTBaTmNURTFRMHQxUWtwVWQwVkRRVE5VVWpWdGRGTkZVUzFKVDNaT2JrUTRObUZLTUdaR1ZsWjZla2RIUlcxQlQxUkROazF0V25WNVRVVlpXSGwzT0RCVWFHMHpWRlpHU25GQ1oyd3RieTFQY2pnd2NIbEhjdyZxPWh0dHBzJTNBJTJGJTJGaGl0ZXNoLmFpJTJGd2hhdHNhcHAmdj1BeHhBYjk5eS1jMCkgZm9yIGNvbW11bml0eSBkaXNjb3JkOiBbaHR0cHM6Ly9oaXRlc2guYWkvZGlzY29yZF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24mcmVkaXJfdG9rZW49UVVGRkxVaHFiSEZUV0dFdE1tVXRRbVppUTNOTmIyTnFMVlJSYWtSbloxbDJVWHhCUTNKdGMwdHVjMTlqWDB0dFVqWjVUbmhzY20xRU5XTkRValpMVkc5S2QxOUZkV2wxYUhsMmNWaEliemRwYnpRM1IzTktOR1JMWTAxc1lsaE1SazVzWlZsRFJGWnZhbEJQTldoaVNuWnlORXBoZWpCcVprTktTbTAyVTJkMWVtdHVWM05mYWxkdldsaGhjRXRpYjFGaVdVOUxTakpPUVEmcT1odHRwcyUzQSUyRiUyRmhpdGVzaC5haSUyRmRpc2NvcmQmdj1BeHhBYjk5eS1jMCkgSW5zdGFncmFtIHBlIHlhaGEgcGFheWUgamFhdGUgaDogWyFbSW1hZ2UgOF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkvaGl0ZXNoY2hvdWRoYXJ5b2ZmaWNpYWxdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3JlZGlyZWN0P2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uJnJlZGlyX3Rva2VuPVFVRkZMVWhxYkVJM2JpMUtUR3BOU2pCNFRIQktRMnBZYUdKdU5qTjVNV3RzZDN4QlEzSnRjMHRzV1hkdVR6WkJVR0ZRUW0wMVlsRlhXbFo2WkhkcE1IWmxaelpmWTNocVJITjNWMlJVWm05MmJraE5YMEpMU1VweGFGWk1iekpLWTJzM2NtRTVURUZTVldsWWQwZGpTV2sxZVhscWRGSXpabDlXWW5oVGNUWlZaRkZvWVVoeE5WUTBNbkExYjI0dGNUSlFZMkp3UnpWZlFRJnE9aHR0cHMlM0ElMkYlMkZ3d3cuaW5zdGFncmFtLmNvbSUyRmhpdGVzaGNob3VkaGFyeW9mZmljaWFsJTJGJnY9QXh4QWI5OXktYzApIExlYXJuIFJlYWN0IHdpdGggMTAgcHJvamVjdHM6IFshW0ltYWdlIDldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiVmlkZW9dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZUNVN0ZmTWw1V1UmbGlzdD1QTFJBVjY5ZFMxdVdRb3MxTTF4UDZMV042Qy1sWnZwa21xJmluZGV4PTEpIExlYXJuIERvY2tlcjogWyFbSW1hZ2UgMTBdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiQSBwcmFjdGljYWwgZ3VpZGUgb24gRG9ja2VyIHdpdGggcHJvamVjdHMuLi5dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cnI5Y0k0dTFfODgpIExlYXJuIEt1YmVybmV0ZXM6IFshW0ltYWdlIDExXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKeKAokNvbXBsZXRlIEt1YmVybmV0ZXMgQ291cnNlfERlcGxveSBNRVJOIGFwcF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03WERlSTVmeWozdyZwcD0wZ2NKQ1IwQXp0eXd2dExBKSBIb3cgZG9lcyBhIGJyb3dzZXIgd29ya3M6IFshW0ltYWdlIDEyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKeKAokhvdyBkb2VzIGEgYnJvd3NlciB3b3JrP3xFbmdpbmVlcmluZyBzaWRlXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTVyTEZZdFhIbzlzKSBIb3cgbm9kZWpzIHdvcmtzOiBbIVtJbWFnZSAxM10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJIb3cgbm9kZSBKUyB3b3Jrc3xFbmdpbmVlcmluZyBzaWRlXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PW9vQnhTZzFDbDF3KSBMZWFybiBSZWR1eC10b29sa2l0OiBbIVtJbWFnZSAxNF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJWaWRlb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1wWDBTQkpGMDFFVSkgTGVhcm4gTmV4dEpTOiBbIVtJbWFnZSAxNV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJOZXh0anMgRnVsbCBzdGFjayBjb3Vyc2VdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9aVBHWGstaS1WWVUmbGlzdD1QTFJBVjY5ZFMxdVdSN0tGLXpWNllQWXRLWUVIRU5FVHlFJmluZGV4PTEpIExlYXJuIFR5cGVzY3JpcHQ6IFshW0ltYWdlIDE2XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKeKAoldoeSB0byBsZWFybiBUeXBlc2NyaXB0XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWo4OUJ2V3o4RWFnJmxpc3Q9UExSQVY2OWRTMXVXUlBTZkt6d1pzSW0tQXh4cS1MeHFoVyZpbmRleD0xKSBMZWFybiBKYXZhc2NyaXB0OiBbIVtJbWFnZSAxN10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJXZWxjb21lIHRvIG5ldyBKYXZhU2NyaXB0IGNvdXJzZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0ybWQ0SFFOUnFKQSZsaXN0PVBMUkFWNjlkUzF1V1N4VUlrNW8zdlFZMi1fVktzT3BYTEQmaW5kZXg9MSkgTGVhcm4gUmVhY3QgTmF0aXZlOiBbIVtJbWFnZSAxOF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJSZWFjdCBOYXRpdmUgTWFzdGVyeTpEZXZlbG9wIDEwIEFwcHMgd2l0aC4uLl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1rR3RFYXgxV1FGZyZsaXN0PVBMUkFWNjlkUzF1V1NqQkJKLWVnTk5PZDRtZGJsdDFQNGMmaW5kZXg9MSkgTGVhcm4gWnVzdGFuZDogWyFbSW1hZ2UgMTldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiUmVhY3Qgc3RhdGUgbWFuYWdlbWVudCBjcmFzaCBjb3Vyc2V8WnVzdGFuZF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1LQ3ItVU5zTTN2QSZsaXN0PVBMUkFWNjlkUzF1V1FNWGVrRGd3N2ZSQXNIbXNiS1drd3UmaW5kZXg9MSkgTGVhcm4gR29sYW5nOiBbIVtJbWFnZSAyMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJIb3cgdG8gZ2V0IHN0YXJ0ZWQgd2l0aCBnb2xhbmd8R28gcHJvZ3JhLi4uXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVg0cTFPTTB2b08wJmxpc3Q9UExSQVY2OWRTMXVXU1I4OUZSUUdaNnE5QlIyYjQ0VHI5TiZpbmRleD0xKVNob3cgbGVzcyBcXG5cXG5MaW5rOiBbaHR0cDovL2hvc3Rpbmdlci5jb20vaW4vY2hhaWF1cmNvZGVdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3JlZGlyZWN0P2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uJnJlZGlyX3Rva2VuPVFVRkZMVWhxYkZOeWRHcHlaazFuZVdVdGEyUlFTbEpJU1RWQ1prdDJNVXh5ZDN4QlEzSnRjMHR0YkdsWGVEWTNiR0puWDE4MGNVUmlUVTVSVUdSNllWTlNhRmhoUnpSUVpsRkpVQzFGWDBKNlZXcGZjMVZRYUVOcmEyZEtXSFZHZW14MGNIVXllakU0YkVOU05FWjVkWGhGVWpoQ2R6ZzRiVEZDVW05amFWODNlbXR6Vldsd1lXaENPRWRqWHpKSFRFSXhSa1JhUXpkTFZRJnE9aHR0cCUzQSUyRiUyRmhvc3Rpbmdlci5jb20lMkZpbiUyRmNoYWlhdXJjb2RlJnY9QXh4QWI5OXktYzApIENvdXBvbiBjb2RlOiBDSEFJQVVSQ09ERSDigKYuLi5tb3JlIFxcblxcbi4uLm1vcmUgXFxuXFxuSG93IHRoaXMgd2FzIG1hZGVcXG5cXG5BdXRvLWR1YmJlZFxcblxcbkF1ZGlvIHRyYWNrcyBmb3Igc29tZSBsYW5ndWFnZXMgd2VyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZC4gW0xlYXJuIG1vcmVdKGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvYW5zd2VyLzE1NTY5OTcyP2hsPWVuKVxcblxcbkNoYXB0ZXJzXFxuXFxuVmlldyBhbGxcXG4tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcblshW0ltYWdlIDIxXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAjIyMjIEludHJvZHVjdGlvbiAjIyMjIEludHJvZHVjdGlvbiAwOjAwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcblsjIyMjIEludHJvZHVjdGlvbl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4wOjAwXFxuXFxuWyFbSW1hZ2UgMjJdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApICMjIyMgQUkgV29ya2Zsb3cgIyMjIyBBSSBXb3JrZmxvdyAwOjUwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9NTBzKVxcblxcblsjIyMjIEFJIFdvcmtmbG93XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9NTBzKVxcblxcbjA6NTBcXG5cXG5bIVtJbWFnZSAyM10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIyBEZW1vICMjIyMgRGVtbyA0OjMwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9MjcwcyZwcD0wZ2NKQ2QwQ0R1eVVXYnp1KVxcblxcblsjIyMjIERlbW9dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmdD0yNzBzJnBwPTBnY0pDZDBDRHV5VVdienUpXFxuXFxuNDozMFxcblxcblshW0ltYWdlIDI0XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAjIyMjIEhvc3RpbmcgIyMjIyBIb3N0aW5nIDY6MzBdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmdD0zOTBzKVxcblxcblsjIyMjIEhvc3RpbmddKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmdD0zOTBzKVxcblxcbjY6MzBcXG5cXG5bIVtJbWFnZSAyNV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIyBBcHAgTWFuYWdlbWVudCAjIyMjIEFwcCBNYW5hZ2VtZW50IDExOjE1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9Njc1cyZwcD0wZ2NKQ2QwQ0R1eVVXYnp1KVxcblxcblsjIyMjIEFwcCBNYW5hZ2VtZW50XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9Njc1cyZwcD0wZ2NKQ2QwQ0R1eVVXYnp1KVxcblxcbjExOjE1XFxuXFxuVHJhbnNjcmlwdFxcblxcbkZvbGxvdyBhbG9uZyB1c2luZyB0aGUgdHJhbnNjcmlwdC5cXG5cXG5TaG93IHRyYW5zY3JpcHRcXG5cXG5bIVtJbWFnZSAyNl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIEhpdGVzaCBDaG91ZGhhcnkgMS4wMk0gc3Vic2NyaWJlcnNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BIaXRlc2hDb2RlTGFiKVxcblxcbltWaWRlb3NdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL3ZpZGVvcylcXG5cXG5bQWJvdXRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL2Fib3V0KVxcblxcbltWaWRlb3NdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL3ZpZGVvcylbQWJvdXRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL2Fib3V0KVshW0ltYWdlIDI3XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSB0d2l0dGVyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZWRpcmVjdD9ldmVudD1XYXRjaF9TRF9FUCZyZWRpcl90b2tlbj1RVUZGTFVocWJrSXRNVUp1U210Zk5qaEdUM1l4WVRORGFuazFVbWhPYTFBNWQzeEJRM0p0YzB0dFdsVTJjSGhCUTI5VlprdFVlR1o0YlZabFRYSmpReTF2VmxGWVUwRk9VSFpaUkZsb1dYSm5lR2xXZFhWSFZYRlhOUzFhVW5aRlUzTktlV3RaZWxab1pGTXpWR1I0VEV4cFVVMTNVbnBmZERaNGNFazFaWFptVTB0U1dYVlVhMGhwUVhsYU9GVTJOMWt6WTBGT1pFbzNXUSZxPWh0dHBzJTNBJTJGJTJGdHdpdHRlci5jb20lMkZIaXRlc2hkb3Rjb20pWyFbSW1hZ2UgMjhdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApIEluc3RhZ3JhbV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9V2F0Y2hfU0RfRVAmcmVkaXJfdG9rZW49UVVGRkxVaHFiVUV6Tm1Gd2MwSmhWRlJhTUhoMmMxZzVNRGRYVG5sQlIxaHJVWHhCUTNKdGMwdHRPVEZmVFRsU2NqQlBlVGhaWlRSbFRsZE1kSEpwWVRKbGVHSk1NamxFTW5kNGJsWlpYMWxRT0VOWE9FODJNWFp5TlhOdFNFWkVlWEZ4YjB0SGNrMU5SVzVGZVZOUFlXcE1jMnB5V1RGeWFUUjFWRVp4VnpaV2RtRnRSV3BRU2tFMFNFMHRVek5tWW01SFRtbHlOVjlZUlEmcT1odHRwcyUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZoaXRlc2hjaG91ZGhhcnlvZmZpY2lhbClcXG5cXG5TaG93IGxlc3MgXFxuXFxuW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5XaGF0IGlzIG44bi4gRmFzdGVzdCBhbmQgZWFzaWVzdCBzZWxmIGRlcGxveW1lbnQgdG9vXFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcblxcbjQxLDEyMyB2aWV3cyA0MUsgdmlld3NcXG5cXG5KdWwgNiwgMjAyNVxcblxcbjQwNFxcblxcblNoYXJlXFxuXFxuU2F2ZVxcblxcbkRvd25sb2FkXFxuXFxuIERvd25sb2FkIFxcblxcbjIxIENvbW1lbnRzXFxuLS0tLS0tLS0tLS1cXG5cXG4gU29ydCBjb21tZW50cyBcXG5cXG5Tb3J0IGJ5XFxuXFxuW1RvcCBTaG93IGZlYXR1cmVkIGNvbW1lbnRzXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVtOZXdlc3QgU2hvdyByZWNlbnQgY29tbWVudHMsIGluY2x1ZGluZyBwb3RlbnRpYWwgc3BhbV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4hW0ltYWdlIDI5OiBEZWZhdWx0IHByb2ZpbGUgcGhvdG9dKGh0dHBzOi8veXQzLmdncGh0LmNvbS9hL2RlZmF1bHQtdXNlcj1zNDgtYy1rLWMweDAwZmZmZmZmLW5vLXJqKVxcblxcbkFkZCBhIGNvbW1lbnQuLi5cXG5cXG4hW0ltYWdlIDMwXShodHRwczovL3l0My5nZ3BodC5jb20vbmVwaVl0dm5SNlBQZmtfb1V0QVotME1QeXhWajAyeTJmVDkxMHB4VGdCNEhVc3VXZG1KYUpPWHhQTjU4TlBDNC1qZkV6RnVPRnc9czg4LWMtay1jMHgwMGZmZmZmZi1uby1yailcXG5cXG4jIyMgW0BnYW1lZGV2amldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BnYW1lZGV2amkpXFxuXFxuWzUgbW9udGhzIGFnb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZsYz1VZ3dHY0NqbWtUQ3NxbkUtWWxwNEFhQUJBZylcXG5cXG5uZXh0IGpzIHBsYXlsaXN0IHZvdGVcXG5cXG5TaG93IGxlc3MgUmVhZCBtb3JlXFxuXFxuIExpa2UgXFxuXFxuIDE4IFxcblxcbiBEaXNsaWtlIFxcblxcblJlcGx5XFxuXFxuIVtJbWFnZSAzMV0oaHR0cHM6Ly95dDMuZ2dwaHQuY29tL3l0Yy9BSWRyb19udG5Ud0NwQlhHeFFIdm9VVnZaTHBIOE5wQm5OV1p5YXlLZ0NaZkN4bkdFVXJRPXM4OC1jLWstYzB4MDBmZmZmZmYtbm8tcmopXFxuXFxuIyMjIFtAdGhpc2lzZGVuaXNoXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9AdGhpc2lzZGVuaXNoKVxcblxcbls1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd5WGZpTVVJa3BwQ1BRYWxZdDRBYUFCQWcpXFxuXFxuV2Ugd2FudCBhbiBlbnRpcmUgc2VyaWVzIG9mIHRoaXMuIDopXFxuXFxuU2hvdyBsZXNzIFJlYWQgbW9yZVxcblxcbiBMaWtlIFxcblxcbiA0IFxcblxcbiBEaXNsaWtlIFxcblxcblJlcGx5XFxuXFxuIVtJbWFnZSAzMl0oaHR0cHM6Ly95dDMuZ2dwaHQuY29tLzZPSm9CU1AxT3IyRktyeldaT3hPMDhRclgtQTJHb0RxLWY1bHZ4QlR1OTNQNnZ4MkZOY3lKVTM1dDFwemdOMDBWNUF3XzBRYT1zODgtYy1rLWMweDAwZmZmZmZmLW5vLXJqKVxcblxcbiMjIyBbQGthcnRoaWNrcmFqYWxlYXJuXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9Aa2FydGhpY2tyYWphbGVhcm4pXFxuXFxuWzQgbW9udGhzIGFnb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZsYz1VZ3hpUjJNamR4SGh2UGNpQnFKNEFhQUJBZylcXG5cXG5XYWl0aW5nIGZvciBwYXJ0IDIgTGlraW5nIFlvdVR1YmUgY29tbWVudHMgYW5kIHJlcGx5IHdvcmtmbG93XFxuXFxuU2hvdyBsZXNzIFJlYWQgbW9yZVxcblxcbiBMaWtlIFxcblxcbiBEaXNsaWtlIFxcblxcblJlcGx5XFxuXFxuIVtJbWFnZSAzM10oaHR0cHM6Ly95dDMuZ2dwaHQuY29tL19yN1VkYU5OMFNXaTM3ZWZoS2lYa2hrazQyc1lkVktBUXZxS1FfZ1Z6bGZBR3l4NGZPaWYtR0NKRjh4clN3VDkwQlN5RXc0UD1zODgtYy1rLWMweDAwZmZmZmZmLW5vLXJqKVxcblxcbiMjIyBbQE1yQ2xvY2t3M3JrXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9ATXJDbG9ja3czcmspXFxuXFxuWzQgbW9udGhzIGFnb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZsYz1VZ3lxRWJzMnZILWs1NzZNYVY1NEFhQUJBZylcXG5cXG5leGNlbGxlbnQgZGVzY3JpcHRpb25cXG5cXG5TaG93IGxlc3MgUmVhZCBtb3JlXFxuXFxuIExpa2UgXFxuXFxuIERpc2xpa2UgXFxuXFxuUmVwbHlcXG5cXG4hW0ltYWdlIDM0XShodHRwczovL3l0My5nZ3BodC5jb20veXRjL0FJZHJvX2twNWd4V1FLbUVZYld6OHBfZUg3VjY1UjdaMkI0WThIcDRmQnY1MGJRZVJ3PXM4OC1jLWstYzB4MDBmZmZmZmYtbm8tcmopXFxuXFxuIyMjIFtAdmlrYXN4MDhdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0B2aWthc3gwOClcXG5cXG5bNSBtb250aHMgYWdvXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJmxjPVVneElwUGlRYTVIbGk3LXNvemw0QWFBQkFnKVxcblxcbldlIHdhbnQgbmV4dCBqcyBwbGF5bGlzdFxcblxcblNob3cgbGVzcyBSZWFkIG1vcmVcXG5cXG4gTGlrZSBcXG5cXG4gRGlzbGlrZSBcXG5cXG5SZXBseVxcblxcbiFbSW1hZ2UgMzVdKGh0dHBzOi8veXQzLmdncGh0LmNvbS95dGMvQUlkcm9fbm9XQ3FFN3NNaU1LMGxqTlpQYUpZU2lYSURjRWM4UlFOeGpwWl8wVTg9czg4LWMtay1jMHgwMGZmZmZmZi1uby1yailcXG5cXG4jIyMgW0BzcmlrYW50aHNhcGVsbHk0MDk1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS9Ac3Jpa2FudGhzYXBlbGx5NDA5NSlcXG5cXG5bNSBtb250aHMgYWdvXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJmxjPVVneWpJTmFTTkc5MkREWlF6d3Q0QWFBQkFnKVxcblxcblBsZWFzZSBjcmVhdGUgYSBwbGF5bGlzdCBvbiBuOG4gd2l0aCByZWFsIHRpbWUgYnVzaW5lc3MgdXNlIGNhc2VzLlxcblxcblNob3cgbGVzcyBSZWFkIG1vcmVcXG5cXG4gTGlrZSBcXG5cXG4gRGlzbGlrZSBcXG5cXG5SZXBseVxcblxcbiFbSW1hZ2UgMzZdKGh0dHBzOi8veXQzLmdncGh0LmNvbS95dGMvQUlkcm9fbWtMTzk3a1RRQmhEMXk2XzEyX1J3Q0JsWmJ2bTBsRldDMWZtLTZqMkVBVzlWajl0N2Z0TVhfQnkzZ3o1UHB6Ny1vSVE9czg4LWMtay1jMHgwMGZmZmZmZi1uby1yailcXG5cXG4jIyMgW0BuYXNpbmFzaXZhOTQzMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQG5hc2luYXNpdmE5NDMwKVxcblxcbls1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd4bkNJcHlwWFBhNm1CNmpJZDRBYUFCQWcpXFxuXFxuVmlkZW8gb24gaG93IHRvIGludGVncmF0ZSB0aGUgYWdlbnRzIHRvIG91ciBuOG5cXG5cXG5TaG93IGxlc3MgUmVhZCBtb3JlXFxuXFxuIExpa2UgXFxuXFxuIERpc2xpa2UgXFxuXFxuUmVwbHlcXG5cXG4hW0ltYWdlIDM3XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbQHN3ZWF0YW5kY29kZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQHN3ZWF0YW5kY29kZSlcXG5cXG5bNSBtb250aHMgYWdvXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJmxjPVVnem9JVmFWWkJjdWdPNVpMOHg0QWFBQkFnKVxcblxcblN1cGVyYiB2aWRlbyFbSW1hZ2UgMzg6IOKdpF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgbmVlZCBtb3JlIGxpa2Ugd2ViICsgYWkgd2l0aCBlYXN5IGRlcGxveW1lbnQgYW5kIHNhYXMgcmVhZHkgcHJvZHVjdFxcblxcblNob3cgbGVzcyBSZWFkIG1vcmVcXG5cXG4gTGlrZSBcXG5cXG4gRGlzbGlrZSBcXG5cXG5SZXBseVxcblxcbiFbSW1hZ2UgMzldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtAZHJlYW1zYWNoaWV2ZXIyMTJdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BkcmVhbXNhY2hpZXZlcjIxMilcXG5cXG5bNSBtb250aHMgYWdvXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJmxjPVVneVFKNGp4Z1FtUXhOUkZVczU0QWFBQkFnKVxcblxcbls5OjE0XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9NTU0cykgbGF0ZXIgb24gSSB3aWxsIGRlZmluaXRlbHkgdXBncmFkZSB0aGlzIG9uZSAhW0ltYWdlIDQwOiDwn5iCXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSFbSW1hZ2UgNDE6IPCfkoBdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuU2hvdyBsZXNzIFJlYWQgbW9yZVxcblxcbiBMaWtlIFxcblxcbiBEaXNsaWtlIFxcblxcblJlcGx5XFxuXFxuIVtJbWFnZSA0Ml0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW0BhbXJhdGF0cmlwYXRoaV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQGFtcmF0YXRyaXBhdGhpKVxcblxcbls1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd6SWprbUQ3bUxjdkxKdS1aMTRBYUFCQWcmcHA9MGdjSkNTSUFOcEcwMHBHaSlcXG5cXG52aWRlbyBpcyBtb3JlIGFib3V0IGhvc3RpbmdlciBhbmQgbGVzcyBhYm91dCBuOG5cXG5cXG5TaG93IGxlc3MgUmVhZCBtb3JlXFxuXFxuIExpa2UgXFxuXFxuIDEgXFxuXFxuIERpc2xpa2UgXFxuXFxuUmVwbHlcXG5cXG4hW0ltYWdlIDQzXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbQENvZGVfYWhlYWRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BDb2RlX2FoZWFkKVxcblxcbls1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd5SnZZc0VlZnBGcXlWXzJFMTRBYUFCQWcpXFxuXFxuaSBhbSBjdXJyZW50bHkgaW50ZWdyYXRpbmcgdGhpcyBuOG4gd29ya2Zsb3csIHBsZWFzZSBjcmVhdGUgYSB2aWRlbyBvbiBpdCBzaXIsIGkgaGF2ZSB0byBhdHRhY2ggYSBsb3Qgb2YgdGhpbmdzLiBwbGVhc2UgY3JlYXRlXFxuXFxuU2hvdyBsZXNzIFJlYWQgbW9yZVxcblxcbiBMaWtlIFxcblxcbiAxIFxcblxcbiBEaXNsaWtlIFxcblxcblJlcGx5XFxuXFxuIVtJbWFnZSA0NF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW0A5N3BpeGVsc10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQDk3cGl4ZWxzKVxcblxcbls1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd5RkxVRGg4QVJCWi14ZWRQaDRBYUFCQWcpXFxuXFxuVGhpcyBpcyBzaW1pbGFyIHRvIEFwYWNoZSBOaWZpLiBIb2V2ZXIsIEkgZmVlbCBsaWtlIHRoaXMgaXMgc29tZXRoaW5nICd1c2VjYXNlIGRyaXZlbicuIHlvdSBjYW4gd2FuZGVyIGFyb3VuZCwgYnV0IHdvbid0IGJlIGFibGUgdG8gYnVpbGQgdGhlIHdvcmtmbG93IHVubGVzcyB5b3UgaGF2ZSBzb21ldGhpbmcgcGxhbm5lZCFcXG5cXG5TaG93IGxlc3MgUmVhZCBtb3JlXFxuXFxuIExpa2UgXFxuXFxuIERpc2xpa2UgXFxuXFxuUmVwbHlcXG5cXG4hW0ltYWdlIDQ1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbQG1hZGh1MTQzNDVdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BtYWRodTE0MzQ1KVxcblxcbls1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd3YkJGMVZsWUs1ZkQtNndRVjRBYUFCQWcpXFxuXFxuZG9lcyB0aGUgc29mdHdhcmUgY29tcGFuaWVzIHVzZSB0b29scyBsaWtlIG44biBpbiBmdXR1cmU/XFxuXFxuU2hvdyBsZXNzIFJlYWQgbW9yZVxcblxcbiBMaWtlIFxcblxcbiBEaXNsaWtlIFxcblxcblJlcGx5XFxuXFxuIVtJbWFnZSA0Nl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW0BSYWprYXJhbmNoYXVkaGFyaUJhdWRkaF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQFJhamthcmFuY2hhdWRoYXJpQmF1ZGRoKVxcblxcbls1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd6UmJMMkpHZnhQRWtvN1dvWjRBYUFCQWcpXFxuXFxuS3VsbWlha2FyIHBhaWRhbCBobyBqYWlzIGtpIG1hbmlcXG5cXG5TaG93IGxlc3MgUmVhZCBtb3JlXFxuXFxuIExpa2UgXFxuXFxuIERpc2xpa2UgXFxuXFxuUmVwbHlcXG5cXG4hW0ltYWdlIDQ3XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbQGxhcmF2ZWx2dWVtZWRpYV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQGxhcmF2ZWx2dWVtZWRpYSlcXG5cXG5bNSBtb250aHMgYWdvXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJmxjPVVneXNyZXpFOUF2S0FxSzQ2bEo0QWFBQkFnKVxcblxcbltodHRwczovL3lvdXR1LmJlL2tYTGRDaVZIMzBFXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWtYTGRDaVZIMzBFKVxcblxcblNob3cgbGVzcyBSZWFkIG1vcmVcXG5cXG4gTGlrZSBcXG5cXG4gRGlzbGlrZSBcXG5cXG5SZXBseVxcblxcbiFbSW1hZ2UgNDhdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtAQ3liZXJBY2FkZW1pYTAwMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vQEN5YmVyQWNhZGVtaWEwMDApXFxuXFxuWzUgbW9udGhzIGFnb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZsYz1VZ3hMX0VXVnk1Y1pFOEI1bURkNEFhQUJBZylcXG5cXG5Nci5IaXRlcy4uLnBseiBiZSByZXNwZWN0ZnVsIHdoZW4gc3BlYWtpbmcgdG8gdGhlIHZpZXdlcnMgb2YgeW91dHViZSBva2F5Py4uLi5ldmVyeWJvZHkgaW4gaW5kaWEga25vd3MgdGhlIHNjYW1zIHlvdSBoYXZlIGRvbmUgaW4gaW5ldXJvbiBhbmQgcHV0dGluZyB1biBmdWxmaWxsZWQgam9iIGdhdXJhbnRlZSBjb3Vyc2VzLi4uLm9rYXk/XFxuXFxuU2hvdyBsZXNzIFJlYWQgbW9yZVxcblxcbiBMaWtlIFxcblxcbiBEaXNsaWtlIFxcblxcblJlcGx5XFxuXFxuIVtJbWFnZSA0OV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW0BIaXRlc2hDb2RlTGFiXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9ASGl0ZXNoQ29kZUxhYilcXG5cXG5bQEhpdGVzaENvZGVMYWIgQEhpdGVzaENvZGVMYWJdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BIaXRlc2hDb2RlTGFiKVs1IG1vbnRocyBhZ29dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmbGM9VWd5TmdsTXFJQnhkQUs4TzQ3SjRBYUFCQWcpXFxuXFxuSG9zdGluZ2VyIExpbms6IFtodHRwOi8vaG9zdGluZ2VyLmNvbS9pbi9jaGFpYXVyY29kZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9Y29tbWVudHMmcmVkaXJfdG9rZW49UVVGRkxVaHFiVXczV25kNVdWbzJkVEJuY1ZGS1JXWkRTbFp1TUVsTkxUUkRaM3hCUTNKdGMwdHVOMGQzV1hKNldHTXhURFZNTUdadU5FMXNURzlOTFdOZlVYVnRURU42Y2xZNVRWZEtYMkpTTkU5TlEzWnlUbEJPYzFRNVQydHFkQzFoV2paTGFEVndhMHcyWjE5alV6Wk1NRUozT1dSNWIxQlpkRFJFV2pRdE4xUnhTM2xuUmt0WGEyRkxVSHBxVFdseVpXbFJjVVpwTkEmcT1odHRwJTNBJTJGJTJGaG9zdGluZ2VyLmNvbSUyRmluJTJGY2hhaWF1cmNvZGUpIENvdXBvbiBjb2RlOiBDSEFJQVVSQ09ERVxcblxcblNob3cgbGVzcyBSZWFkIG1vcmVcXG5cXG4gTGlrZSBcXG5cXG4gMyBcXG5cXG4gRGlzbGlrZSBcXG5cXG5SZXBseVxcblxcbjEgcmVwbHlcXG5cXG5IaWRlIHJlcGxpZXNcXG5cXG4xIHJlcGx5XFxuXFxuVG9wIGlzIHNlbGVjdGVkLCBzbyB5b3UnbGwgc2VlIGZlYXR1cmVkIGNvbW1lbnRzXFxuXFxuTmFOIC8gTmFOXFxuXFxuIVtJbWFnZSA1MF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5Db21tZW50cyAyMVxcbi0tLS0tLS0tLS0tXFxuXFxuW1RvcCBTaG93IGZlYXR1cmVkIGNvbW1lbnRzXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVtOZXdlc3QgU2hvdyByZWNlbnQgY29tbWVudHMsIGluY2x1ZGluZyBwb3RlbnRpYWwgc3BhbV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4hW0ltYWdlIDUxXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbkluIHRoaXMgdmlkZW9cXG4tLS0tLS0tLS0tLS0tXFxuXFxuVGltZWxpbmVcXG5cXG5DaGFwdGVyc1xcblxcblRyYW5zY3JpcHRcXG5cXG4hW0ltYWdlIDUyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbkNoYXB0ZXJzXFxuLS0tLS0tLS1cXG5cXG5UaGVzZSBjaGFwdGVycyBhcmUgYXV0by1nZW5lcmF0ZWRbIVtJbWFnZSA1M10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIyBJbnRyb2R1Y3Rpb24gIyMjIyBJbnRyb2R1Y3Rpb24gMDowMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5bIyMjIyBJbnRyb2R1Y3Rpb25dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuMDowMFxcblxcblshW0ltYWdlIDU0XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAjIyMjIEFJIFdvcmtmbG93ICMjIyMgQUkgV29ya2Zsb3cgMDo1MF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTUwcylcXG5cXG5bIyMjIyBBSSBXb3JrZmxvd10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTUwcylcXG5cXG4wOjUwXFxuXFxuWyFbSW1hZ2UgNTVdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApICMjIyMgRGVtbyAjIyMjIERlbW8gNDozMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTI3MHMpXFxuXFxuWyMjIyMgRGVtb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTI3MHMpXFxuXFxuNDozMFxcblxcblshW0ltYWdlIDU2XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAjIyMjIEhvc3RpbmcgIyMjIyBIb3N0aW5nIDY6MzBdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmdD0zOTBzKVxcblxcblsjIyMjIEhvc3RpbmddKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAmdD0zOTBzKVxcblxcbjY6MzBcXG5cXG5bIVtJbWFnZSA1N10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIyBBcHAgTWFuYWdlbWVudCAjIyMjIEFwcCBNYW5hZ2VtZW50IDExOjE1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9Njc1cylcXG5cXG5bIyMjIyBBcHAgTWFuYWdlbWVudF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTY3NXMpXFxuXFxuMTE6MTVcXG5cXG5TeW5jIHRvIHZpZGVvIHRpbWVcXG5cXG4hW0ltYWdlIDU4XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbkRlc2NyaXB0aW9uXFxuLS0tLS0tLS0tLS1cXG5cXG5XaGF0IGlzIG44bi4gRmFzdGVzdCBhbmQgZWFzaWVzdCBzZWxmIGRlcGxveW1lbnQgdG9vXFxuXFxuNDA0IExpa2VzXFxuXFxuNDEsMTIzIFZpZXdzXFxuXFxuSnVsIDYgMjAyNVxcblxcbkxpbms6IFtodHRwOi8vaG9zdGluZ2VyLmNvbS9pbi9jaGFpYXVyY29kZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24mcmVkaXJfdG9rZW49UVVGRkxVaHFiREI1V25wUGVtRlNOMmxzTVV0V1dreE9RblpWZERKeWMxWm1VWHhCUTNKdGMwdHROVVJTTFZGYVluSm9Ta0Z0UjJSWlVXSllkamRWVVcxaWJYb3dkMmt6VlVvM1lYUTFUbll3Tm1GWU9WaHBVR0pyWkZCaVp6aHBUR2xTU1VGa01uRkRkR0V4WDNoYVVqbHFORVpGTjFKYWNGQm5WbVY0Y201dlJGVjZTRkJaVWs5VWVFZFFhVzFxTm1aSWNHd3plRkJTYncmcT1odHRwJTNBJTJGJTJGaG9zdGluZ2VyLmNvbSUyRmluJTJGY2hhaWF1cmNvZGUmdj1BeHhBYjk5eS1jMCkgQ291cG9uIGNvZGU6IENIQUlBVVJDT0RFIG44biBpcyBhbiBvcGVuIHNvdXJjZSB0b29sIHRoYXQgY2FuIGxldmVyYWdlIEFJIHRvIGF1dG9tYXRlIHlvdXIgd29ya2Zsb3cuIFNpbmNlIGl0J3Mgb3BlbiBzb3VyY2UsIHlvdSBjYW4gc2VsZiBob3N0IGl0IHRvby4gSXQgaXMgbGlrZSBMYW5nZ3JhcGggYnV0IHdpdGggVUkgYW5kIG5vIGNvZGUgaW52b2x2bWVudC4gV2VsY29tZSB0byBhIHlvdXR1YmUgY2hhbm5lbCBkZWRpY2F0ZWQgdG8gcHJvZ3JhbW1pbmcgYW5kIGNvZGluZyByZWxhdGVkIHR1dG9yaWFscy4gV2UgdGFsayBhYm91dCB0ZWNoLCB3cml0ZSBjb2RlLCBkaXNjdXNzIGFib3V0IGNsb3VkIGFuZCBkZXZvcHMuIFRoYXTigJlzIHdoYXQgd2UgZG8gYWxsIGRheSwgYWxsIHllYXIuIEdldCBhbGwgc291cmNlIGNvZGUgZm9yIHJlYWN0IGFwcGxpY2F0aW9uOiBbaHR0cHM6Ly9naXRodWIuY29tL2hpdGVzaGNob3VkaGFyeS9yZS4uLl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24mcmVkaXJfdG9rZW49UVVGRkxVaHFiRkpsZG5kTldWYzRPV0pRU1RoWVRFZ3RVekptWTBWVU1uZG9RWHhCUTNKdGMwdHNlRkJJV2xFMFoxUkdRek0wYURsc1MzSnVjVWt3TVV0YWQxQndURlZpTkU5MFdIUkJhV3BZVG1VeE1sUmhSREZQVkVGWGRGWTVVVUl6TkRsVGNraEtNa0p1YWtRek5XSTFjVTAyTFVJM2VHSnBiV1phYzBsMlgxSlVWbm8xZEdodlpIbFhTakZ5Um5obFJWOVphWFV6UVEmcT1odHRwcyUzQSUyRiUyRmdpdGh1Yi5jb20lMkZoaXRlc2hjaG91ZGhhcnklMkZyZWFjdC1lbmdsaXNoJnY9QXh4QWI5OXktYzApIEFsbCBzb3VyY2UgY29kZSBpcyBhdmFpbGFibGUgYXQgbXkgR2l0aHViIGFjY291bnQ6IFtodHRwczovL2dpdGh1Yi5jb20vaGl0ZXNoY2hvdWRoYXJ5XShodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZWRpcmVjdD9ldmVudD12aWRlb19kZXNjcmlwdGlvbiZyZWRpcl90b2tlbj1RVUZGTFVocWExTjRibXRGZEZOM1ExUmFlV3hJZWpkWFIweFVWMHB5V205dlozeEJRM0p0YzB0c05FTldaM2R4YjJoTE1WSjFRMmczY0VaT1IxcHdORmRHYlU5a1ZUSk9SbVJHYmpKdVRrWmhSMEZIVkdwM1VFaDRkMGQxTkc5S1dXSmZSbGgyU0hoUlIxUjBRVGhNY2pCRWJtbFdNV1pUUkd4M2JGb3lVMlpXYkZSeFozQjFhbEl4VjBWblRXeEJYelV6VTJoZllsSkJOQSZxPWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRmhpdGVzaGNob3VkaGFyeSZ2PUF4eEFiOTl5LWMwKSBPdXIgT3Blbi1Tb3VyY2UgUHJvamVjdCBpcyBoZXJlOiBbaHR0cHM6Ly9mcmVlYXBpLmFwcF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24mcmVkaXJfdG9rZW49UVVGRkxVaHFibFJJZDBwSVJ6bHRYekJ3VW1wd2RVY3lUR28wUWxGMFMwcFZaM3hCUTNKdGMwdHNORFZWV0RCMVNUVTVlVXhKU3pSVlFUSndURTUzYW5FNFZ6bExSVFozT0VSaU9FWXpRa3hJTnpCME5uWlFWalpPWVhKNlVUbEJRbEJqWTJGQ2RtSTFTazl2ZDFWdE1qZG1OMVZMY2t0aFZETkRWbEJuWVdGVmRrTmlUVFoyUjJWd1ZHdEhhR05KYkZCcldrZGpibVZGZHcmcT1odHRwcyUzQSUyRiUyRmZyZWVhcGkuYXBwJTJGJnY9QXh4QWI5OXktYzApIEpvaW4gbWUgYXQgd2hhdHNhcHA6IFtodHRwczovL2hpdGVzaC5haS93aGF0c2FwcF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24mcmVkaXJfdG9rZW49UVVGRkxVaHFiVkpJU0U0eFVuUnJaRFZoWjNSdWMxbDJZbXBoT0VGS2QxVkZRWHhCUTNKdGMwdHRabWw2VWs1d1JtazViVWRYVkRRM09XRkxVbkYyVVV3NGIzbEhWamRHU1hreE5HbElObkEwTm1Sd1ExQnVSa3hRVURkdGFYQnhNME4xVjFrd2RHOVVURzlhY25wMWFtcDBObVp1VUhkblMyeEhTRGhCVFVocGVVOU9UMlpsVkUxZmFUQmhia1JGTUhac1RUWkhaV0V5TkEmcT1odHRwcyUzQSUyRiUyRmhpdGVzaC5haSUyRndoYXRzYXBwJnY9QXh4QWI5OXktYzApIGZvciBjb21tdW5pdHkgZGlzY29yZDogW2h0dHBzOi8vaGl0ZXNoLmFpL2Rpc2NvcmRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3JlZGlyZWN0P2V2ZW50PXZpZGVvX2Rlc2NyaXB0aW9uJnJlZGlyX3Rva2VuPVFVRkZMVWhxYkVsalVsVXRhR2haTmtsTmREWXhTRk51YkZZNWRuQjZSSEV0UVh4QlEzSnRjMHR0UlhaRVNHaGxOM3BaV1U1R04zRlRkMFUyTUZWQ1lYZERWMlp1WkV4NVgwWlpkSFJyWDBkSE0ydENjbDl1TmtKb1QxRXhlVUZLVDBabmFFRmpiVll6YUZreU5WbHBSbVEzVUdaTlNtZHhVMnBYUW1Vek5HMTVTVWxaY1hKV1JtVlZPR1kwYzNwVFZVdG5YMUpDYVZSdFRRJnE9aHR0cHMlM0ElMkYlMkZoaXRlc2guYWklMkZkaXNjb3JkJnY9QXh4QWI5OXktYzApIEluc3RhZ3JhbSBwZSB5YWhhIHBhYXllIGphYXRlIGg6IFshW0ltYWdlIDU5XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKS9oaXRlc2hjaG91ZGhhcnlvZmZpY2lhbF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9dmlkZW9fZGVzY3JpcHRpb24mcmVkaXJfdG9rZW49UVVGRkxVaHFiVVZ6U0VSeVdYbHhheTFFUTNoTGJHbG5VR1IwZWpKd2FWZHBaM3hCUTNKdGMwdHVhVFExY1RCdlluaFljMFJTZUdOcGREbGlhM0pyY1RkbU1GWmhRbUYwUjBwU1YyUTFaVGx1WVhkQllXeGZSME5QWmt4S1FYTkJUbEV4YzNsU2EwRlVXbGcxZEdsVldrc3pTVVJXZHpWNE0zbGxURm80UkRGdUxYWTNSV1pyVUY5RVNuVXRPSEZOWVRRMWVFUm1TVVoyYncmcT1odHRwcyUzQSUyRiUyRnd3dy5pbnN0YWdyYW0uY29tJTJGaGl0ZXNoY2hvdWRoYXJ5b2ZmaWNpYWwlMkYmdj1BeHhBYjk5eS1jMCkgTGVhcm4gUmVhY3Qgd2l0aCAxMCBwcm9qZWN0czogWyFbSW1hZ2UgNjBdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiVmlkZW9dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZUNVN0ZmTWw1V1UmbGlzdD1QTFJBVjY5ZFMxdVdRb3MxTTF4UDZMV042Qy1sWnZwa21xJmluZGV4PTEpIExlYXJuIERvY2tlcjogWyFbSW1hZ2UgNjFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiQSBwcmFjdGljYWwgZ3VpZGUgb24gRG9ja2VyIHdpdGggcHJvamVjdHMuLi5dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cnI5Y0k0dTFfODgpIExlYXJuIEt1YmVybmV0ZXM6IFshW0ltYWdlIDYyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKeKAokNvbXBsZXRlIEt1YmVybmV0ZXMgQ291cnNlfERlcGxveSBNRVJOIGFwcF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03WERlSTVmeWozdykgSG93IGRvZXMgYSBicm93c2VyIHdvcmtzOiBbIVtJbWFnZSA2M10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJIb3cgZG9lcyBhIGJyb3dzZXIgd29yaz98RW5naW5lZXJpbmcgc2lkZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj01ckxGWXRYSG85cykgSG93IG5vZGVqcyB3b3JrczogWyFbSW1hZ2UgNjRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiSG93IG5vZGUgSlMgd29ya3N8RW5naW5lZXJpbmcgc2lkZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1vb0J4U2cxQ2wxdykgTGVhcm4gUmVkdXgtdG9vbGtpdDogWyFbSW1hZ2UgNjVdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiVmlkZW9dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cFgwU0JKRjAxRVUpIExlYXJuIE5leHRKUzogWyFbSW1hZ2UgNjZdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiTmV4dGpzIEZ1bGwgc3RhY2sgY291cnNlXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWlQR1hrLWktVllVJmxpc3Q9UExSQVY2OWRTMXVXUjdLRi16VjZZUFl0S1lFSEVORVR5RSZpbmRleD0xKSBMZWFybiBUeXBlc2NyaXB0OiBbIVtJbWFnZSA2N10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCnigKJXaHkgdG8gbGVhcm4gVHlwZXNjcmlwdF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1qODlCdld6OEVhZyZsaXN0PVBMUkFWNjlkUzF1V1JQU2ZLendac0ltLUF4eHEtTHhxaFcmaW5kZXg9MSkgTGVhcm4gSmF2YXNjcmlwdDogWyFbSW1hZ2UgNjhdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiV2VsY29tZSB0byBuZXcgSmF2YVNjcmlwdCBjb3Vyc2VdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Mm1kNEhRTlJxSkEmbGlzdD1QTFJBVjY5ZFMxdVdTeFVJazVvM3ZRWTItX1ZLc09wWExEJmluZGV4PTEpIExlYXJuIFJlYWN0IE5hdGl2ZTogWyFbSW1hZ2UgNjldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiUmVhY3QgTmF0aXZlIE1hc3Rlcnk6RGV2ZWxvcCAxMCBBcHBzIHdpdGguLi5dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9a0d0RWF4MVdRRmcmbGlzdD1QTFJBVjY5ZFMxdVdTakJCSi1lZ05OT2Q0bWRibHQxUDRjJmluZGV4PTEpIExlYXJuIFp1c3RhbmQ6IFshW0ltYWdlIDcwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKeKAolJlYWN0IHN0YXRlIG1hbmFnZW1lbnQgY3Jhc2ggY291cnNlfFp1c3RhbmRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9S0NyLVVOc00zdkEmbGlzdD1QTFJBVjY5ZFMxdVdRTVhla0RndzdmUkFzSG1zYktXa3d1JmluZGV4PTEpIExlYXJuIEdvbGFuZzogWyFbSW1hZ2UgNzFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzAp4oCiSG93IHRvIGdldCBzdGFydGVkIHdpdGggZ29sYW5nfEdvIHByb2dyYS4uLl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1YNHExT00wdm9PMCZsaXN0PVBMUkFWNjlkUzF1V1NSODlGUlFHWjZxOUJSMmI0NFRyOU4maW5kZXg9MSnigKYuLi5tb3JlIFxcblxcbi4uLm1vcmUgU2hvdyBsZXNzIFxcblxcbkhvdyB0aGlzIHdhcyBtYWRlXFxuXFxuQXV0by1kdWJiZWRcXG5cXG5BdWRpbyB0cmFja3MgZm9yIHNvbWUgbGFuZ3VhZ2VzIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFtMZWFybiBtb3JlXShodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci8xNTU2OTk3Mj9obD1lbilcXG5cXG5DaGFwdGVyc1xcblxcblZpZXcgYWxsXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5bIVtJbWFnZSA3Ml0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIyBJbnRyb2R1Y3Rpb24gIyMjIyBJbnRyb2R1Y3Rpb24gMDowMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG5bIyMjIyBJbnRyb2R1Y3Rpb25dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuMDowMFxcblxcblshW0ltYWdlIDczXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAjIyMjIEFJIFdvcmtmbG93ICMjIyMgQUkgV29ya2Zsb3cgMDo1MF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTUwcylcXG5cXG5bIyMjIyBBSSBXb3JrZmxvd10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTUwcylcXG5cXG4wOjUwXFxuXFxuWyFbSW1hZ2UgNzRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApICMjIyMgRGVtbyAjIyMjIERlbW8gNDozMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCZ0PTI3MHMmcHA9MGdjSkNkMENEdXlVV2J6dSlcXG5cXG5bIyMjIyBEZW1vXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9MjcwcyZwcD0wZ2NKQ2QwQ0R1eVVXYnp1KVxcblxcbjQ6MzBcXG5cXG5bIVtJbWFnZSA3NV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIyBIb3N0aW5nICMjIyMgSG9zdGluZyA2OjMwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9MzkwcylcXG5cXG5bIyMjIyBIb3N0aW5nXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwJnQ9MzkwcylcXG5cXG42OjMwXFxuXFxuVHJhbnNjcmlwdFxcblxcbkZvbGxvdyBhbG9uZyB1c2luZyB0aGUgdHJhbnNjcmlwdC5cXG5cXG5TaG93IHRyYW5zY3JpcHRcXG5cXG5bIVtJbWFnZSA3Nl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgIyMjIEhpdGVzaCBDaG91ZGhhcnkgMS4wMk0gc3Vic2NyaWJlcnNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL0BIaXRlc2hDb2RlTGFiKVxcblxcbltWaWRlb3NdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL3ZpZGVvcylcXG5cXG5bQWJvdXRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL2Fib3V0KVxcblxcbltWaWRlb3NdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL3ZpZGVvcylbQWJvdXRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2NoYW5uZWwvVUNYZ0dZMHdrZ096eW5uSHZTRVZtRTNBL2Fib3V0KVshW0ltYWdlIDc3XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSB0d2l0dGVyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS9yZWRpcmVjdD9ldmVudD1XYXRjaF9TRF9FUCZyZWRpcl90b2tlbj1RVUZGTFVocWJrSXRNVUp1U210Zk5qaEdUM1l4WVRORGFuazFVbWhPYTFBNWQzeEJRM0p0YzB0dFdsVTJjSGhCUTI5VlprdFVlR1o0YlZabFRYSmpReTF2VmxGWVUwRk9VSFpaUkZsb1dYSm5lR2xXZFhWSFZYRlhOUzFhVW5aRlUzTktlV3RaZWxab1pGTXpWR1I0VEV4cFVVMTNVbnBmZERaNGNFazFaWFptVTB0U1dYVlVhMGhwUVhsYU9GVTJOMWt6WTBGT1pFbzNXUSZxPWh0dHBzJTNBJTJGJTJGdHdpdHRlci5jb20lMkZIaXRlc2hkb3Rjb20pWyFbSW1hZ2UgNzhdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApIEluc3RhZ3JhbV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vcmVkaXJlY3Q/ZXZlbnQ9V2F0Y2hfU0RfRVAmcmVkaXJfdG9rZW49UVVGRkxVaHFiVUV6Tm1Gd2MwSmhWRlJhTUhoMmMxZzVNRGRYVG5sQlIxaHJVWHhCUTNKdGMwdHRPVEZmVFRsU2NqQlBlVGhaWlRSbFRsZE1kSEpwWVRKbGVHSk1NamxFTW5kNGJsWlpYMWxRT0VOWE9FODJNWFp5TlhOdFNFWkVlWEZ4YjB0SGNrMU5SVzVGZVZOUFlXcE1jMnB5V1RGeWFUUjFWRVp4VnpaV2RtRnRSV3BRU2tFMFNFMHRVek5tWW01SFRtbHlOVjlZUlEmcT1odHRwcyUzQSUyRiUyRmluc3RhZ3JhbS5jb20lMkZoaXRlc2hjaG91ZGhhcnlvZmZpY2lhbClcXG5cXG4hW0ltYWdlIDc5XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcblRyYW5zY3JpcHRcXG4tLS0tLS0tLS0tXFxuXFxuWyFbSW1hZ2UgODBdKGh0dHBzOi8vaS55dGltZy5jb20vdmkvZTNPVjNMbnJTN28vaHFkZWZhdWx0LmpwZz9zcXA9LW9heW13RW5DTkFDRUx3QlNGcnlxNHFwQXhrSUFSVUFBSWhDR0FIWUFRSGlBUW9JR0JBQ0dBWTRBVUFCJnJzPUFPbjRDTENHcmw5dm40T0NseU5OUmIwQ0huS2ZOS2JhaXcpIDM2OjIzXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWUzT1YzTG5yUzdvJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuIVtJbWFnZSA4MV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4hW0ltYWdlIDgyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbTWFzdGVyIDgwJSBvZiBuOG4gaW4gMzYgTWludXRlc10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1lM09WM0xuclM3byZwcD11Z1VFRWdKbGJnJTNEJTNEKVxcblxcbkZ1dHVyZXBlZGlhIGFuZCBBSSBBZ2VudCBMYWJcXG5cXG4zMTRLIHZpZXdzIOKAoiAzIG1vbnRocyBhZ29cXG5cXG5bIVtJbWFnZSA4M10oaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9PTmdFQ3ZaTkkzby9ocWRlZmF1bHQuanBnP3NxcD0tb2F5bXdFbkNOQUNFTHdCU0ZyeXE0cXBBeGtJQVJVQUFJaENHQUhZQVFIaUFRb0lHQkFDR0FZNEFVQUImcnM9QU9uNENMQk5UTkNmeEtTT1JWLWo4NUZnNDl3SnVzNGpMdykgMjY6MzZdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9T05nRUN2Wk5JM28mcHA9dWdVRUVnSmxiZyUzRCUzRClcXG5cXG4hW0ltYWdlIDg0XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbWW91IE5FRUQgdG8gVXNlIG44biBSSUdIVCBOT1chISAoRnJlZSwgTG9jYWwsIFByaXZhdGUpXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PU9OZ0VDdlpOSTNvJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuTmV0d29ya0NodWNrXFxuXFxuMi4yTSB2aWV3cyDigKIgNSBtb250aHMgYWdvXFxuXFxuWyFbSW1hZ2UgODVdKGh0dHBzOi8vaS55dGltZy5jb20vdmkvcXNPNWpWcnpvYXMvaHFkZWZhdWx0LmpwZz9zcXA9LW9heW13RW5DTkFDRUx3QlNGcnlxNHFwQXhrSUFSVUFBSWhDR0FIWUFRSGlBUW9JR0JBQ0dBWTRBVUFCJnJzPUFPbjRDTERVTVEyMXZqalRNazVLeXo2REZ6aXBOY25TekEpIDMwOjIxXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXFzTzVqVnJ6b2FzJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuIVtJbWFnZSA4Nl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW1doYXQgYXJlIEFJIEFnZW50cy4gTGV0J3MgYnVpbGQgb25lXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXFzTzVqVnJ6b2FzJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuSGl0ZXNoIENob3VkaGFyeVxcblxcbjU5SyB2aWV3cyDigKIgNiBtb250aHMgYWdvXFxuXFxuWyFbSW1hZ2UgODddKGh0dHBzOi8vaS55dGltZy5jb20vdmkvWXc3MS1DemVvUUkvaHFkZWZhdWx0LmpwZz9zcXA9LW9heW13RW5DTkFDRUx3QlNGcnlxNHFwQXhrSUFSVUFBSWhDR0FIWUFRSGlBUW9JR0JBQ0dBWTRBVUFCJnJzPUFPbjRDTEJrQ082RW90X3pEbWt1VklieUlBNk1MM2Z2a1EpIDM1OjExXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVl3NzEtQ3plb1FJJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuIVtJbWFnZSA4OF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgWzM1IEJlc3QgbjhuIFVzZSBDYXNlcyBZb3XigJlsbCBVc2UgRGFpbHkgKEZyZWUgVGVtcGxhdGVzKV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1ZdzcxLUN6ZW9RSSZwcD11Z1VFRWdKbGJnJTNEJTNEKVxcblxcbkpvbm8gQ2F0bGlmZlxcblxcbjE5SyB2aWV3cyDigKIgMSBtb250aCBhZ29cXG5cXG5bIVtJbWFnZSA4OV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgMTQ6MThdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RnFlbzhxOC1uSmcmcHA9dWdVRUVnSmxiZyUzRCUzRClcXG5cXG4hW0ltYWdlIDkwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbSG93IEknZCBMZWFybiBuOG4gaWYgSSBoYWQgdG8gU3RhcnQgT3ZlciBpbiAyMDI2XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUZxZW84cTgtbkpnJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuTmF0ZSBIZXJrIHwgQUkgQXV0b21hdGlvblxcblxcbjU1SyB2aWV3cyDigKIgMTEgZGF5cyBhZ29cXG5cXG5bIVtJbWFnZSA5MV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgMjU6NThdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RUg1ang1cVBhYlUmcHA9dWdVRUVnSmxiZyUzRCUzRClcXG5cXG4hW0ltYWdlIDkyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiFbSW1hZ2UgOTNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtGcm9tIFplcm8gdG8gWW91ciBGaXJzdCBBSSBBZ2VudCBpbiAyNSBNaW51dGVzIChObyBDb2RpbmcpXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUVINWp4NXFQYWJVJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuRnV0dXJlcGVkaWEgYW5kIEFJIEFnZW50IExhYlxcblxcbjIuOU0gdmlld3Mg4oCiIDcgbW9udGhzIGFnb1xcblxcblshW0ltYWdlIDk0XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAxOToyNV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10eXNEeGpmZ0xNZylcXG5cXG4hW0ltYWdlIDk1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbV2hhdCBpcyBuOG4gaW4gSGluZGkuIEZhc3Rlc3QgYW5kIGVhc2llc3Qgc2VsZiBkZXBsb3ltZW50IHRvb10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10eXNEeGpmZ0xNZylcXG5cXG5DaGFpIGF1ciBDb2RlXFxuXFxuMzE4SyB2aWV3cyDigKIgNiBtb250aHMgYWdvXFxuXFxuWyFbSW1hZ2UgOTZdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApIDQ3OjE3XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWJ1ZFRtZFFmWFlVJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuIVtJbWFnZSA5N10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW244biBOb3cgUnVucyBNeSBFTlRJUkUgSG9tZWxhYl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1idWRUbWRRZlhZVSZwcD11Z1VFRWdKbGJnJTNEJTNEKVxcblxcbk5ldHdvcmtDaHVja1xcblxcbjc5OEsgdmlld3Mg4oCiIDIgbW9udGhzIGFnb1xcblxcblshW0ltYWdlIDk4XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAyOjEwOjM2XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUFVUm5JU2FqdWJrKVxcblxcbiFbSW1hZ2UgOTldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtNYXN0ZXIgbjhuIGluIDIgSG91cnM6IENvbXBsZXRlIEJlZ2lubmVy4oCZcyBHdWlkZSBmb3IgMjAyNV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BVVJuSVNhanViaylcXG5cXG5Kb25vIENhdGxpZmZcXG5cXG41ODZLIHZpZXdzIOKAoiAxMCBtb250aHMgYWdvXFxuXFxuWyFbSW1hZ2UgMTAwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAyNjo1NV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1uN1hSV1pxNGNhRSZwcD11Z1VFRWdKbGJnJTNEJTNEKVxcblxcbiFbSW1hZ2UgMTAxXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbV2h5IExhdGVuY3kgQ291bGQgQmUgS2lsbGluZyBZb3VyIFVzZXIgRXhwZXJpZW5jZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1uN1hSV1pxNGNhRSZwcD11Z1VFRWdKbGJnJTNEJTNEKVxcblxcbkhpdGVzaCBDaG91ZGhhcnlcXG5cXG40NUsgdmlld3Mg4oCiIDUgbW9udGhzIGFnb1xcblxcblshW0ltYWdlIDEwMl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgMjI6MTRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZzFNSEdNV2ZFaUkpXFxuXFxuIVtJbWFnZSAxMDNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtUYWlsd2luZCBDU1MgVHV0b3JpYWwgSGluZGkgIzEgU1RPUCBXcml0aW5nIENTUyEgKEludHJvICYgQ291cnNlIFJvYWRtYXApXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWcxTUhHTVdmRWlJKVxcblxcbldlYiBDb2RpbmcgV2l0aCBBbmt1ciBcXG5cXG4yNSB2aWV3cyDigKIgMTEgZGF5cyBhZ29cXG5cXG5bIVtJbWFnZSAxMDRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApIDMwOjA3XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWEzdU12MVMtMXRNJnBwPXVnVUVFZ0psYmclM0QlM0QpXFxuXFxuIVtJbWFnZSAxMDVdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtDbGF1ZGUgU2tpbGxzIEV4cGxhaW5lZDogQmVnaW5uZXIgdG8gQWR2YW5jZWQgVHV0b3JpYWxdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9YTN1TXYxUy0xdE0mcHA9dWdVRUVnSmxiZyUzRCUzRClcXG5cXG5BbGkgSC4gU2FsZW1cXG5cXG4yNEsgdmlld3Mg4oCiIDEgbW9udGggYWdvXFxuXFxuWyFbSW1hZ2UgMTA2XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAxODoxNF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03OS1iQXBJM0dJVSZwcD11Z1VIRWdWbGJpMVZVdyUzRCUzRClcXG5cXG4hW0ltYWdlIDEwN10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW0V4LU9wZW5BSSBTY2llbnRpc3QgV0FSTlM6IFxcXCJZb3UgSGF2ZSBObyBJZGVhIFdoYXQncyBDb21pbmdcXFwiXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTc5LWJBcEkzR0lVJnBwPXVnVUhFZ1ZsYmkxVlV3JTNEJTNEKVxcblxcbkFJIFVwbG9hZFxcblxcbjQuNk0gdmlld3Mg4oCiIDUgbW9udGhzIGFnb1xcblxcblshW0ltYWdlIDEwOF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgMTg6MDNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dGt4S25Qa2xKaFkmcHA9dWdVSEVnVmxiaTFIUWclM0QlM0QpXFxuXFxuIVtJbWFnZSAxMDldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtTdG9wIGxlYXJuaW5nIG44bj8gQnVpbGQgTkVXIEFJIFN5c3RlbXMgaW4gMjAyNl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj10a3hLblBrbEpoWSZwcD11Z1VIRWdWbGJpMUhRZyUzRCUzRClcXG5cXG5KYWNrIFJvYmVydHNcXG5cXG4zNEsgdmlld3Mg4oCiIDEzIGRheXMgYWdvXFxuXFxuWyFbSW1hZ2UgMTEwXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAxNDozOV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1jVXEwaHhaek9MWSZwcD11Z1VFRWdKbGJnJTNEJTNEKVxcblxcbiFbSW1hZ2UgMTExXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbTWFrZSB2cyBuOG7igJRUaGUgV3JvbmcgQ2hvaWNlIFdpbGwgQ29zdCBZb3VdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Y1VxMGh4WnpPTFkmcHA9dWdVRUVnSmxiZyUzRCUzRClcXG5cXG5Kb25vIENhdGxpZmZcXG5cXG4xMEsgdmlld3Mg4oCiIDMgbW9udGhzIGFnb1xcblxcblshW0ltYWdlIDExMl0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgMjQ6MTBdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RTJERUhPRWJ6a3MmcHA9dWdVSEVnVmxiaTFIUWclM0QlM0QpXFxuXFxuIVtJbWFnZSAxMTNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtNb2RlbCBDb250ZXh0IFByb3RvY29sIChNQ1ApIEV4cGxhaW5lZCBmb3IgQmVnaW5uZXJzOiBBSSBGbGlnaHQgQm9va2luZyBEZW1vIV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1FMkRFSE9FYnprcyZwcD11Z1VIRWdWbGJpMUhRZyUzRCUzRClcXG5cXG5Lb2RlS2xvdWRcXG5cXG41ODBLIHZpZXdzIOKAoiA1IG1vbnRocyBhZ29cXG5cXG5bIVtJbWFnZSAxMTRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApIDIwOjE5XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVZQN0dRT19aYWI0KVxcblxcbiFbSW1hZ2UgMTE1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbU3lzdGVtIERlc2lnbiB8IEthZmthIHZzIElubmdlc3RdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9VlA3R1FPX1phYjQpXFxuXFxuSGl0ZXNoIENob3VkaGFyeVxcblxcbjQxSyB2aWV3cyDigKIgMyBtb250aHMgYWdvXFxuXFxuWyFbSW1hZ2UgMTE2XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSA0MToyOV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj15ZnBWVV91RXB5NCZwcD11Z1VFRWdKbGJnJTNEJTNEKVxcblxcbiFbSW1hZ2UgMTE3XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKVxcblxcbiMjIyBbSG93IHRvIFVzZSBDbGF1ZGUgJiBNQ1BzIHRvIElOU1RBTlRMWSBCdWlsZCBuOG4gQUkgQWdlbnRzIChNQVNURVJDTEFTUyldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eWZwVlVfdUVweTQmcHA9dWdVRUVnSmxiZyUzRCUzRClcXG5cXG5NYXJrIEthc2hlZlxcblxcbjU3SyB2aWV3cyDigKIgNSBtb250aHMgYWdvXFxuXFxuWyFbSW1hZ2UgMTE4XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwKSAyMDo1MF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1MMDlrYWNybmVPYyZwcD11Z1VFRWdKbGJ0SUhDUWs4Q2dHSEtpR003dyUzRCUzRClcXG5cXG4hW0ltYWdlIDExOV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMClcXG5cXG4jIyMgW0kgQnVpbHQgYW4gQUkgVGhhdCBBdXRvbWF0ZXMgTXkgTW9ybmluZyBSb3V0aW5lIChVc2luZyBuOG4pXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUwwOWthY3JuZU9jJnBwPXVnVUVFZ0psYnRJSENRazhDZ0dIS2lHTTd3JTNEJTNEKVxcblxcbk1hdHQgV29sZmVcXG5cXG44NEsgdmlld3Mg4oCiIDIgbW9udGhzIGFnb1xcblxcblshW0ltYWdlIDEyMF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCkgMTg6NTFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9amZZSnl3UEJaTTgpXFxuXFxuIVtJbWFnZSAxMjFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXFxuXFxuIyMjIFtIb3cgSSdkIFRlYWNoIGEgNSBZZWFyIE9sZCB0byBCdWlsZCBBSSBBZ2VudHMgKE5vIENvZGUsIG44bildKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9amZZSnl3UEJaTTgpXFxuXFxuOXhcXG5cXG4xMDlLIHZpZXdzIOKAoiAyIG1vbnRocyBhZ29cXG5cXG5TaG93IG1vcmVcXG5cXG5bW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1BeHhBYjk5eS1jMCldKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzApXCIsXCJtZXRhZGF0YVwiOntcImxhbmdcIjpcImVuXCIsXCJ0aGVtZS1jb2xvclwiOlwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KVwiLFwidGl0bGVcIjpcIlwiLFwiZGVzY3JpcHRpb25cIjpcIkVuam95IHRoZSB2aWRlb3MgYW5kIG11c2ljIHlvdSBsb3ZlLCB1cGxvYWQgb3JpZ2luYWwgY29udGVudCwgYW5kIHNoYXJlIGl0IGFsbCB3aXRoIGZyaWVuZHMsIGZhbWlseSwgYW5kIHRoZSB3b3JsZCBvbiBZb3VUdWJlLlwiLFwia2V5d29yZHNcIjpcInZpZGVvLCBzaGFyaW5nLCBjYW1lcmEgcGhvbmUsIHZpZGVvIHBob25lLCBmcmVlLCB1cGxvYWRcIixcInJlZmVycmVyXCI6XCJvcmlnaW4td2hlbi1jcm9zcy1vcmlnaW5cIixcInZpZXdwb3J0XCI6XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCB2aWV3cG9ydC1maXQ9Y292ZXJcIn0sXCJleHRlcm5hbFwiOntcImljb25cIjp7XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYmEyZWViMDkvaW1nL2Zhdmljb24uaWNvXCI6e1widHlwZVwiOlwiaW1hZ2UveC1pY29uXCJ9LFwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2JhMmVlYjA5L2ltZy9mYXZpY29uXzMyeDMyLnBuZ1wiOntcInNpemVzXCI6XCIzMngzMlwifSxcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3MvZGVza3RvcC9iYTJlZWIwOS9pbWcvZmF2aWNvbl80OHg0OC5wbmdcIjp7XCJzaXplc1wiOlwiNDh4NDhcIn0sXCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zL2Rlc2t0b3AvYmEyZWViMDkvaW1nL2Zhdmljb25fOTZ4OTYucG5nXCI6e1wic2l6ZXNcIjpcIjk2eDk2XCJ9LFwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9kZXNrdG9wL2JhMmVlYjA5L2ltZy9mYXZpY29uXzE0NHgxNDQucG5nXCI6e1wic2l6ZXNcIjpcIjE0NHgxNDRcIn19LFwicHJlbG9hZFwiOntcImh0dHBzOi8vaS55dGltZy5jb20vZ2VuZXJhdGVfMjA0XCI6e1wiYXNcIjpcImZldGNoXCJ9LFwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9wbGF5ZXIvNTBjYzA2NzkvcGxheWVyX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qc1wiOntcImFzXCI6XCJzY3JpcHRcIixcIm5vbmNlXCI6XCI1NXdUQkR3cDZyZms3QWdTRkQ3TTVBXCJ9LFwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9BeHhBYjk5eS1jMC9ocWRlZmF1bHQuanBnXCI6e1wiYXNcIjpcImltYWdlXCIsXCJmZXRjaHByaW9yaXR5XCI6XCJoaWdoXCJ9LFwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vcy9fL3l0bWFpbmFwcHdlYi9fL2pzL2s9eXRtYWluYXBwd2ViLmtldmxhcl9iYXNlLmVuX1VTLkloUFNZQVJtRFZRLmVzNS5PL2FtPUFBQUFJQUFBQ0EvZD0xL2JyPTEvcnM9QUdLTXl3SDd0QUg5MllXWGJVSEVJSkd6SE9GSlhVNk1vQS9tPWtldmxhcl9iYXNlX21vZHVsZSxrZXZsYXJfbWFpbl9tb2R1bGVcIjp7XCJhc1wiOlwic2NyaXB0XCIsXCJub25jZVwiOlwiNTV3VEJEd3A2cmZrN0FnU0ZEN001QVwifSxcImh0dHBzOi8vcnIxLS0tc24tNXVhbGRuc3kuZ29vZ2xldmlkZW8uY29tL2dlbmVyYXRlXzIwNFwiOntcImFzXCI6XCJmZXRjaFwifSxcImh0dHBzOi8vcnIxLS0tc24tNXVhbGRuc3kuZ29vZ2xldmlkZW8uY29tL2dlbmVyYXRlXzIwND9jb25uMlwiOntcImFzXCI6XCJmZXRjaFwifX0sXCJzZWFyY2hcIjp7XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9vcGVuc2VhcmNoP2xvY2FsZT1lbl9VU1wiOntcInR5cGVcIjpcImFwcGxpY2F0aW9uL29wZW5zZWFyY2hkZXNjcmlwdGlvbit4bWxcIixcInRpdGxlXCI6XCJZb3VUdWJlXCJ9fSxcIm1hbmlmZXN0XCI6e1wiaHR0cHM6Ly93d3cueW91dHViZS5jb20vbWFuaWZlc3Qud2VibWFuaWZlc3RcIjp7XCJjcm9zc29yaWdpblwiOlwidXNlLWNyZWRlbnRpYWxzXCJ9fSxcImNhbm9uaWNhbFwiOntcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3VuZGVmaW5lZFwiOnt9fSxcImFsdGVybmF0ZVwiOntcImh0dHBzOi8vbS55b3V0dWJlLmNvbS93YXRjaD92PUF4eEFiOTl5LWMwXCI6e1wibWVkaWFcIjpcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweClcIn0sXCJhbmRyb2lkLWFwcDovL2NvbS5nb29nbGUuYW5kcm9pZC55b3V0dWJlL2h0dHAvd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzBcIjp7fSxcImlvcy1hcHA6Ly81NDQwMDc2NjQvdm5kLnlvdXR1YmUvd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9QXh4QWI5OXktYzBcIjp7fX19LFwidXNhZ2VcIjp7XCJ0b2tlbnNcIjoxNTQ0MX19LHtcInRpdGxlXCI6XCJXaGF0IGlzIG44bj8gQSBCZWdpbm5lcidzIEd1aWRlIHRvIHRoZSBXb3JrZmxvdyBBdXRvbWF0aW9uIFRvb2xcIixcInVybFwiOlwiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpY1wiLFwiZGVzY3JpcHRpb25cIjpcIkluIHRoZSBmYXN0LXBhY2VkIHdvcmxkIG9mIGRhdGEgYW5kIGRpZ2l0YWwgdHJhbnNmb3JtYXRpb24sIGF1dG9tYXRpb24gaGFzIGJlY29tZSBlc3NlbnRpYWwuIFdoZXRoZXIgeW91J3JlIG1hbmFnaW5nIGEgYnVzaW5lc3MsIGJ1aWxkaW5nIGFuIGFwcCwgb3IgaGFuZGxpbmcgYW5hbHl0aWNzLCBhdXRvbWF0aW5nIHRhc2tzIGNhbiBzYXZlIHlvdSB0aW1lIGFuZCByZWR1Y2UgaHVtYW4gZXJyb3IuXCIsXCJkYXRlXCI6XCJNYXkgOCwgMjAyNVwiLFwiY29udGVudFwiOlwiV2hhdCBpcyBuOG4/IEEgQmVnaW5uZXIncyBHdWlkZSB0byB0aGUgV29ya2Zsb3cgQXV0b21hdGlvbiBUb29sXFxuPT09PT09PT09PT09PT09XFxuXFxuQWdyZWUgJiBKb2luIExpbmtlZEluXFxuXFxuQnkgY2xpY2tpbmcgQ29udGludWUgdG8gam9pbiBvciBzaWduIGluLCB5b3UgYWdyZWUgdG8gTGlua2VkSW7igJlzIFtVc2VyIEFncmVlbWVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL3VzZXItYWdyZWVtZW50P3Ryaz1saW5rZWRpbi10Y19hdXRoLWJ1dHRvbl91c2VyLWFncmVlbWVudCksIFtQcml2YWN5IFBvbGljeV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL3ByaXZhY3ktcG9saWN5P3Ryaz1saW5rZWRpbi10Y19hdXRoLWJ1dHRvbl9wcml2YWN5LXBvbGljeSksIGFuZCBbQ29va2llIFBvbGljeV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL2Nvb2tpZS1wb2xpY3k/dHJrPWxpbmtlZGluLXRjX2F1dGgtYnV0dG9uX2Nvb2tpZS1wb2xpY3kpLlxcblxcbltTa2lwIHRvIG1haW4gY29udGVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyNtYWluLWNvbnRlbnQpW0xpbmtlZEluXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vP3Ryaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV9uYXYtaGVhZGVyLWxvZ28pXFxuKiAgIFtUb3AgQ29udGVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50P3Ryaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV9ndWVzdF9uYXZfbWVudV90b3BDb250ZW50KVxcbiogICBbUGVvcGxlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHViL2Rpci8rLys/dHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX2d1ZXN0X25hdl9tZW51X3Blb3BsZSlcXG4qICAgW0xlYXJuaW5nXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVhcm5pbmcvc2VhcmNoP3Ryaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV9ndWVzdF9uYXZfbWVudV9sZWFybmluZylcXG4qICAgW0pvYnNdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9qb2JzL3NlYXJjaD90cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfZ3Vlc3RfbmF2X21lbnVfam9icylcXG4qICAgW0dhbWVzXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vZ2FtZXM/dHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX2d1ZXN0X25hdl9tZW51X2dhbWVzKVxcblxcbltKb2luIG5vd10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfbmF2LWhlYWRlci1qb2luKVtTaWduIGluXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdWFzL2xvZ2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmZnJvbVNpZ25Jbj10cnVlJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV9uYXYtaGVhZGVyLXNpZ25pbilbIVtJbWFnZSAxXShodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oLzljOHBlcnk0YW5kemo2b2hqa2pwNTRtYTIpXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdWFzL2xvZ2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmZnJvbVNpZ25Jbj10cnVlJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV9uYXYtaGVhZGVyLXNpZ25pbilcXG5cXG4hW0ltYWdlIDI6IFdoYXQgaXMgbjhuPyBBIEJlZ2lubmVyJ3MgR3VpZGUgdG8gdGhlIFdvcmtmbG93IEF1dG9tYXRpb24gVG9vbF0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q1NjEyQVFHRll1VjZ2VmQwTWcvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNjAwXzIwMDAvQjU2WmFwQTdHVUgwQVUtLzAvMTc0NjU5MjMxNDUxMj9lPTIxNDc0ODM2NDcmdj1iZXRhJnQ9UGp2TnZmMWJ3YmdPbVZWMi1RM2pVTFdpcEkwX1VrUWthWDVLUDExc3BMUSlcXG5cXG5XaGF0IGlzIG44bj8gQSBCZWdpbm5lcidzIEd1aWRlIHRvIHRoZSBXb3JrZmxvdyBBdXRvbWF0aW9uIFRvb2xcXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cXG5cXG4qICAgW1JlcG9ydCB0aGlzIGFydGljbGVdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS91YXMvbG9naW4/c2Vzc2lvbl9yZWRpcmVjdD1odHRwcyUzQSUyRiUyRnd3dy5saW5rZWRpbi5jb20lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfZWxsaXBzaXMtbWVudS1zZW1hcGhvcmUtc2lnbi1pbi1yZWRpcmVjdCZndWVzdFJlcG9ydENvbnRlbnRUeXBlPVBPTkNIT19BUlRJQ0xFJl9mPWd1ZXN0LXJlcG9ydGluZylcXG5cXG5bU3JpeWFudGhhIFNhbmRhcnV3YW5dKGh0dHBzOi8vbGsubGlua2VkaW4uY29tL2luL3NyaXlhbnRoYS1zYW5kYXJ1d2FuLTcyYTE3NTI1MCkhW0ltYWdlIDM6IFNyaXlhbnRoYSBTYW5kYXJ1d2FuXShodHRwczovL21lZGlhLmxpY2RuLmNvbS9kbXMvaW1hZ2UvdjIvRDU2MDNBUUVlRTVDRERYT3d3QS9wcm9maWxlLWRpc3BsYXlwaG90by1zY2FsZV80MDBfNDAwL0I1Nlpxd05RVXpIUUFnLS8wLzE3NjM4OTI4NzI0MzA/ZT0yMTQ3NDgzNjQ3JnY9YmV0YSZ0PXByR2p4QjRnUXFNdk01YjJaNkZ3NnVLdVhyMWlkMDhZOU9pT0pOVl9MS00pXFxuXFxuIyMjIFNyaXlhbnRoYSBTYW5kYXJ1d2FuXFxuXFxuIFB1Ymxpc2hlZCBNYXkgOCwgMjAyNSBcXG5cXG5bKyBGb2xsb3ddKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaWdudXAvY29sZC1qb2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3B1Ymxpc2hlci1hdXRob3ItY2FyZClcXG5cXG5JbiB0aGUgZmFzdC1wYWNlZCB3b3JsZCBvZiBkYXRhIGFuZCBkaWdpdGFsIHRyYW5zZm9ybWF0aW9uLCBhdXRvbWF0aW9uIGhhcyBiZWNvbWUgZXNzZW50aWFsLiBXaGV0aGVyIHlvdSdyZSBtYW5hZ2luZyBhIGJ1c2luZXNzLCBidWlsZGluZyBhbiBhcHAsIG9yIGhhbmRsaW5nIGFuYWx5dGljcywgYXV0b21hdGluZyB0YXNrcyBjYW4gc2F2ZSB5b3UgdGltZSBhbmQgcmVkdWNlIGh1bWFuIGVycm9yLiBPbmUgcG93ZXJmdWwgb3Blbi1zb3VyY2UgdG9vbCBtYWtpbmcgd2F2ZXMgaW4gdGhpcyBzcGFjZSBpcyBuOG4gKHByb25vdW5jZWQgXFxcIm4tZWlnaHQtblxcXCIpLlxcblxcbldoYXQgaXMgbjhuP1xcbi0tLS0tLS0tLS0tLVxcblxcbm44biBzdGFuZHMgZm9yIFxcXCJuIG9kZS1iYXNlZCBuIG8tY29kZS5cXFwiIEl04oCZcyBhbiBvcGVuLXNvdXJjZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgdGhhdCBhbGxvd3MgeW91IHRvIGNvbm5lY3QgZGlmZmVyZW50IGFwcHMgYW5kIHNlcnZpY2VzIHdpdGggZWFzZS4gVGhpbmsgb2YgaXQgbGlrZSBhIGhpZ2hseSBjdXN0b21pemFibGUsIHNlbGYtaG9zdGVkIHZlcnNpb24gb2YgWmFwaWVyIG9yIEludGVncm9tYXQsIGJ1dCB3aXRoIHRoZSBhZGRlZCBib251cyBvZiBmbGV4aWJpbGl0eSBhbmQgY29udHJvbC5cXG5cXG5XaXRoIG44biwgeW91IGNhbjpcXG5cXG4qICAgQXV0b21hdGUgdGFza3MgYmV0d2VlbiAzMDArIGFwcHMgYW5kIHNlcnZpY2VzIChlLmcuLCBTbGFjaywgR29vZ2xlIFNoZWV0cywgTm90aW9uLCBHaXRIdWIpLlxcbiogICBDcmVhdGUgY3VzdG9tIHdvcmtmbG93cyB3aXRoIG5vIGNvZGUgb3IgbWluaW1hbCBjb2RlLlxcbiogICBSdW4gd29ya2Zsb3dzIG9uIHlvdXIgbG9jYWwgc2VydmVyIG9yIGluIHRoZSBjbG91ZC5cXG4qICAgVXNlIEphdmFTY3JpcHQgZnVuY3Rpb25zIGFuZCBleHByZXNzaW9ucyB0byBjdXN0b21pemUgbG9naWMuXFxuXFxuIVtJbWFnZSA0OiBBcnRpY2xlIGNvbnRlbnRdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpXFxuXFxuQWR2YW5jZWQgQUkgV29ya2Zsb3cgQXV0b21hdGlvbiBTb2Z0d2FyZSAmIFRvb2xzIC0gbjhuXFxuXFxuSG93IERvZXMgbjhuIFdvcms/XFxuLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxubjhuIGlzIG5vZGUtYmFzZWQsIG1lYW5pbmcgZWFjaCBzdGVwIChvciBhY3Rpb24pIGluIGEgd29ya2Zsb3cgaXMgYSBub2RlLiBUaGVzZSBub2RlcyBjYW4gYmUgYW55dGhpbmcgZnJvbSBzZW5kaW5nIGFuIGVtYWlsLCBzY3JhcGluZyBhIHdlYnNpdGUsIHRyYW5zZm9ybWluZyBkYXRhLCBvciBjb25uZWN0aW5nIHRvIGFuIEFQSS5cXG5cXG5BIHR5cGljYWwgbjhuIHdvcmtmbG93IGluY2x1ZGVzOlxcblxcblJlY29tbWVuZGVkIGJ5IExpbmtlZEluXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5bIVtJbWFnZSA1OiBBdXRvbWF0ZSB5b3VyIGJ1c2luZXNzIHByb2Nlc3NlcyB3aXRoIGxvdy1jb2RpbmcgcGxhdGZvcm1zXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSBBdXRvbWF0ZSB5b3VyIGJ1c2luZXNzIHByb2Nlc3NlcyB3aXRoIGxvdy1jb2RpbmfigKYgRGF0YVNjaWVuY2UgU2hvdyAyIHllYXJzIGFnb10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL2F1dG9tYXRlLXlvdXItYnVzaW5lc3MtcHJvY2Vzc2VzLWxvdy1jb2RpbmcpXFxuXFxuWyFbSW1hZ2UgNjogQWNjZWxlcmF0aW5nIElubm92YXRpb24gYW5kIFRyYW5zZm9ybWF0aW9uIG9mIExlZ2FjeSBBcHBsaWNhdGlvbnMgXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSBBY2NlbGVyYXRpbmcgSW5ub3ZhdGlvbiBhbmQgVHJhbnNmb3JtYXRpb24gb2YgTGVnYWN54oCmIFJhZGlhbnQgRGlnaXRhbCAxIHllYXIgYWdvXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvYWNjZWxlcmF0aW5nLWlubm92YXRpb24tdHJhbnNmb3JtYXRpb24tbGVnYWN5LXFidXFlKVxcblxcblshW0ltYWdlIDc6IFRoZSBMYXRlc3QgVXBkYXRlcyBpbiBTdHJlYW1saW5pbmcgQ2FtdW5kYSA4IEFQSXMgfCBDYW11bmRhIE1vbnRobHkgLSBBcHJpbCAyMDI0XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSBUaGUgTGF0ZXN0IFVwZGF0ZXMgaW4gU3RyZWFtbGluaW5nIENhbXVuZGEgOCBBUElzIHzigKYgQ2FtdW5kYSAxIHllYXIgYWdvXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvbGF0ZXN0LXVwZGF0ZXMtc3RyZWFtbGluaW5nLWNhbXVuZGEtOC1hcGlzLW1vbnRobHktYXByaWwtMjAyNC16cmptZSlcXG5cXG4xLiAgIFRyaWdnZXIgTm9kZSDigJMgU3RhcnRzIHRoZSB3b3JrZmxvdyAoZS5nLiwgd2ViaG9vaywgdGltZS1iYXNlZCB0cmlnZ2VyKS5cXG4yLiAgIEFjdGlvbiBOb2RlcyDigJMgUGVyZm9ybXMgdGFza3MgbGlrZSBzZW5kaW5nIG1lc3NhZ2VzLCBxdWVyeWluZyBkYXRhYmFzZXMsIG9yIGNhbGxpbmcgQVBJcy5cXG4zLiAgIExvZ2ljIE5vZGVzIOKAkyBBZGRzIGNvbmRpdGlvbnMsIGxvb3BzLCBvciBjb2RlIHRvIGNvbnRyb2wgdGhlIHdvcmtmbG93IHBhdGguXFxuXFxuV29ya2Zsb3dzIGFyZSBidWlsdCB2aXN1YWxseSBpbiBhIGJyb3dzZXItYmFzZWQgaW50ZXJmYWNlLCBtYWtpbmcgdGhlbSBlYXN5IHRvIGRlc2lnbiBhbmQgdW5kZXJzdGFuZC5cXG5cXG5Vc2UgQ2FzZXNcXG4tLS0tLS0tLS1cXG5cXG5uOG4gY2FuIGF1dG9tYXRlIGEgd2lkZSByYW5nZSBvZiB0YXNrcyBhY3Jvc3MgaW5kdXN0cmllczpcXG5cXG4qICAgTWFya2V0aW5nOiBBdXRvbWF0aWNhbGx5IGNhcHR1cmUgZm9ybSByZXNwb25zZXMgYW5kIHNlbmQgZW1haWxzLlxcbiogICBGaW5hbmNlOiBGZXRjaCBleGNoYW5nZSByYXRlcyBhbmQgdXBkYXRlIGZpbmFuY2lhbCBzcHJlYWRzaGVldHMgZGFpbHkuXFxuKiAgIEUtY29tbWVyY2U6IFVwZGF0ZSBpbnZlbnRvcnkgYWNyb3NzIHBsYXRmb3JtcyB3aGVuIGEgc2FsZSBpcyBtYWRlLlxcbiogICBEZXZlbG9wbWVudDogTW9uaXRvciBHaXRIdWIgY29tbWl0cyBhbmQgdHJpZ2dlciBDSS9DRCBwaXBlbGluZXMuXFxuKiAgIERhdGEgU2NpZW5jZTogUHVsbCBpbiBkYXRhIGZyb20gQVBJcywgcHJvY2VzcyBpdCwgYW5kIHNhdmUgaXQgdG8gYSBkYXRhYmFzZSBvciBHb29nbGUgU2hlZXQuXFxuXFxuIyMjIEdldHRpbmcgU3RhcnRlZFxcblxcbllvdSBjYW4gZ2V0IHN0YXJ0ZWQgd2l0aCBuOG4gaW4gYSBmZXcgd2F5czpcXG5cXG4qICAgQ2xvdWQgSG9zdGluZzogU2lnbiB1cCBhdCBbbjhuLmlvXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcmVkaXIvcmVkaXJlY3Q/dXJsPWh0dHAlM0ElMkYlMkZuOG4lMkVpbyZ1cmxoYXNoPUkya0smdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX2xpdHRsZS10ZXh0LWJsb2NrKSBmb3IgdGhlIGhvc3RlZCB2ZXJzaW9uLlxcbiogICBMb2NhbCBJbnN0YWxsYXRpb246IFVzZSBEb2NrZXIgb3IgbnBtIHRvIGluc3RhbGwgYW5kIHJ1biBvbiB5b3VyIG93biBtYWNoaW5lLlxcblxcbltMaWtlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2lnbnVwL2NvbGQtam9pbj9zZXNzaW9uX3JlZGlyZWN0PSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2xpa2UtdG9nZ2xlX2xpa2UtY3RhKVxcblxcbiFbSW1hZ2UgODogTGlrZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYylMaWtlXFxuXFxuIVtJbWFnZSA5OiBDZWxlYnJhdGVdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpQ2VsZWJyYXRlXFxuXFxuIVtJbWFnZSAxMDogU3VwcG9ydF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYylTdXBwb3J0XFxuXFxuIVtJbWFnZSAxMTogTG92ZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYylMb3ZlXFxuXFxuIVtJbWFnZSAxMjogSW5zaWdodGZ1bF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYylJbnNpZ2h0ZnVsXFxuXFxuIVtJbWFnZSAxMzogRnVubnldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpRnVubnlcXG5cXG5bQ29tbWVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfY29tbWVudC1jdGEpXFxuXFxuKiAgIENvcHlcXG4qICAgTGlua2VkSW5cXG4qICAgRmFjZWJvb2tcXG4qICAgWFxcblxcbiBTaGFyZSBcXG5cXG5bIVtJbWFnZSAxNF0oaHR0cHM6Ly9zdGF0aWMubGljZG4uY29tL2Flcm8tdjEvc2MvaC9ibjM5aGlyd3pqcWoxOGVqMWZrejU1NjcxKSFbSW1hZ2UgMTVdKGh0dHBzOi8vc3RhdGljLmxpY2RuLmNvbS9hZXJvLXYxL3NjL2gvYTBlOHJmZjZkamVvcThpeW1wY3lzdXFmdSkhW0ltYWdlIDE2XShodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oL2FzaXFzbHlmNG9vcTdnZ2xsZzRmeW80bzIpIDExMl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19saWtlcy1jb3VudF9zb2NpYWwtYWN0aW9ucy1yZWFjdGlvbnMpWzEyIENvbW1lbnRzXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2lnbnVwL2NvbGQtam9pbj9zZXNzaW9uX3JlZGlyZWN0PSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2xpa2VzLWNvdW50X3NvY2lhbC1hY3Rpb25zLWNvbW1lbnRzKVxcblxcblshW0ltYWdlIDE3OiBNaWd1ZWwgQW50b25pbywgZ3JhcGhpY10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9tYTE4OD90cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9hY3Rvci1pbWFnZSlcXG5cXG5bTWlndWVsIEFudG9uaW9dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9tYTE4OD90cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9hY3Rvci1uYW1lKSA1bW8gXFxuXFxuKiAgIFtSZXBvcnQgdGhpcyBjb21tZW50XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdWFzL2xvZ2luP3Nlc3Npb25fcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZ3d3cubGlua2VkaW4uY29tJTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfZWxsaXBzaXMtbWVudS1zZW1hcGhvcmUtc2lnbi1pbi1yZWRpcmVjdCZndWVzdFJlcG9ydENvbnRlbnRUeXBlPUNPTU1FTlQmX2Y9Z3Vlc3QtcmVwb3J0aW5nKVxcblxcbkEgZ3JlYXQgYmVnaW5uZXJzIGd1aWRlIVxcblxcbltMaWtlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2lnbnVwL2NvbGQtam9pbj9zZXNzaW9uX3JlZGlyZWN0PSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2NvbW1lbnRzLWFjdGlvbl9jb21tZW50X2xpa2UpW1JlcGx5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2lnbnVwL2NvbGQtam9pbj9zZXNzaW9uX3JlZGlyZWN0PSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2NvbW1lbnRzLWFjdGlvbl9jb21tZW50X3JlcGx5KSAxIFJlYWN0aW9uIFxcblxcblshW0ltYWdlIDE4OiBuOG4gRGV2ZWxvcGVycyAtIFVCRVIgZm9yIG44biBEZXZlbG9wZXJzLCBncmFwaGljXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvbjhuLWRldmVsb3BlcnM/dHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfYWN0b3ItaW1hZ2UpXFxuXFxuW244biBEZXZlbG9wZXJzIC0gVUJFUiBmb3IgbjhuIERldmVsb3BlcnNdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L244bi1kZXZlbG9wZXJzP3Ryaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2NvbW1lbnRzLWFjdGlvbl9jb21tZW50X2FjdG9yLW5hbWUpIDZtbyBcXG5cXG4qICAgW1JlcG9ydCB0aGlzIGNvbW1lbnRdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS91YXMvbG9naW4/c2Vzc2lvbl9yZWRpcmVjdD1odHRwcyUzQSUyRiUyRnd3dy5saW5rZWRpbi5jb20lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9lbGxpcHNpcy1tZW51LXNlbWFwaG9yZS1zaWduLWluLXJlZGlyZWN0Jmd1ZXN0UmVwb3J0Q29udGVudFR5cGU9Q09NTUVOVCZfZj1ndWVzdC1yZXBvcnRpbmcpXFxuXFxuTmVhdFxcblxcbltMaWtlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2lnbnVwL2NvbGQtam9pbj9zZXNzaW9uX3JlZGlyZWN0PSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2NvbW1lbnRzLWFjdGlvbl9jb21tZW50X2xpa2UpW1JlcGx5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2lnbnVwL2NvbGQtam9pbj9zZXNzaW9uX3JlZGlyZWN0PSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2NvbW1lbnRzLWFjdGlvbl9jb21tZW50X3JlcGx5KSAxIFJlYWN0aW9uIFxcblxcblshW0ltYWdlIDE5OiBQaGlsaXBwIFNwYXJvdXR6LCBncmFwaGljXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKV0oaHR0cHM6Ly9hdC5saW5rZWRpbi5jb20vaW4vcGhpbGlwcC1zcGFyb3V0ej90cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9hY3Rvci1pbWFnZSlcXG5cXG5bUGhpbGlwcCBTcGFyb3V0el0oaHR0cHM6Ly9hdC5saW5rZWRpbi5jb20vaW4vcGhpbGlwcC1zcGFyb3V0ej90cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9hY3Rvci1uYW1lKSA3bW8gXFxuXFxuKiAgIFtSZXBvcnQgdGhpcyBjb21tZW50XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdWFzL2xvZ2luP3Nlc3Npb25fcmVkaXJlY3Q9aHR0cHMlM0ElMkYlMkZ3d3cubGlua2VkaW4uY29tJTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfZWxsaXBzaXMtbWVudS1zZW1hcGhvcmUtc2lnbi1pbi1yZWRpcmVjdCZndWVzdFJlcG9ydENvbnRlbnRUeXBlPUNPTU1FTlQmX2Y9Z3Vlc3QtcmVwb3J0aW5nKVxcblxcbm44biBpZiBhIHRpbWUgc2F2ZXJcXG5cXG5bTGlrZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9saWtlKVtSZXBseV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9yZXBseSlbMSBSZWFjdGlvbl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9yZWFjdGlvbnMpIDIgUmVhY3Rpb25zIFxcblxcblshW0ltYWdlIDIwOiBBZ2VudCBVSSwgZ3JhcGhpY10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2FnZW50dWk/dHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfYWN0b3ItaW1hZ2UpXFxuXFxuW0FnZW50IFVJXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9hZ2VudHVpP3Ryaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2NvbW1lbnRzLWFjdGlvbl9jb21tZW50X2FjdG9yLW5hbWUpIDdtbyBcXG5cXG4qICAgW1JlcG9ydCB0aGlzIGNvbW1lbnRdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS91YXMvbG9naW4/c2Vzc2lvbl9yZWRpcmVjdD1odHRwcyUzQSUyRiUyRnd3dy5saW5rZWRpbi5jb20lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9lbGxpcHNpcy1tZW51LXNlbWFwaG9yZS1zaWduLWluLXJlZGlyZWN0Jmd1ZXN0UmVwb3J0Q29udGVudFR5cGU9Q09NTUVOVCZfZj1ndWVzdC1yZXBvcnRpbmcpXFxuXFxubjhuIHNvdW5kcyBsaWtlIGEgZmFudGFzdGljIHRvb2wgZm9yIHRob3NlIGxvb2tpbmcgdG8gc3RyZWFtbGluZSB0aGVpciB3b3JrZmxvd3MhIElmIHlvdSdyZSBpbnRlcmVzdGVkIGluIHRha2luZyBhdXRvbWF0aW9uIHRvIHRoZSBuZXh0IGxldmVsLCBBZ2VudCBVSSBjYW4gaGVscCB5b3UgYnVpbGQgZXZlbiBtb3JlIGNvbXBsZXggYXV0b21hdGlvbnMgd2l0aCBlYXNlLiBMZXQncyBjaGF0IGFib3V0IGhvdyB3ZSBjYW4gbWFrZSB5b3VyIHByb2Nlc3NlcyBldmVuIHNtb290aGVyISDwn5qAXFxuXFxuW0xpa2VdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaWdudXAvY29sZC1qb2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfbGlrZSlbUmVwbHldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaWdudXAvY29sZC1qb2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfcmVwbHkpWzEgUmVhY3Rpb25dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaWdudXAvY29sZC1qb2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfcmVhY3Rpb25zKSAyIFJlYWN0aW9ucyBcXG5cXG5bIVtJbWFnZSAyMTogTWF0ZW8gR2xpYm8sIGdyYXBoaWNdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpXShodHRwczovL2hyLmxpbmtlZGluLmNvbS9pbi9tYXRlby1nbGliby02NWFhODUzNjY/dHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfYWN0b3ItaW1hZ2UpXFxuXFxuW01hdGVvIEdsaWJvXShodHRwczovL2hyLmxpbmtlZGluLmNvbS9pbi9tYXRlby1nbGliby02NWFhODUzNjY/dHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHMtYWN0aW9uX2NvbW1lbnRfYWN0b3ItbmFtZSkgN21vIFxcblxcbiogICBbUmVwb3J0IHRoaXMgY29tbWVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3Vhcy9sb2dpbj9zZXNzaW9uX3JlZGlyZWN0PWh0dHBzJTNBJTJGJTJGd3d3LmxpbmtlZGluLmNvbSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2NvbW1lbnRzLWFjdGlvbl9jb21tZW50X2VsbGlwc2lzLW1lbnUtc2VtYXBob3JlLXNpZ24taW4tcmVkaXJlY3QmZ3Vlc3RSZXBvcnRDb250ZW50VHlwZT1DT01NRU5UJl9mPWd1ZXN0LXJlcG9ydGluZylcXG5cXG5KdXN0IGludGVncmF0ZWQgZmlyZWZsaWVzICsgbjhuICsgc2xhY2sgZm9yIGEgbWVldGluZyBzdW1tYXJpZXMgYW5kIGl04oCZcyBhIGdhbWUgY2hhbmdlci5cXG5cXG5bTGlrZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9saWtlKVtSZXBseV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeC1zb2NpYWwtZGV0YWlsc19jb21tZW50cy1hY3Rpb25fY29tbWVudF9yZXBseSkgMSBSZWFjdGlvbiBcXG5cXG5bU2VlIG1vcmUgY29tbWVudHNdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaWdudXAvY29sZC1qb2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPWFydGljbGUtc3NyLWZyb250ZW5kLXB1bHNlX3gtc29jaWFsLWRldGFpbHNfY29tbWVudHNfY29tbWVudC1zZWUtbW9yZSlcXG5cXG5UbyB2aWV3IG9yIGFkZCBhIGNvbW1lbnQsIFtzaWduIGluXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vc2lnbnVwL2NvbGQtam9pbj9zZXNzaW9uX3JlZGlyZWN0PSUyRnB1bHNlJTJGd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljJnRyaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV94LXNvY2lhbC1kZXRhaWxzX2ZlZWQtY3RhLWJhbm5lci1jdGEpXFxuXFxuTW9yZSBhcnRpY2xlcyBieSBTcml5YW50aGEgU2FuZGFydXdhblxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG4qICAgW0J1aWxkaW5nIGEgTG93LUNvc3QgSW9UIExhbmRzbGlkZSBFYXJseSBXYXJuaW5nIFN5c3RlbV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL2J1aWxkaW5nLWxvdy1jb3N0LWlvdC1sYW5kc2xpZGUtZWFybHktd2FybmluZy1zeXN0ZW0tc2FuZGFydXdhbi1sbmt5YykhW0ltYWdlIDIyXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSBEZWMgOSwgMjAyNSBcXG4jIyMgQnVpbGRpbmcgYSBMb3ctQ29zdCBJb1QgTGFuZHNsaWRlIEVhcmx5IFdhcm5pbmcgU3lzdGVtXFxuXFxuVGhlIFByb2JsZW0gTGFuZHNsaWRlcyBhcmUgYW1vbmcgdGhlIG1vc3QgZGV2YXN0YXRpbmcgbmF0dXJhbCBkaXNhc3RlcnMsIG9mdGVuIHN0cmlraW5nIHdpdGggbGl0dGxlIHdhcm5pbmcuIFdoaWxl4oCmXFxuXFxuIVtJbWFnZSAyM10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYykhW0ltYWdlIDI0XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSFbSW1hZ2UgMjVdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpIDE3ICAgMiBDb21tZW50cyAgICAgXFxuKiAgIFtCZXlvbmQgQ2hhdEdQVDogV2h5IFRyZWF0aW5nIERhdGEgTGlrZSBhIFxcXCJMYW5ndWFnZVxcXCIgSXMgdGhlIEZ1dHVyZSBvZiBUaW1lIFNlcmllcyBGb3JlY2FzdGluZy5dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9iZXlvbmQtY2hhdGdwdC13aHktdHJlYXRpbmctZGF0YS1saWtlLWxhbmd1YWdlLWZ1dHVyZS1zYW5kYXJ1d2FuLWN0cmljKSFbSW1hZ2UgMjZdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpIE5vdiAyNCwgMjAyNSBcXG4jIyMgQmV5b25kIENoYXRHUFQ6IFdoeSBUcmVhdGluZyBEYXRhIExpa2UgYSBcXFwiTGFuZ3VhZ2VcXFwiIElzIHRoZSBGdXR1cmUgb2YgVGltZSBTZXJpZXMgRm9yZWNhc3RpbmcuXFxuXFxuV2UgYWxsIGtub3cgaG93IHBvd2VyZnVsIExhcmdlIExhbmd1YWdlIE1vZGVscyAoTExNcykgYXJlIGF0IHVuZGVyc3RhbmRpbmcsIHN1bW1hcml6aW5nLCBhbmQgZ2VuZXJhdGluZyBodW1hbiB0ZXh04oCmXFxuXFxuIVtJbWFnZSAyN10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYykhW0ltYWdlIDI4XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSFbSW1hZ2UgMjldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpIDEzICAgICBcXG4qICAgW1VubG9ja2luZyBIaWRkZW4gQnVzaW5lc3MgVmFsdWUgd2l0aCBBc3NvY2lhdGlvbiBSdWxlIExlYXJuaW5nXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvdW5sb2NraW5nLWhpZGRlbi1idXNpbmVzcy12YWx1ZS1hc3NvY2lhdGlvbi1ydWxlLXNyaXlhbnRoYS1zYW5kYXJ1d2FuLWE1aHNjKSFbSW1hZ2UgMzBdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpIE5vdiAyMiwgMjAyNSBcXG4jIyMgVW5sb2NraW5nIEhpZGRlbiBCdXNpbmVzcyBWYWx1ZSB3aXRoIEFzc29jaWF0aW9uIFJ1bGUgTGVhcm5pbmdcXG5cXG5IYXZlIHlvdSBldmVyIHdvbmRlcmVkIGhvdyBBbWF6b24ga25vd3MgZXhhY3RseSB3aGF0IHRvIHN1Z2dlc3QgYWZ0ZXIgeW91IGFkZCBhbiBpdGVtIHRvIHlvdXIgY2FydCwgb3IgaG93IE5ldGZsaXjigKZcXG5cXG4hW0ltYWdlIDMxXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSFbSW1hZ2UgMzJdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpIDEwICAgMSBDb21tZW50ICAgICBcXG4qICAgW0J1aWxkaW5nIGFuIEludGVyYWN0aXZlIEhSIEFuYWx5dGljcyBEYXNoYm9hcmQgaW4gRXhjZWxdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9idWlsZGluZy1pbnRlcmFjdGl2ZS1oci1hbmFseXRpY3MtZGFzaGJvYXJkLWV4Y2VsLXNhbmRhcnV3YW4tZ2RtbWMpIVtJbWFnZSAzM10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYykgTm92IDIyLCAyMDI1IFxcbiMjIyBCdWlsZGluZyBhbiBJbnRlcmFjdGl2ZSBIUiBBbmFseXRpY3MgRGFzaGJvYXJkIGluIEV4Y2VsXFxuXFxuSW4gdG9kYXnigJlzIGRhdGEtZHJpdmVuIEhSIGVudmlyb25tZW50LCBvcmdhbml6YXRpb25zIGluY3JlYXNpbmdseSByZWx5IG9uIHBlb3BsZSBhbmFseXRpY3MgdG8gdW5kZXJzdGFuZCB3b3JrZm9yY2XigKZcXG5cXG4hW0ltYWdlIDM0XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSFbSW1hZ2UgMzVdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMpIDE4ICAgMSBDb21tZW50ICAgICBcXG4qICAgW0J1aWxkaW5nIEdVSXMgRmFzdGVyIHdpdGggUXQgRGVzaWduZXIgYW5kIFB5UXQ2XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvYnVpbGRpbmctZ3Vpcy1mYXN0ZXItcXQtZGVzaWduZXItcHlxdDYtc3JpeWFudGhhLXNhbmRhcnV3YW4tbTduaWMpIVtJbWFnZSAzNl0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q1NjEyQVFGRV8xSEFra1ZtcUEvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNjAwXzIwMDAvQjU2WnFtSE1YMUtBQVUtLzAvMTc2MzcyMzQ5NTQ3Mz9lPTIxNDc0ODM2NDcmdj1iZXRhJnQ9VEw5UmhmTnVqRFZwaldLVGFmVlUxeFBCZjJuZ2lkbm1CeHdob19WYm96QSkgTm92IDIxLCAyMDI1IFxcbiMjIyBCdWlsZGluZyBHVUlzIEZhc3RlciB3aXRoIFF0IERlc2lnbmVyIGFuZCBQeVF0NlxcblxcbldoeSBJIFJlY29tbWVuZCBUaGlzIFN0YWNrIGZvciBSYXBpZCBBcHBsaWNhdGlvbiBEZXZlbG9wbWVudCBJbiBtYW55IHNvZnR3YXJlIGFuZCByZXNlYXJjaCBwcm9qZWN0cywgY3JlYXRpbmcgYSBjbGVhbuKAplxcblxcbiFbSW1hZ2UgMzddKGh0dHBzOi8vc3RhdGljLmxpY2RuLmNvbS9hZXJvLXYxL3NjL2gvYm4zOWhpcnd6anFqMThlajFma3o1NTY3MSkhW0ltYWdlIDM4XShodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oL2EwZThyZmY2ZGplb3E4aXltcGN5c3VxZnUpIDQgICAgIFxcbiogICBbVGhlICQxNyBCaWxsaW9uIExlc3Nvbl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlLzE3LWJpbGxpb24tbGVzc29uLXNyaXlhbnRoYS1zYW5kYXJ1d2FuLTc2cmpjKSFbSW1hZ2UgMzldKGh0dHBzOi8vbWVkaWEubGljZG4uY29tL2Rtcy9pbWFnZS92Mi9ENTYxMkFRSFlJSVd0R3dfYWVnL2FydGljbGUtY292ZXJfaW1hZ2Utc2hyaW5rXzcyMF8xMjgwL0I1NlpuM2VHVDRKc0FJLS8wLzE3NjA3OTM0OTk0MjU/ZT0yMTQ3NDgzNjQ3JnY9YmV0YSZ0PUJIMkxERmw0LUx3dExNaGlCZ25FM1NlV0tvQlM4SXNHcGJLY0F2M0ppQ0UpIE9jdCAxOCwgMjAyNSBcXG4jIyMgVGhlICQxNyBCaWxsaW9uIExlc3NvblxcblxcblRoZSBcXFwiRGlnaXRhbCBBc3NldCBUcmVhc3VyeVxcXCIgKERBVCkgYnViYmxlIGhhcyBzcGVjdGFjdWxhcmx5IGJ1cnN0LCBzZXJ2aW5nIGFzIGEgcG93ZXJmdWwgbGVzc29uIGluIHZhbHVhdGlvbiBhbmQgcmlza+KAplxcblxcbiFbSW1hZ2UgNDBdKGh0dHBzOi8vc3RhdGljLmxpY2RuLmNvbS9hZXJvLXYxL3NjL2gvYm4zOWhpcnd6anFqMThlajFma3o1NTY3MSkgNSAgICAgXFxuKiAgIFtXaHkgTWFzdGVyaW5nIHRoZSBCYXNpY3MgRmlyc3QgV2lsbCBNYWtlIFlvdSBTdGFuZCBPdXRdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aHktbWFzdGVyaW5nLWJhc2ljcy1maXJzdC1tYWtlLXlvdS1zdGFuZC1vdXQtc3JpeWFudGhhLXNhbmRhcnV3YW4tdDRwZmMpIVtJbWFnZSA0MV0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q1NjEyQVFITXNPTkViMFZxUGcvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvQjU2WmlhbDBwNUhVQU0tLzAvMTc1NDk0MDI3MDQxND9lPTIxNDc0ODM2NDcmdj1iZXRhJnQ9dDlJSkxQVGdUQ19fRUozeUI4MjNxZ2tFUjMtMFM0WUVkQjl4cndZSjhIdykgQXVnIDExLCAyMDI1IFxcbiMjIyBXaHkgTWFzdGVyaW5nIHRoZSBCYXNpY3MgRmlyc3QgV2lsbCBNYWtlIFlvdSBTdGFuZCBPdXRcXG5cXG5JbiB0b2RheeKAmXMgd29ybGQsIGRhdGEgc2NpZW5jZSBpcyBvbmUgb2YgdGhlIG1vc3QgaW4tZGVtYW5kIGFuZCBmYXN0ZXN0LWdyb3dpbmcgY2FyZWVyIGZpZWxkcy4gSXTigJlzIGVhc3kgdG8gYmUgZHJhd27igKZcXG5cXG4hW0ltYWdlIDQyXShodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oL2JuMzloaXJ3empxajE4ZWoxZmt6NTU2NzEpIVtJbWFnZSA0M10oaHR0cHM6Ly9zdGF0aWMubGljZG4uY29tL2Flcm8tdjEvc2MvaC9hMGU4cmZmNmRqZW9xOGl5bXBjeXN1cWZ1KSFbSW1hZ2UgNDRdKGh0dHBzOi8vc3RhdGljLmxpY2RuLmNvbS9hZXJvLXYxL3NjL2gvYXNpcXNseWY0b29xN2dnbGxnNGZ5bzRvMikgNyAgICAgXFxuKiAgIFtUaGUgUmlzZSBvZiBBSS1Pbmx5IFN0YXJ0dXBzOiBIeXBlIG9yIFJlYWxpdHk/XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvcmlzZS1haS1vbmx5LXN0YXJ0dXBzLWh5cGUtcmVhbGl0eS1zcml5YW50aGEtc2FuZGFydXdhbi13Ym9mYykhW0ltYWdlIDQ1XShodHRwczovL21lZGlhLmxpY2RuLmNvbS9kbXMvaW1hZ2UvdjIvRDU2MTJBUUdPajNMTHNRVFVSZy9hcnRpY2xlLWNvdmVyX2ltYWdlLXNocmlua183MjBfMTI4MC9CNTZaYlNjWUNNSGdBSS0vMC8xNzQ3Mjg3Mzc2Njc5P2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1xSXFReGc3bGFpblVrZzdTU3otM3UxZThDNUxQSDgxeDdGSUlvVWFoRnRZKSBNYXkgMTYsIDIwMjUgXFxuIyMjIFRoZSBSaXNlIG9mIEFJLU9ubHkgU3RhcnR1cHM6IEh5cGUgb3IgUmVhbGl0eT9cXG5cXG5JbiB0b2RheeKAmXMgcmFwaWRseSBldm9sdmluZyBkaWdpdGFsIGxhbmRzY2FwZSwgYSBjb21wZWxsaW5nIHF1ZXN0aW9uIGlzIGVtZXJnaW5nOiBDYW4gb25lIHBlcnNvbiBzdWNjZXNzZnVsbHkgYnVpbGQgYW5k4oCmXFxuXFxuIVtJbWFnZSA0Nl0oaHR0cHM6Ly9zdGF0aWMubGljZG4uY29tL2Flcm8tdjEvc2MvaC9ibjM5aGlyd3pqcWoxOGVqMWZrejU1NjcxKSFbSW1hZ2UgNDddKGh0dHBzOi8vc3RhdGljLmxpY2RuLmNvbS9hZXJvLXYxL3NjL2gvYTBlOHJmZjZkamVvcThpeW1wY3lzdXFmdSkgOCAgICAgXFxuKiAgIFvwn46vIExhbmQgWW91ciBEcmVhbSBJbnRlcm5zaGlwOiBUaGUgVWx0aW1hdGUgR3VpZGUgdG8gV3JpdGluZyBhbiBBVFMtRnJpZW5kbHkgUmVzdW1lIGFuZCBDb3ZlciBMZXR0ZXJdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9sYW5kLXlvdXItZHJlYW0taW50ZXJuc2hpcC11bHRpbWF0ZS1ndWlkZS13cml0aW5nLWNvdmVyLXNhbmRhcnV3YW4tM3hlc2MpIVtJbWFnZSA0OF0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q1NjEyQVFHUnpScno2OC1DbmcvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvQjU2WmF3b0NWekdVQUktLzAvMTc0NjcyMDAwODc2Mj9lPTIxNDc0ODM2NDcmdj1iZXRhJnQ9V3A0Q0NVeUd1enlKNURVNzQtaUNoVHZTSVdBSnk3Rlk5ZHU5aUE3SzBQaykgTWF5IDksIDIwMjUgXFxuIyMjIPCfjq8gTGFuZCBZb3VyIERyZWFtIEludGVybnNoaXA6IFRoZSBVbHRpbWF0ZSBHdWlkZSB0byBXcml0aW5nIGFuIEFUUy1GcmllbmRseSBSZXN1bWUgYW5kIENvdmVyIExldHRlclxcblxcbkluIHRvZGF54oCZcyBjb21wZXRpdGl2ZSBqb2IgbWFya2V0LCBnZXR0aW5nIG5vdGljZWQgYnkgZW1wbG95ZXJzIG9mdGVuIG1lYW5zIHBhc3NpbmcgdGhyb3VnaCBhIGdhdGVrZWVwZXIgeW91IGNhbuKAmXTigKZcXG5cXG4hW0ltYWdlIDQ5XShodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oL2JuMzloaXJ3empxajE4ZWoxZmt6NTU2NzEpIVtJbWFnZSA1MF0oaHR0cHM6Ly9zdGF0aWMubGljZG4uY29tL2Flcm8tdjEvc2MvaC9hMGU4cmZmNmRqZW9xOGl5bXBjeXN1cWZ1KSA1ICAgICBcXG4qICAgW1VubG9ja2luZyB0aGUgUG93ZXIgb2YgR2l0SHViIENvcGlsb3Qgd2l0aCBHUFQtNG8gQWdlbnQgTW9kZSBpbiBWUyBDb2RlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvdW5sb2NraW5nLXBvd2VyLWdpdGh1Yi1jb3BpbG90LWdwdC00by1hZ2VudC1tb2RlLXZzLWNvZGUtc2FuZGFydXdhbi1sZXllYykhW0ltYWdlIDUxXShodHRwczovL21lZGlhLmxpY2RuLmNvbS9kbXMvaW1hZ2UvdjIvRDU2MTJBUUZxZTJvckcwSnl3Zy9hcnRpY2xlLWNvdmVyX2ltYWdlLXNocmlua183MjBfMTI4MC9CNTZaYW1EV2hfSFVBTS0vMC8xNzQ2NTQyNjU3MTY1P2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1WZlF1d21ZRlhTbmg0cmd5dUM1eFJUczZKbnJwalJ1N2NiOUVqS29qelpjKSBNYXkgNiwgMjAyNSBcXG4jIyMgVW5sb2NraW5nIHRoZSBQb3dlciBvZiBHaXRIdWIgQ29waWxvdCB3aXRoIEdQVC00byBBZ2VudCBNb2RlIGluIFZTIENvZGVcXG5cXG5JbnRyb2R1Y3Rpb24gVGhlIGV2b2x1dGlvbiBvZiBHaXRIdWIgQ29waWxvdCBoYXMgdHJhbnNmb3JtZWQgaG93IGRldmVsb3BlcnMgd3JpdGUgY29kZS4gV2l0aCB0aGUgaW50cm9kdWN0aW9uIG9mIEdQVC00b+KAplxcblxcbiFbSW1hZ2UgNTJdKGh0dHBzOi8vc3RhdGljLmxpY2RuLmNvbS9hZXJvLXYxL3NjL2gvYm4zOWhpcnd6anFqMThlajFma3o1NTY3MSkhW0ltYWdlIDUzXShodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oL2EwZThyZmY2ZGplb3E4aXltcGN5c3VxZnUpIDggICAgIFxcblxcbiBTaG93IG1vcmUgXFxuXFxuW1NlZSBhbGwgYXJ0aWNsZXNdKGh0dHBzOi8vbGsubGlua2VkaW4uY29tL2luL3NyaXlhbnRoYS1zYW5kYXJ1d2FuLTcyYTE3NTI1MC9yZWNlbnQtYWN0aXZpdHkvYXJ0aWNsZXMvKVxcblxcblNpZ24gaW5cXG4tLS0tLS0tXFxuXFxuU3RheSB1cGRhdGVkIG9uIHlvdXIgcHJvZmVzc2lvbmFsIHdvcmxkXFxuXFxuW1NpZ24gaW5dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS91YXMvbG9naW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeGFuZHItYWQtZmFsbGJhY2tfc2lnbmluKVxcblxcbkJ5IGNsaWNraW5nIENvbnRpbnVlIHRvIGpvaW4gb3Igc2lnbiBpbiwgeW91IGFncmVlIHRvIExpbmtlZElu4oCZcyBbVXNlciBBZ3JlZW1lbnRdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9sZWdhbC91c2VyLWFncmVlbWVudD90cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfYXV0aC1idXR0b25fdXNlci1hZ3JlZW1lbnQpLCBbUHJpdmFjeSBQb2xpY3ldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9sZWdhbC9wcml2YWN5LXBvbGljeT90cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfYXV0aC1idXR0b25fcHJpdmFjeS1wb2xpY3kpLCBhbmQgW0Nvb2tpZSBQb2xpY3ldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9sZWdhbC9jb29raWUtcG9saWN5P3Ryaz1hcnRpY2xlLXNzci1mcm9udGVuZC1wdWxzZV9hdXRoLWJ1dHRvbl9jb29raWUtcG9saWN5KS5cXG5cXG5OZXcgdG8gTGlua2VkSW4/IFtKb2luIG5vd10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3NpZ251cC9jb2xkLWpvaW4/c2Vzc2lvbl9yZWRpcmVjdD0lMkZwdWxzZSUyRndoYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYyZ0cms9YXJ0aWNsZS1zc3ItZnJvbnRlbmQtcHVsc2VfeGFuZHItYWQtZmFsbGJhY2tfam9pbi1saW5rKVxcblxcbk90aGVycyBhbHNvIHZpZXdlZFxcbi0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbiogICBbIVtJbWFnZSA1NF0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q1NjEyQVFIcHRVd2hqdUpPdWcvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvMC8xNzI2NTY5MDgwNDA3P2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1hM0RoVG45MmJKUzZ0ZFdiVHg1VzhkcU5fZUs1UFYtUVZxWUR1WThSRHBjKSAjIyMgSGFwcGllc3QgTWluZHMgTmV3c2xldHRlciB8IElzc3VlIDQgSGFwcGllc3QgTWluZHMgVGVjaG5vbG9naWVzIDF5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvaGFwcGllc3QtbWluZHMtbmV3c2xldHRlci1pc3N1ZS00LWhhcHBpZXN0LW1pbmRzLXRlY2hub2xvZ2llcy13dHNrYylcXG4qICAgWyFbSW1hZ2UgNTVdKGh0dHBzOi8vbWVkaWEubGljZG4uY29tL2Rtcy9pbWFnZS92Mi9ENEQxMkFRSHVXczlCcmZYajRBL2FydGljbGUtY292ZXJfaW1hZ2Utc2hyaW5rXzcyMF8xMjgwL0I0RFpabm9iRkNHMEFZLS8wLzE3NDU0OTUzNzI3OTA/ZT0yMTQ3NDgzNjQ3JnY9YmV0YSZ0PTBPZGVOVWI5Zl9kV0xTdlNjV0JpRHRwX29YODZkazMtUU44a0Rlc2MwencpICMjIyBFbnRlcnByaXNlIFNvZnR3YXJlIFRyZW5kcyAyMDI1OiBIb3cgVGhleSBBcmUgUmVzaGFwaW5nIEJ1c2luZXNzZXMgVGVjaGdyb3BzZSB8fCBOZXh0LUdlbiBBSSBTZXJ2aWNlcyA3bW9dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9lbnRlcnByaXNlLXNvZnR3YXJlLXRyZW5kcy0yMDI1LWhvdy1yZXNoYXBpbmctYnVzaW5lc3Nlcy10ZWNoZ3JvcHNlLXBxbXdmKVxcbiogICBbIVtJbWFnZSA1Nl0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q0RDEyQVFGZkptX0YyQ1VSUGcvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvMC8xNzIzOTgxNTQ0MTA1P2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1raDNFN0FTQkFOeUVHWFI3YVZXT29nOFNaRmI5aEF5eXI4X3AzNENhMlcwKSAjIyMgSW5kZXBlbmRlbnQgU2VydmljZSBIZXVyaXN0aWNzIChJU0gpOiBFbmhhbmNpbmcgTW9kdWxhcml0eSBhbmQgQXV0b25vbXkgVGVhbSBUb3BvbG9naWVzIDF5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvaW5kZXBlbmRlbnQtc2VydmljZS1oZXVyaXN0aWNzLWlzaC1lbmhhbmNpbmctbW9kdWxhcml0eS1tem5lZilcXG4qICAgWyFbSW1hZ2UgNTddKGh0dHBzOi8vbWVkaWEubGljZG4uY29tL2Rtcy9pbWFnZS92Mi9ENEQxMkFRRm5aUGZrWDJIcGZnL2FydGljbGUtY292ZXJfaW1hZ2Utc2hyaW5rXzcyMF8xMjgwL2FydGljbGUtY292ZXJfaW1hZ2Utc2hyaW5rXzcyMF8xMjgwLzAvMTczMjYxODU4NTQ1Nj9lPTIxNDc0ODM2NDcmdj1iZXRhJnQ9cGQ2b1lpWGdpcVlsb2laeXdpTGVNTXA3YklUNVhnNlAwQXM4eUFaUUY5YykgIyMjIEtleSBIaWdobGlnaHRzIGZyb20gTWljcm9zb2Z0IElnbml0ZSAyMDI0IER5bmFUZWNoIFN5c3RlbXMgMXldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9rZXktaGlnaGxpZ2h0cy1mcm9tLW1pY3Jvc29mdC1pZ25pdGUtMjAyNC1keW5hdGVjaHN5c3RlbXMtZHZ2aWYpXFxuKiAgIFshW0ltYWdlIDU4XShodHRwczovL21lZGlhLmxpY2RuLmNvbS9kbXMvaW1hZ2UvdjIvRDREMTJBUUdWQll4MU9zNzVLZy9hcnRpY2xlLWNvdmVyX2ltYWdlLXNocmlua183MjBfMTI4MC9hcnRpY2xlLWNvdmVyX2ltYWdlLXNocmlua183MjBfMTI4MC8wLzE3MjYzOTEwMDU5Mjc/ZT0yMTQ3NDgzNjQ3JnY9YmV0YSZ0PWZvVkhJejRWWVBWN2kyeWRZcVhpcTd5RnNNSGZYWUg5T1p3TzRjeU5QUmMpICMjIyAxMSBSZWFzb25zIHRvIENob29zZSBMb2dpYyBBcHBzIE92ZXIgUG93ZXIgQXV0b21hdGUgaW4gQ2VydGFpbiBDYXNlcyBNYXJjZWwgQnJvc2NoayAxeV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlLzExLXJlYXNvbnMtY2hvb3NlLWxvZ2ljLWFwcHMtb3Zlci1wb3dlci1hdXRvbWF0ZS1jZXJ0YWluLWJyb3NjaGsta25wdGYpXFxuKiAgIFshW0ltYWdlIDU5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2Uvd2hhdC1uOG4tYmVnaW5uZXJzLWd1aWRlLXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbC1zYW5kYXJ1d2FuLXVwZmljKSAjIyMgU2VydmljZSBhcyBTb2Z0d2FyZTogSWYgWW91IFRoaW5rIGl04oCZcyBhIFR5cG8sIFlvdeKAmXJlIEFscmVhZHkgQmVoaW5kIEphc29uIEJyYXVuIE0uRWQuLCBNU01MLCBNQSA5bW9dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS9zZXJ2aWNlLXNvZnR3YXJlLXlvdS10aGluay1pdHMtdHlwby15b3VyZS1hbHJlYWR5LWphc29uLXlrZWNjKVxcbiogICBbIVtJbWFnZSA2MF0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q0RTEyQVFFajFrUzdFYVJJeXcvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvMC8xNzAxMTA4NDIwNTg3P2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD02WHVZZGlXV3UzVDFuOUo0Q19xanFvblBIamFpSVFmSzZoajlTN1ZjVFc0KSAjIyMgMyB0cmVuZHMgZm9yIEFQSXMgaW4gMjAyNCBUeWsgMnldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS8zLXRyZW5kcy1hcGlzLTIwMjQtdHlrLWV0cm5lKVxcbiogICBbIVtJbWFnZSA2MV0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q0RTEyQVFGUVZvQ1dKQl93c3cvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvQjRFWmg4ZE5mUkdZQU0tLzAvMTc1NDQzNDY4OTQ3OD9lPTIxNDc0ODM2NDcmdj1iZXRhJnQ9czZkMVJBLXpMR3hFN0RIQ1p5a09abnE0WkV5OE41enlRT1psWldqV0s1WSkgIyMjIEEgZ3VpZGUgdG8gaW50ZWdyYXRpbmcgd2l0aCBrbm93bGVkZ2UgYmFzZSBzeXN0ZW1zIE1lcmdlIDRtb10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL2d1aWRlLWludGVncmF0aW5nLWtub3dsZWRnZS1iYXNlLXN5c3RlbXMtbWVyZ2UtYXBpLWd2cjBlKVxcbiogICBbIVtJbWFnZSA2Ml0oaHR0cHM6Ly9tZWRpYS5saWNkbi5jb20vZG1zL2ltYWdlL3YyL0Q1NjEyQVFIQ2pZbHNoZV9KREEvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvYXJ0aWNsZS1jb3Zlcl9pbWFnZS1zaHJpbmtfNzIwXzEyODAvMC8xNzM2OTAzMDQ4Njc1P2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1FbklVVnd6SHVxaTFzdkJtVjdxMUlxaUxBU3RwTTBEaktPRWxoWW02azZNKSAjIyMgQnJlYWtpbmcgdGhlIFJlcXVpcmVtZW50cyBCb3R0bGVuZWNrOiBBSSBUcmFuc2Zvcm1zIEhvdyBTb2Z0d2FyZSBHZXRzIERlZmluZWQgQXJ1cCBNYWl0eSAxMW1vXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvYnJlYWtpbmctcmVxdWlyZW1lbnRzLWJvdHRsZW5lY2stYWktdHJhbnNmb3Jtcy1ob3ctc29mdHdhcmUtbWFpdHktd2FpcGMpXFxuKiAgIFshW0ltYWdlIDYzXShodHRwczovL21lZGlhLmxpY2RuLmNvbS9kbXMvaW1hZ2UvdjIvRDU2MTJBUUhHbW9TU0xLR3lHUS9hcnRpY2xlLWNvdmVyX2ltYWdlLXNocmlua183MjBfMTI4MC9CNTZaaDZuTGF1SFVBSS0vMC8xNzU0NDAzNzU2NDI0P2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1sSUlBU19tTENNMS15MVpJRDlfc0VQWXV5QTl1TzJTVmowYXlUSlExUTRNKSAjIyMgVGhlIFBsYXRmb3JtIEVyYSBpcyBEeWluZy4gRW50ZXJwcmlzZXMgQXJlIEFscmVhZHkgTW92aW5nIE9uLiBWaXNobnUgUmFqa3VtYXIgNG1vXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vcHVsc2UvcGxhdGZvcm0tZXJhLWR5aW5nLWVudGVycHJpc2VzLWFscmVhZHktbW92aW5nLXZpc2hudS1yYWprdW1hci1uOXVmYylcXG5cXG4gU2hvdyBtb3JlICBTaG93IGxlc3MgXFxuXFxuRXhwbG9yZSBjb250ZW50IGNhdGVnb3JpZXNcXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbiogICBbQ2FyZWVyXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvY2FyZWVyLylcXG4qICAgW1Byb2R1Y3Rpdml0eV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L3Byb2R1Y3Rpdml0eS8pXFxuKiAgIFtGaW5hbmNlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvZmluYW5jZS8pXFxuKiAgIFtTb2Z0IFNraWxscyAmIEVtb3Rpb25hbCBJbnRlbGxpZ2VuY2VdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9zb2Z0LXNraWxscy1lbW90aW9uYWwtaW50ZWxsaWdlbmNlLylcXG4qICAgW1Byb2plY3QgTWFuYWdlbWVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L3Byb2plY3QtbWFuYWdlbWVudC8pXFxuKiAgIFtFZHVjYXRpb25dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9lZHVjYXRpb24vKVxcbiogICBbVGVjaG5vbG9neV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L3RlY2hub2xvZ3kvKVxcbiogICBbTGVhZGVyc2hpcF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2xlYWRlcnNoaXAvKVxcbiogICBbRWNvbW1lcmNlXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvZWNvbW1lcmNlLylcXG4qICAgW1VzZXIgRXhwZXJpZW5jZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L3VzZXItZXhwZXJpZW5jZS8pXFxuKiAgIFtSZWNydWl0bWVudCAmIEhSXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvcmVjcnVpdG1lbnQtaHIvKVxcbiogICBbQ3VzdG9tZXIgRXhwZXJpZW5jZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2N1c3RvbWVyLWV4cGVyaWVuY2UvKVxcbiogICBbUmVhbCBFc3RhdGVdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9yZWFsLWVzdGF0ZS8pXFxuKiAgIFtNYXJrZXRpbmddKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9tYXJrZXRpbmcvKVxcbiogICBbU2FsZXNdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9zYWxlcy8pXFxuKiAgIFtSZXRhaWwgJiBNZXJjaGFuZGlzaW5nXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvcmV0YWlsLW1lcmNoYW5kaXNpbmcvKVxcbiogICBbU2NpZW5jZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L3NjaWVuY2UvKVxcbiogICBbU3VwcGx5IENoYWluIE1hbmFnZW1lbnRdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9zdXBwbHktY2hhaW4tbWFuYWdlbWVudC8pXFxuKiAgIFtGdXR1cmUgT2YgV29ya10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2Z1dHVyZS1vZi13b3JrLylcXG4qICAgW0NvbnN1bHRpbmddKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9jb25zdWx0aW5nLylcXG4qICAgW1dyaXRpbmddKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC93cml0aW5nLylcXG4qICAgW0Vjb25vbWljc10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2Vjb25vbWljcy8pXFxuKiAgIFtBcnRpZmljaWFsIEludGVsbGlnZW5jZV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2FydGlmaWNpYWwtaW50ZWxsaWdlbmNlLylcXG4qICAgW0VtcGxveWVlIEV4cGVyaWVuY2VdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9lbXBsb3llZS1leHBlcmllbmNlLylcXG4qICAgW1dvcmtwbGFjZSBUcmVuZHNdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC93b3JrcGxhY2UtdHJlbmRzLylcXG4qICAgW0Z1bmRyYWlzaW5nXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvZnVuZHJhaXNpbmcvKVxcbiogICBbTmV0d29ya2luZ10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L25ldHdvcmtpbmcvKVxcbiogICBbQ29ycG9yYXRlIFNvY2lhbCBSZXNwb25zaWJpbGl0eV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2NvcnBvcmF0ZS1zb2NpYWwtcmVzcG9uc2liaWxpdHkvKVxcbiogICBbTmVnb3RpYXRpb25dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9uZWdvdGlhdGlvbi8pXFxuKiAgIFtDb21tdW5pY2F0aW9uXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvY29tbXVuaWNhdGlvbi8pXFxuKiAgIFtFbmdpbmVlcmluZ10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2VuZ2luZWVyaW5nLylcXG4qICAgW0hvc3BpdGFsaXR5ICYgVG91cmlzbV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2hvc3BpdGFsaXR5LXRvdXJpc20vKVxcbiogICBbQnVzaW5lc3MgU3RyYXRlZ3ldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9idXNpbmVzcy1zdHJhdGVneS8pXFxuKiAgIFtDaGFuZ2UgTWFuYWdlbWVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2NoYW5nZS1tYW5hZ2VtZW50LylcXG4qICAgW09yZ2FuaXphdGlvbmFsIEN1bHR1cmVdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC9vcmdhbml6YXRpb25hbC1jdWx0dXJlLylcXG4qICAgW0Rlc2lnbl0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2Rlc2lnbi8pXFxuKiAgIFtJbm5vdmF0aW9uXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vdG9wLWNvbnRlbnQvaW5ub3ZhdGlvbi8pXFxuKiAgIFtFdmVudCBQbGFubmluZ10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3RvcC1jb250ZW50L2V2ZW50LXBsYW5uaW5nLylcXG4qICAgW1RyYWluaW5nICYgRGV2ZWxvcG1lbnRdKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS90b3AtY29udGVudC90cmFpbmluZy1kZXZlbG9wbWVudC8pXFxuXFxuIFNob3cgbW9yZSAgU2hvdyBsZXNzIFxcblxcbiogICBMaW5rZWRJbsKpIDIwMjVcXG4qICAgW0Fib3V0XShodHRwczovL2Fib3V0LmxpbmtlZGluLmNvbS8/dHJrPWRfZmxhZ3NoaXAyX3B1bHNlX3JlYWRfZm9vdGVyLWFib3V0KVxcbiogICBbQWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2FjY2Vzc2liaWxpdHk/dHJrPWRfZmxhZ3NoaXAyX3B1bHNlX3JlYWRfZm9vdGVyLWFjY2Vzc2liaWxpdHkpXFxuKiAgIFtVc2VyIEFncmVlbWVudF0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL3VzZXItYWdyZWVtZW50P3Ryaz1kX2ZsYWdzaGlwMl9wdWxzZV9yZWFkX2Zvb3Rlci11c2VyLWFncmVlbWVudClcXG4qICAgW1ByaXZhY3kgUG9saWN5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3k/dHJrPWRfZmxhZ3NoaXAyX3B1bHNlX3JlYWRfZm9vdGVyLXByaXZhY3ktcG9saWN5KVxcbiogICBbWW91ciBDYWxpZm9ybmlhIFByaXZhY3kgQ2hvaWNlc10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL2NhbGlmb3JuaWEtcHJpdmFjeS1kaXNjbG9zdXJlP3Ryaz1kX2ZsYWdzaGlwMl9wdWxzZV9yZWFkX2Zvb3Rlci1jYWxpZm9ybmlhLXByaXZhY3ktcmlnaHRzLWFjdClcXG4qICAgW0Nvb2tpZSBQb2xpY3ldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9sZWdhbC9jb29raWUtcG9saWN5P3Ryaz1kX2ZsYWdzaGlwMl9wdWxzZV9yZWFkX2Zvb3Rlci1jb29raWUtcG9saWN5KVxcbiogICBbQ29weXJpZ2h0IFBvbGljeV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL2NvcHlyaWdodC1wb2xpY3k/dHJrPWRfZmxhZ3NoaXAyX3B1bHNlX3JlYWRfZm9vdGVyLWNvcHlyaWdodC1wb2xpY3kpXFxuKiAgIFtCcmFuZCBQb2xpY3ldKGh0dHBzOi8vYnJhbmQubGlua2VkaW4uY29tL3BvbGljaWVzP3Ryaz1kX2ZsYWdzaGlwMl9wdWxzZV9yZWFkX2Zvb3Rlci1icmFuZC1wb2xpY3kpXFxuKiAgIFtHdWVzdCBDb250cm9sc10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3BzZXR0aW5ncy9ndWVzdC1jb250cm9scz90cms9ZF9mbGFnc2hpcDJfcHVsc2VfcmVhZF9mb290ZXItZ3Vlc3QtY29udHJvbHMpXFxuKiAgIFtDb21tdW5pdHkgR3VpZGVsaW5lc10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL3Byb2Zlc3Npb25hbC1jb21tdW5pdHktcG9saWNpZXM/dHJrPWRfZmxhZ3NoaXAyX3B1bHNlX3JlYWRfZm9vdGVyLWNvbW11bml0eS1ndWlkZSlcXG4qICAgXFxuICAgICogICAg2KfZhNi52LHYqNmK2KkgKEFyYWJpYykgXFxuICAgICogICAg4Kas4Ka+4KaC4Kay4Ka+IChCYW5nbGEpIFxcbiAgICAqICAgIMSMZcWhdGluYSAoQ3plY2gpIFxcbiAgICAqICAgIERhbnNrIChEYW5pc2gpIFxcbiAgICAqICAgIERldXRzY2ggKEdlcm1hbikgXFxuICAgICogICAgzpXOu867zrfOvc65zrrOrCAoR3JlZWspIFxcbiAgICAqICAgKipFbmdsaXNoIChFbmdsaXNoKSoqXFxuICAgICogICAgRXNwYcOxb2wgKFNwYW5pc2gpIFxcbiAgICAqICAgINmB2KfYsdiz24wgKFBlcnNpYW4pIFxcbiAgICAqICAgIFN1b21pIChGaW5uaXNoKSBcXG4gICAgKiAgICBGcmFuw6dhaXMgKEZyZW5jaCkgXFxuICAgICogICAg4KS54KS/4KSC4KSm4KWAIChIaW5kaSkgXFxuICAgICogICAgTWFneWFyIChIdW5nYXJpYW4pIFxcbiAgICAqICAgIEJhaGFzYSBJbmRvbmVzaWEgKEluZG9uZXNpYW4pIFxcbiAgICAqICAgIEl0YWxpYW5vIChJdGFsaWFuKSBcXG4gICAgKiAgICDXoteR16jXmdeqIChIZWJyZXcpIFxcbiAgICAqICAgIOaXpeacrOiqniAoSmFwYW5lc2UpIFxcbiAgICAqICAgIO2VnOq1reyWtCAoS29yZWFuKSBcXG4gICAgKiAgICDgpK7gpLDgpL7gpKDgpYAgKE1hcmF0aGkpIFxcbiAgICAqICAgIEJhaGFzYSBNYWxheXNpYSAoTWFsYXkpIFxcbiAgICAqICAgIE5lZGVybGFuZHMgKER1dGNoKSBcXG4gICAgKiAgICBOb3JzayAoTm9yd2VnaWFuKSBcXG4gICAgKiAgICDgqKrgqbDgqJzgqL7gqKzgqYAgKFB1bmphYmkpIFxcbiAgICAqICAgIFBvbHNraSAoUG9saXNoKSBcXG4gICAgKiAgICBQb3J0dWd1w6pzIChQb3J0dWd1ZXNlKSBcXG4gICAgKiAgICBSb23Dom7EgyAoUm9tYW5pYW4pIFxcbiAgICAqICAgINCg0YPRgdGB0LrQuNC5IChSdXNzaWFuKSBcXG4gICAgKiAgICBTdmVuc2thIChTd2VkaXNoKSBcXG4gICAgKiAgICDgsKTgsYbgsLLgsYHgsJfgsYEgKFRlbHVndSkgXFxuICAgICogICAg4Lig4Liy4Lip4Liy4LmE4LiX4LiiIChUaGFpKSBcXG4gICAgKiAgICBUYWdhbG9nIChUYWdhbG9nKSBcXG4gICAgKiAgICBUw7xya8OnZSAoVHVya2lzaCkgXFxuICAgICogICAg0KPQutGA0LDRl9C90YHRjNC60LAgKFVrcmFpbmlhbikgXFxuICAgICogICAgVGnhur9uZyBWaeG7h3QgKFZpZXRuYW1lc2UpIFxcbiAgICAqICAgIOeugOS9k+S4reaWhyAoQ2hpbmVzZSAoU2ltcGxpZmllZCkpIFxcbiAgICAqICAgIOato+mrlOS4reaWhyAoQ2hpbmVzZSAoVHJhZGl0aW9uYWwpKSBcXG5cXG4gTGFuZ3VhZ2UgXFxuXFxuW10oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpYylcXG5cXG4hW0ltYWdlIDY0XShodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oLzVrOWNndHg4cmhveXFrY3hmb25jdTFzdmwpXFxuU2lnbiBpbiB0byB2aWV3IG1vcmUgY29udGVudFxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5DcmVhdGUgeW91ciBmcmVlIGFjY291bnQgb3Igc2lnbiBpbiB0byBjb250aW51ZSB5b3VyIHNlYXJjaFxcblxcbiBTaWduIGluIFxcblxcbldlbGNvbWUgYmFja1xcbi0tLS0tLS0tLS0tLVxcblxcbiBFbWFpbCBvciBwaG9uZSAgXFxuXFxuIFBhc3N3b3JkICBcXG5cXG5TaG93XFxuXFxuW0ZvcmdvdCBwYXNzd29yZD9dKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS91YXMvcmVxdWVzdC1wYXNzd29yZC1yZXNldD90cms9cHVsc2UtYXJ0aWNsZV9jb250ZXh0dWFsLXNpZ24taW4tbW9kYWxfc2lnbi1pbi1tb2RhbF9mb3Jnb3RfcGFzc3dvcmQpIFNpZ24gaW4gXFxuXFxub3JcXG5cXG5CeSBjbGlja2luZyBDb250aW51ZSB0byBqb2luIG9yIHNpZ24gaW4sIHlvdSBhZ3JlZSB0byBMaW5rZWRJbuKAmXMgW1VzZXIgQWdyZWVtZW50XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvdXNlci1hZ3JlZW1lbnQ/dHJrPXB1bHNlLWFydGljbGVfY29udGV4dHVhbC1zaWduLWluLW1vZGFsX3NpZ24taW4tbW9kYWxfYXV0aC1idXR0b25fdXNlci1hZ3JlZW1lbnQpLCBbUHJpdmFjeSBQb2xpY3ldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9sZWdhbC9wcml2YWN5LXBvbGljeT90cms9cHVsc2UtYXJ0aWNsZV9jb250ZXh0dWFsLXNpZ24taW4tbW9kYWxfc2lnbi1pbi1tb2RhbF9hdXRoLWJ1dHRvbl9wcml2YWN5LXBvbGljeSksIGFuZCBbQ29va2llIFBvbGljeV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL2Nvb2tpZS1wb2xpY3k/dHJrPXB1bHNlLWFydGljbGVfY29udGV4dHVhbC1zaWduLWluLW1vZGFsX3NpZ24taW4tbW9kYWxfYXV0aC1idXR0b25fY29va2llLXBvbGljeSkuXFxuXFxuTmV3IHRvIExpbmtlZEluPyBbSm9pbiBub3ddKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaWdudXAvY29sZC1qb2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPXB1bHNlLWFydGljbGVfY29udGV4dHVhbC1zaWduLWluLW1vZGFsX3NpZ24taW4tbW9kYWxfam9pbi1saW5rKVxcblxcbm9yXFxuXFxuTmV3IHRvIExpbmtlZEluPyBbSm9pbiBub3ddKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9zaWdudXAvY29sZC1qb2luP3Nlc3Npb25fcmVkaXJlY3Q9JTJGcHVsc2UlMkZ3aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWMmdHJrPXB1bHNlLWFydGljbGVfY29udGV4dHVhbC1zaWduLWluLW1vZGFsX2pvaW4tbGluaylcXG5cXG5CeSBjbGlja2luZyBDb250aW51ZSB0byBqb2luIG9yIHNpZ24gaW4sIHlvdSBhZ3JlZSB0byBMaW5rZWRJbuKAmXMgW1VzZXIgQWdyZWVtZW50XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvdXNlci1hZ3JlZW1lbnQ/dHJrPWxpbmtlZGluLXRjX2F1dGgtYnV0dG9uX3VzZXItYWdyZWVtZW50KSwgW1ByaXZhY3kgUG9saWN5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3k/dHJrPWxpbmtlZGluLXRjX2F1dGgtYnV0dG9uX3ByaXZhY3ktcG9saWN5KSwgYW5kIFtDb29raWUgUG9saWN5XShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvY29va2llLXBvbGljeT90cms9bGlua2VkaW4tdGNfYXV0aC1idXR0b25fY29va2llLXBvbGljeSkuXCIsXCJtZXRhZGF0YVwiOntcImxhbmdcIjpcImVuXCIsXCJwYWdlS2V5XCI6XCJkX2ZsYWdzaGlwMl9wdWxzZV9yZWFkXCIsXCJyb2JvdHNcIjpcIm1heC1pbWFnZS1wcmV2aWV3OmxhcmdlLCBub2FyY2hpdmVcIixcImJpbmdib3RcIjpcIm1heC1pbWFnZS1wcmV2aWV3OmxhcmdlLCBhcmNoaXZlXCIsXCJsb2NhbGVcIjpcImVuX1VTXCIsXCJhbDphbmRyb2lkOnVybFwiOlwiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpY1wiLFwiYWw6YW5kcm9pZDpwYWNrYWdlXCI6XCJjb20ubGlua2VkaW4uYW5kcm9pZFwiLFwiYWw6YW5kcm9pZDphcHBfbmFtZVwiOlwiTGlua2VkSW5cIixcImFsOmlvczp1cmxcIjpcImh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWNcIixcImFsOmlvczphcHBfc3RvcmVfaWRcIjpcIjI4ODQyOTA0MFwiLFwiYWw6aW9zOmFwcF9uYW1lXCI6XCJMaW5rZWRJblwiLFwiZGVzY3JpcHRpb25cIjpcIkluIHRoZSBmYXN0LXBhY2VkIHdvcmxkIG9mIGRhdGEgYW5kIGRpZ2l0YWwgdHJhbnNmb3JtYXRpb24sIGF1dG9tYXRpb24gaGFzIGJlY29tZSBlc3NlbnRpYWwuIFdoZXRoZXIgeW91J3JlIG1hbmFnaW5nIGEgYnVzaW5lc3MsIGJ1aWxkaW5nIGFuIGFwcCwgb3IgaGFuZGxpbmcgYW5hbHl0aWNzLCBhdXRvbWF0aW5nIHRhc2tzIGNhbiBzYXZlIHlvdSB0aW1lIGFuZCByZWR1Y2UgaHVtYW4gZXJyb3IuXCIsXCJvZzp0aXRsZVwiOlwiV2hhdCBpcyBuOG4/IEEgQmVnaW5uZXIncyBHdWlkZSB0byB0aGUgV29ya2Zsb3cgQXV0b21hdGlvbiBUb29sXCIsXCJvZzpkZXNjcmlwdGlvblwiOlwiSW4gdGhlIGZhc3QtcGFjZWQgd29ybGQgb2YgZGF0YSBhbmQgZGlnaXRhbCB0cmFuc2Zvcm1hdGlvbiwgYXV0b21hdGlvbiBoYXMgYmVjb21lIGVzc2VudGlhbC4gV2hldGhlciB5b3UncmUgbWFuYWdpbmcgYSBidXNpbmVzcywgYnVpbGRpbmcgYW4gYXBwLCBvciBoYW5kbGluZyBhbmFseXRpY3MsIGF1dG9tYXRpbmcgdGFza3MgY2FuIHNhdmUgeW91IHRpbWUgYW5kIHJlZHVjZSBodW1hbiBlcnJvci5cIixcIm9nOmltYWdlXCI6XCJodHRwczovL21lZGlhLmxpY2RuLmNvbS9kbXMvaW1hZ2UvdjIvRDU2MTJBUUdGWXVWNnZWZDBNZy9hcnRpY2xlLWNvdmVyX2ltYWdlLXNocmlua182MDBfMjAwMC9CNTZaYXBBN0dVSDBBVS0vMC8xNzQ2NTkyMzE0NTEyP2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1QanZOdmYxYndiZ09tVlYyLVEzalVMV2lwSTBfVWtRa2FYNUtQMTFzcExRXCIsXCJvZzp0eXBlXCI6XCJhcnRpY2xlXCIsXCJvZzp1cmxcIjpcImh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9wdWxzZS93aGF0LW44bi1iZWdpbm5lcnMtZ3VpZGUtd29ya2Zsb3ctYXV0b21hdGlvbi10b29sLXNhbmRhcnV3YW4tdXBmaWNcIixcInR3aXR0ZXI6Y2FyZFwiOlwic3VtbWFyeV9sYXJnZV9pbWFnZVwiLFwidHdpdHRlcjpzaXRlXCI6XCJATGlua2VkSW5FZGl0b3JzXCIsXCJ0d2l0dGVyOnRpdGxlXCI6XCJXaGF0IGlzIG44bj8gQSBCZWdpbm5lcidzIEd1aWRlIHRvIHRoZSBXb3JrZmxvdyBBdXRvbWF0aW9uIFRvb2xcIixcInR3aXR0ZXI6ZGVzY3JpcHRpb25cIjpcIkluIHRoZSBmYXN0LXBhY2VkIHdvcmxkIG9mIGRhdGEgYW5kIGRpZ2l0YWwgdHJhbnNmb3JtYXRpb24sIGF1dG9tYXRpb24gaGFzIGJlY29tZSBlc3NlbnRpYWwuIFdoZXRoZXIgeW91J3JlIG1hbmFnaW5nIGEgYnVzaW5lc3MsIGJ1aWxkaW5nIGFuIGFwcCwgb3IgaGFuZGxpbmcgYW5hbHl0aWNzLCBhdXRvbWF0aW5nIHRhc2tzIGNhbiBzYXZlIHlvdSB0aW1lIGFuZCByZWR1Y2UgaHVtYW4gZXJyb3IuXCIsXCJ0d2l0dGVyOmltYWdlXCI6XCJodHRwczovL21lZGlhLmxpY2RuLmNvbS9kbXMvaW1hZ2UvdjIvRDU2MTJBUUdGWXVWNnZWZDBNZy9hcnRpY2xlLWNvdmVyX2ltYWdlLXNocmlua182MDBfMjAwMC9CNTZaYXBBN0dVSDBBVS0vMC8xNzQ2NTkyMzE0NTEyP2U9MjE0NzQ4MzY0NyZ2PWJldGEmdD1QanZOdmYxYndiZ09tVlYyLVEzalVMV2lwSTBfVWtRa2FYNUtQMTFzcExRXCIsXCJ0d2l0dGVyOmxhYmVsMVwiOlwiV3JpdHRlbiBieVwiLFwidHdpdHRlcjpkYXRhMVwiOlwiU3JpeWFudGhhIFNhbmRhcnV3YW5cIixcInR3aXR0ZXI6bGFiZWwyXCI6XCJSZWFkaW5nIHRpbWVcIixcInR3aXR0ZXI6ZGF0YTJcIjpcIjIgbWluIHJlYWRcIixcImNsaWVudFNpZGVJbmdyYXBoc1wiOlwiMVwifSxcImV4dGVybmFsXCI6e1wiY2Fub25pY2FsXCI6e1wiaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3B1bHNlL3doYXQtbjhuLWJlZ2lubmVycy1ndWlkZS13b3JrZmxvdy1hdXRvbWF0aW9uLXRvb2wtc2FuZGFydXdhbi11cGZpY1wiOnt9fSxcImljb25cIjp7XCJodHRwczovL3N0YXRpYy5saWNkbi5jb20vYWVyby12MS9zYy9oL2FsMm85enJ2cnU3YXFqOGUxeDJyenNyY2FcIjp7fX19LFwidXNhZ2VcIjp7XCJ0b2tlbnNcIjoxMDYzMH19LHtcInRpdGxlXCI6XCJXaGF0IGlzICBuOG4/IERvY3MsIERlbW8gYW5kIEhvdyB0byBEZXBsb3kgICB8IFNoYWt1ZG9cIixcInVybFwiOlwiaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbnRlZ3JhdGlvbnMvbjhuXCIsXCJkZXNjcmlwdGlvblwiOlwiTGVhcm4gYWJvdXQgbjhuLCB3aGF0IGl0IGlzIGFuZCBob3cgdG8gdXNlIGl0LiBTZWUgaXQncyBkb2N1bWVudGlvbiwgaW50ZWdyYXRpb25zIGFuZCB0dXRvcmlhbHMuXCIsXCJkYXRlXCI6XCJPY3QgNiwgMjAyNVwiLFwiY29udGVudFwiOlwiV2hhdCBpcyBuOG4/IERvY3MsIERlbW8gYW5kIEhvdyB0byBEZXBsb3kgfCBTaGFrdWRvXFxuPT09PT09PT09PT09PT09XFxuXFxuW0xhdGVzdCBpbiBXaGl0ZSBQYXBlciA6IFRoZSBFbnRlcnByaXNlIEd1aWRlIHRvIEFJIEFnZW50IFJlYWRpbmVzc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9ibG9nL2VudGVycHJpc2UtZ3VpZGUtdG8tYWktYWdlbnQtcmVhZGluZXNzKVxcblxcblsqKltFdmVudF0qKlNlZSBTaGFrdWRvIGF0IEFpNCAyMDI1IC0gTm9ydGggQW1lcmljYeKAmXMgTGFyZ2VzdCBBcnRpZmljaWFsIEludGVsbGlnZW5jZSBJbmR1c3RyeSBFdmVudF0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9haTQtMjAyNSlcXG5cXG5bIVtJbWFnZSAxXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82MjZhZTIxNTlhMGQzYjhlZDU5ODJmODdfc2hha3Vkby1sb2dvLTIwMjIuc3ZnKV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby8pWyFbSW1hZ2UgMl0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjdhZmIwZDVkNDBiNzAwMTc0N2JjNzg1X3NoYWt1ZG8tbG9nby13aGl0ZS5zdmcpXShodHRwczovL3d3dy5zaGFrdWRvLmlvLylcXG5cXG5BSSBPU1xcblxcbiFbSW1hZ2UgM10oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjI1NDQ3YzY3YjYyMWFjNjdjYjdlNDhlX2ljb24tY2hldnJvbi1kb3duLnN2ZylcXG5cXG5bIVtJbWFnZSA0XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82NWIwMWIzYjRiNjMzMjE1Y2Q5ZjdhODdfc2hha3Vkby1vcGVyYXRpbmdvcy5zdmcpIFNoYWt1ZG8gUExhdGZvcm0gQnVpbGQgeW91ciBpZGVhbCBkYXRhIHN0YWNrIG9uIG9uZSB1bmlmaWVkIHBsYXRmb3JtIExlYXJuIG1vcmUgPl0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9wbGF0Zm9ybSlcXG5cXG4jIyMjIHNoYWt1ZG8gQUkgQXBwbGljYXRpb25cXG5cXG5bIVtJbWFnZSA1XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82OGE4ZDliYjE4M2JhZTcyNmZhZDZkZmFfaWNvbi1hZ2VudC5zdmcpIEFJIEFnZW50cyBBdXRvbm9tb3VzIE11bHRpLUFnZW50IFBsYXRmb3JtIGluIFlvdXIgQ2xvdWRdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vYWdlbnRmbG93KVshW0ltYWdlIDZdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzY5MDBkNGJhZjQ5NzE5YTE2ZDA3YzhhNl9tY3Bwcm94eS5zdmcpIE1DUCBQcm94eSBDb25uZWN0IFlvdXIgQVBJcyB0byBBSV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9tY3AtcHJveHkpWyFbSW1hZ2UgN10oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjkwMGQ0ZDBhODJmNGJkYThkMjFjMWFkX2V4dHJhY3RmbG93LnN2ZykgRXh0cmFjdCBGbG93IEV4dHJhY3QgU2VjdXJlIERhdGEgZnJvbSBEb2N1bWVudHNdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vZXh0cmFjdGZsb3cpWyFbSW1hZ2UgOF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjdhZTFlNjBmZDRiODNiMjQwNzllNmIwX2ljb24ta2dyYXBoLnN2ZykgS25vd2xlZGdlIEdyYXBoIENvbm5lY3QgU2NhdHRlcmVkIERhdGEgSW50byBDbGVhciBJbnNpZ2h0XShodHRwczovL3d3dy5zaGFrdWRvLmlvL2tub3dsZWRnZS1ncmFwaClbIVtJbWFnZSA5XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82NjE1OGY0ZDgyYjVjODc0YjQwNDdmNTdfc2hha3VkbyUyMHdvcmtmbG93JTIwYXV0b21hdGlvbi5zdmcpIFdvcmtmbG93IEF1dG9tYXRpb24gQXV0b21hdGUgUmVwZXRpdGl2ZSBUYXNrcyBhbmQgRGF0YSBGbG93c10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby93b3JrZmxvdy1hdXRvbWF0aW9uKVshW0ltYWdlIDEwXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82NWIwMWIzYWNmNzI2Mzk5ZmI4ZGY4Nzhfc2hha3Vkby12ZWN0b3JkYi5zdmcpIFZlY3RvciBEYXRhYmFzZSBEZXBsb3kgQ29udGV4dC1Bd2FyZSBBSSBBcHBsaWNhdGlvbnMgYXQgU2NhbGVdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vbGxtLXJhZy1zdGFjaylbIVtJbWFnZSAxMV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjViZDM3MDViNzQ3Y2JhYWEwMjQxZDhjX3NoYWt1ZG8taWNvbi1sYW5ndWFnZSUyMHRvJTIwc3FsLnN2ZykgVGV4dCB0byBTUUwgSW50ZXJhY3Qgd2l0aCBZb3VyIERhdGEgdXNpbmcgTmF0dXJhbCBMYW5ndWFnZV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9uYXR1cmFsLWxhbmd1YWdlLXRvLXNxbClbIVtJbWFnZSAxMl0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjViMDFiM2EzZmVmYjA2YjA5MGE0YzE3X3NoYWt1ZG8tcmV2ZXJzZXRsLnN2ZykgUmV2ZXJzZSBFVEwgRW5oYW5jZSBCdXNpbmVzcyBDcml0aWNhbCBJbnNpZ2h0cyB3aXRoIEFJXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3JldmVyc2UtZXRsKVxcblxcbltDb21wb25lbnRzXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2ludGVncmF0aW9ucylcXG5cXG5Tb2x1dGlvbnNcXG5cXG4hW0ltYWdlIDEzXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82MjU0NDdjNjdiNjIxYWM2N2NiN2U0OGVfaWNvbi1jaGV2cm9uLWRvd24uc3ZnKVxcblxcblNoYWt1ZG8gZm9yIEluZHVzdHJpZXNcXG5cXG5bIVtJbWFnZSAxNF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjhiYTMzZjkyYTc0NzY0Mjk5NTVmMmExX2Flcm9zcGFjZS1wbGFuZS03OHB4LXdoaXRlLnN2ZykgQWVyb3NwYWNlXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2luZHVzdHJpZXMvYWVyb3NwYWNlKVxcblxcblshW0ltYWdlIDE1XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82OGJhMzNlMDkzMzViMDVlNmQ2MjY0YTdfYXV0b21vdGl2ZS1hbmQtdHJhbnNwb3J0YXRpb24tY2FyLTc4cHgtd2hpdGUuc3ZnKSBBdXRvbW90aXZlICYgVHJhbnNwb3J0YXRpb25dKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9hdXRvbW90aXZlLXRyYW5zcG9ydGF0aW9uKVxcblxcblshW0ltYWdlIDE2XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82OGJhMzQxYTBiMzc1ZWM1NTY3OTliZGJfY2xpbWF0ZS1hbmQtZW5lcmd5LXphcC03OHB4LXdoaXRlLnN2ZykgQ2xpbWF0ZSAmIEVuZXJneV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbmR1c3RyaWVzL2NsaW1hdGUtZW5lcmd5KVxcblxcblshW0ltYWdlIDE3XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82OGJhMzQyZDdjN2YwZWUxMzNkMzBmN2JfZmluYW5jaWFsLXNlcnZpY2VzLWJhbmtub3RlLTc4cHgtd2hpdGUuc3ZnKSBGaW5hbmNpYWwgU2VydmljZXNdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9maW5hbmNpYWwtc2VydmljZXMpXFxuXFxuWyFbSW1hZ2UgMThdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY4YmEzNDBlYTg1ZTQwYWVjNjlhYjQ1Yl9oZWFsdGhjYXJlLWFuZC1saWZlLXNjaWVuY2VzLWhlYXJ0LXB1bHNlLTc4cHgtd2hpdGUuc3ZnKSBIZWFsdGhjYXJlICYgTGlmZSBTY2llbmNlc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbmR1c3RyaWVzL2hlYWx0aGNhcmUtbGlmZS1zY2llbmNlcylcXG5cXG5bIVtJbWFnZSAxOV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjhiYTM0MDAwMWQ1MGRmOWM3MThiZTBhX21hbnVmYWN0dXJpbmctZmFjdG9yeS03OHB4LXdoaXRlLnN2ZykgTWFudWZhY3R1cmluZ10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbmR1c3RyaWVzL21hbnVmYWN0dXJpbmcpXFxuXFxuWyFbSW1hZ2UgMjBdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY4YmEzNDIyMmY0M2ZkYzJhNjIzZDA0NF9yZWFsLWVzdGF0ZS1idWlsZGluZy03OHB4LXdoaXRlLnN2ZykgUmVhbCBFc3RhdGVdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9yZWFsLWVzdGF0ZSlcXG5cXG5bIVtJbWFnZSAyMV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjhiYTM0MjdhYzhlZDMyOTBhNmE1NGVlX3JldGFpbC1zaG9wcGluZy1jYXJ0LTc4cHgtd2hpdGUuc3ZnKSBSZXRhaWxdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9yZXRhaWwpXFxuXFxuU2hha3VkbyBVc2UgQ2FzZXNcXG5cXG5bQWNjZWxlcmF0ZSBEZXZlbG9wbWVudCB3aXRoIEFJLVBvd2VyZWQgQ29kZSBSZXZpZXddKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vdXNlLWNhc2VzL2FjY2VsZXJhdGUtZGV2ZWxvcG1lbnQtd2l0aC1haS1wb3dlcmVkLWNvZGUtcmV2aWV3KVxcblxcbltPcHRpbWl6ZSBSZXRhaWwgUHJpY2luZyBTdHJhdGVnaWVzIGZvciBNYXJrZXQgQWR2YW50YWdlXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3VzZS1jYXNlcy9vcHRpbWl6ZS1yZXRhaWwtcHJpY2luZy1zdHJhdGVnaWVzLWZvci1tYXJrZXQtYWR2YW50YWdlKVxcblxcbltJbXBsZW1lbnQgRGlnaXRhbCBUd2lucyBmb3IgRW5oYW5jZWQgU3lzdGVtIE1vZGVsaW5nXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3VzZS1jYXNlcy9pbXBsZW1lbnQtZGlnaXRhbC10d2lucy1mb3ItZW5oYW5jZWQtc3lzdGVtLW1vZGVsaW5nKVxcblxcbltFeHRyYWN0IEN1c3RvbSBJbnNpZ2h0cyBmcm9tIEVhcm5pbmdzIENhbGxzIFJhcGlkbHldKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vdXNlLWNhc2VzL2V4dHJhY3QtY3VzdG9tLWluc2lnaHRzLWZyb20tZWFybmluZ3MtY2FsbHMtcmFwaWRseSlcXG5cXG5bQW5hbHl6ZSBTYWxlcyBDYWxsIFRyYW5zY3JpcHRzIHRvIElkZW50aWZ5IFdpbm5pbmcgU3RyYXRlZ2llc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby91c2UtY2FzZXMvYW5hbHl6ZS1zYWxlcy1jYWxsLXRyYW5zY3JpcHRzLWlkZW50aWZ5LXdpbm5pbmctc3RyYXRlZ2llcylcXG5cXG5bUGVyc29uYWxpemUgTGVhcm5pbmcgUGF0aHdheXMgd2l0aCBBZGFwdGl2ZSBBSSBBbGdvcml0aG1zXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3VzZS1jYXNlcy9hZGFwdGl2ZS1haS1wZXJzb25hbGl6ZWQtbGVhcm5pbmctcGF0aHdheXMpXFxuXFxuW1NlZSBhbGwgPl0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby91c2UtY2FzZXMpXFxuXFxuUmVzb3VyY2VzXFxuXFxuIVtJbWFnZSAyMl0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjI1NDQ3YzY3YjYyMWFjNjdjYjdlNDhlX2ljb24tY2hldnJvbi1kb3duLnN2ZylcXG5cXG5bIVtJbWFnZSAyM10oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjU2ZTAxZjExMWExZjRhMGYxNDRmYjk2X3NoYWt1ZG8tcGFydG5lci5zdmcpIENhc2UgU3R1ZGllcyBMZWFybiBob3cgbGVhZGluZyBjb21wYW5pZXMgbGV2ZXJhZ2UgZGF0YSAmIEFJIG9uIFNoYWt1ZG9dKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vYmxvZy1jYXRlZ29yaWVzL2Nhc2Utc3R1ZGllcylbIVtJbWFnZSAyNF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjcwOTZiYzdkODRmZTI1MWQxOGU5OWE1X2ljb24tZmlsZS10ZXh0LnN2ZykgYmxvZyBSZWFkIHdoYXQncyBuZXcgYXQgU2hha3VkbyBhbmQgdGhlIGRhdGEgYW5kIEFJIHdvcmxkXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2cpWyFbSW1hZ2UgMjVdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzY3MDk2YmM3MGI1MTcwMTk5OGE5NTcxM19pY29uLWJvb2stb3Blbi10ZXh0LnN2Zykgd2hpdGUgcGFwZXJzIEFjY2VzcyBpbi1kZXB0aCByZXBvcnRzIGFuZCBndWlkZXMgb24gZGF0YSAmIEFJIHNvbHV0aW9uc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9ibG9nLWNhdGVnb3JpZXMvd2hpdGUtcGFwZXIpWyFbSW1hZ2UgMjZdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzY1MDIwZDQxMTdlMTJmODQxOThkNGU1MF9sdWNpZGVfYm9vayUyMCgxKS5zdmcpIERvY3MgRXhwbG9yZSBjb21wcmVoZW5zaXZlIGd1aWRlcyBvbiB0aGUgU2hha3VkbyBwbGF0Zm9ybV0oaHR0cHM6Ly9kb2NzLnNoYWt1ZG8uaW8vKVxcblxcblshW0ltYWdlIDI3XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82ODI2MTFlMDQzZmZjN2I5OTBhNDZjMjlfYmFua2luZy1wZW9wbGUtY2FzZS1zdHVkeS5qcGcpIVtJbWFnZSAyOF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjgyNjNhMDViY2UxZmExOGFiOTAyMTY4X0ZyYW1lJTIwMTIxMDUuc3ZnKSBDYXNlIFN0dWR5IEhvdyBhIEZvcnR1bmUgNTAwIEJhbmsgT3BlcmF0aW9uYWxpemVkIE1MT3BzXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2cvaG93LXRvcC1iYW5rLW9wZXJhdGlvbmFsaXplZC1tbG9wcylcXG5cXG5bIVtJbWFnZSAyOV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjdlNzAzYWUyZmY0ZjY4NmI2ZDliZTE5X3JpdHVhbC1ibG9nLmF2aWYpIVtJbWFnZSAzMF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjdlNmY5YzdjYmJhZTBmODkyZDA0MzY2X2xvZ28tcml0dWFsLnN2ZykgQ2FzZSBTdHVkeSBGb29kIE9yZGVyaW5nIExlYWRlciBSaXR1YWwgQm9vc3RzIEVmZmljaWVuY3kgYW5kIEN1dHMgQ29zdHMgd2l0aCBTY2FsYWJsZSBEYXRhIE9TXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2cvcml0dWFsLWNhc2Utc3R1ZHkpXFxuXFxuQ29tcGFueVxcblxcbiFbSW1hZ2UgMzFdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzYyNTQ0N2M2N2I2MjFhYzY3Y2I3ZTQ4ZV9pY29uLWNoZXZyb24tZG93bi5zdmcpXFxuXFxuWyFbSW1hZ2UgMzJdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzYzZDgxNTQwM2RjNzA1MjBjNjEyNmYxYl9zaGFrdWRvJTIwaWNvbiUyMGFib3V0JTIwKDEpLnN2ZykgQUJvdXQgVXMgTGVhcm4gYWJvdXQgb3VyIG1pc3Npb24gYW5kIHZhbHVlc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9hYm91dClbIVtJbWFnZSAzM10oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjNkODE1NjM0YjVjMTU2ODU5Y2YyYzk4X3NoYWt1ZG8tY2FyZWVycyUyMCgxKS5zdmcpIENhcmVlcnMgSm9pbiB1cyBpbiBidWlsZGluZyB0aGUgbmV4dC1nZW4gZGF0YSBzdGFja10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9jYXJlZXJzKVshW0ltYWdlIDM0XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82NTZlMDFmMTExYTFmNGEwZjE0NGZiOTZfc2hha3Vkby1wYXJ0bmVyLnN2ZykgUGFydG5lcnMgTGVhcm4gYWJvdXQgdGhlIHJlbGF0aW9uc2hpcHMgdGhhdCBtYWtlIGl0IGhhcHBlbl0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9wYXJ0bmVycylbIVtJbWFnZSAzNV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjNkODE1NDBiNzFlNjg0MzZlOWViZmU4X3NoYWt1ZG8lMjBjaGF0JTIwaWNvbiUyMCgxKS5zdmcpIENvbnRhY3QgdXMgSGF2ZSBhIHF1ZXN0aW9uPyBXZSdyZSBoZXJlIHRvIGhlbHBdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vY29udGFjdC11cylcXG5cXG5bQUkgV29ya3Nob3BdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vYWktd29ya3Nob3ApW0dldCBTdGFydGVkXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3NpZ24tdXApXFxuXFxuWzwgQnJvd3NlIEludGVncmF0aW9uc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbnRlZ3JhdGlvbnMpXFxuXFxuIyMjIyBXb3JrZmxvdyBBdXRvbWF0aW9uXFxuXFxuV2hhdCBpcyBuOG4sIGFuZCBIb3cgdG8gRGVwbG95IEl0IGluIGFuIEVudGVycHJpc2UgRGF0YSBTdGFjaz9cXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcblxcbkxhc3QgdXBkYXRlZCBvblxcblxcbk9jdG9iZXIgNiwgMjAyNVxcblxcbiFbSW1hZ2UgMzZdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY1ZDU5OWMyNzNhNmI5NzVmZGZjMDYxNV9uOG4tbG9nby5zdmcpXFxuXFxuW0J1dHRvbiBUZXh0XShodHRwczovL3d3dy5zaGFrdWRvLmlvL2ludGVncmF0aW9ucy9uOG4jKVxcbm44blxcbi0tLVxcblxcblshW0ltYWdlIDM3XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82M2EzNjM0YmM3ODBjNTI2NmM3OThiMzlfb2ZmaWNpYWwlMjB3ZWJzaXRlLnN2ZykgV2Vic2l0ZV0oaHR0cHM6Ly9uOG4uaW8vKVshW0ltYWdlIDM4XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82M2I1ZGU4OWI1NTZlZDkxMGZjNDM5NDZfR2l0aHViLWxvZ28tVmVjdG9yLnN2ZykgR2l0aHViXShodHRwczovL2dpdGh1Yi5jb20vbjhuLWlvL244bilbIVtJbWFnZSAzOV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjNjMDVjY2I0ZTk3ZGQyY2M5NTRjYTkwX3ZpZGVvLWljb24uc3ZnKSBWaWRlb10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbnRlZ3JhdGlvbnMvbjhuIylcXG5cXG5bU2VlIG44biBvbiBTaGFrdWRvXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3NpZ24tdXA/aW50PW44bilcXG5cXG5XaGF0IGlzIG44bj9cXG4tLS0tLS0tLS0tLS1cXG5cXG5uOG4gaXMgYSB2ZXJzYXRpbGUgdG9vbCBkZXNpZ25lZCB0byBzaW1wbGlmeSBjb21wbGV4IHdvcmtmbG93IGF1dG9tYXRpb24uIEl0IHN0YW5kcyBvdXQgYXMgYSBsb3ctY29kZSwgc291cmNlLWF2YWlsYWJsZSBwbGF0Zm9ybSB0aGF0IGlzIHNlbGYtaG9zdGFibGUsIG9mZmVyaW5nIGEgcmVsaWFibGUgYWx0ZXJuYXRpdmUgdG8gY29udmVudGlvbmFsIGF1dG9tYXRpb24gdG9vbHMuIFdoYXQgc2V0cyBuOG4gYXBhcnQgaXMgaXRzIGZsZXhpYmlsaXR5IGluIHVzaW5nIEphdmFTY3JpcHQgZm9yIGludHJpY2F0ZSB0YXNrcyBhbmQgYSB1c2VyLWZyaWVuZGx5IGRyYWctYW5kLWRyb3AgaW50ZXJmYWNlIGZvciBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCBwcm9jZXNzZXMuIEl0cyB2aXN1YWwgYnVpbGRpbmcgYmxvY2sgYXBwcm9hY2ggbWFrZXMgaXQgZWFzeSB0byBjb25maWd1cmUgYW5kIG1hbmFnZSB3b3JrZmxvd3MsIGVuaGFuY2luZyBlZmZpY2llbmN5LiBuOG4gaXMgaGlnaGx5IHJlZ2FyZGVkIGZvciBpdHMgc3RyYWlnaHRmb3J3YXJkIHVzZXIgZXhwZXJpZW5jZSBhbmQgYSB3aWRlIHJhbmdlIG9mIGludGVncmF0aW9ucywgaW5jbHVkaW5nIHNlYW1sZXNzIEdpdEh1YiB3ZWJob29rIHNldHVwcy4gSWRlYWwgZm9yIHRlY2huaWNhbCB1c2VycywgaXQgYWNjZWxlcmF0ZXMgdGhlIGNyZWF0aW9uIG9mIHNvcGhpc3RpY2F0ZWQgd29ya2Zsb3dzIHdpdGhvdXQgdGhlIGNvbXBsZXhpdHkgb2YgdHJhZGl0aW9uYWwgc2NyaXB0aW5nLlxcblxcbldoYXQgaXMgbjhuIHVzZWQgZm9yP1xcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbm44biBpcyBwcmltYXJpbHkgdXNlZCBmb3I6XFxuXFxuMS4gQXV0b21hdGluZyByZXBldGl0aXZlIHRhc2tzIGFjcm9zcyBkaWZmZXJlbnQgdG9vbHNcXG5cXG4yLiBCdWlsZGluZyBjb21wbGV4IGRhdGEgcGlwZWxpbmVzXFxuXFxuMy4gQ3JlYXRpbmcgY3VzdG9tIGludGVncmF0aW9ucyBiZXR3ZWVuIGFwcGxpY2F0aW9uc1xcblxcbjQuIERldmVsb3BpbmcgQUktcG93ZXJlZCB3b3JrZmxvd3MgYnkgaW5jb3Jwb3JhdGluZyBMTE0gY2hhaW5zXFxuXFxuSXMgbjhuIG5vIGNvZGU/XFxuLS0tLS0tLS0tLS0tLS0tXFxuXFxubjhuIGlzIGNvbnNpZGVyZWQgYSBcXFwibG93LWNvZGVcXFwiIHBsYXRmb3JtLiBXaGlsZSBpdCBvZmZlcnMgYSB2aXN1YWwgaW50ZXJmYWNlIGZvciBjcmVhdGluZyB3b3JrZmxvd3Mgd2l0aG91dCBjb2RpbmcsIGl0IGFsc28gcHJvdmlkZXMgdGhlIGZsZXhpYmlsaXR5IHRvIGFkZCBjdXN0b20gSmF2YVNjcmlwdCBjb2RlIGZvciBtb3JlIGFkdmFuY2VkIHVzZSBjYXNlcy4gVGhpcyBoeWJyaWQgYXBwcm9hY2ggY2F0ZXJzIHRvIHVzZXJzIHdpdGggdmFyeWluZyB0ZWNobmljYWwgZXhwZXJ0aXNlLlxcblxcbklzIG44biBzZWxmLWhvc3RlZCBmcmVlP1xcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcblllcywgbjhuIG9mZmVycyBhIGZyZWUsIHNlbGYtaG9zdGVkIHZlcnNpb24uIFRoaXMgYWxsb3dzIG9yZ2FuaXphdGlvbnMgdG8gcnVuIG44biBvbiB0aGVpciBvd24gaW5mcmFzdHJ1Y3R1cmUsIG1haW50YWluaW5nIGZ1bGwgY29udHJvbCBvdmVyIHRoZWlyIGRhdGEgYW5kIHdvcmtmbG93cy4gSG93ZXZlciwgbjhuIGFsc28gcHJvdmlkZXMgY2xvdWQtaG9zdGVkIG9wdGlvbnMgZm9yIHRob3NlIHByZWZlcnJpbmcgYSBtYW5hZ2VkIHNvbHV0aW9uLlxcblxcbkhvdyBkb2VzIFNoYWt1ZG8gZW5oYW5jZSBuOG4ncyBjYXBhYmlsaXRpZXMgaW4gYSBkYXRhIHNjaWVuY2Ugd29ya2Zsb3c/XFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5TaGFrdWRvIGludGVncmF0ZXMgbjhuIGludG8gaXRzIGNvbXByZWhlbnNpdmUgZGF0YSBwbGF0Zm9ybSwgYW1wbGlmeWluZyBpdHMgcG90ZW50aWFsIGluIGRhdGEgc2NpZW5jZSB3b3JrZmxvd3MuIEJ5IGNvbWJpbmluZyBuOG4ncyBhdXRvbWF0aW9uIGNhcGFiaWxpdGllcyB3aXRoIFNoYWt1ZG8ncyBtYW5hZ2VkIGluZnJhc3RydWN0dXJlIGFuZCB0b29sIGludGVyb3BlcmFiaWxpdHksIGRhdGEgc2NpZW50aXN0cyBjYW4gY3JlYXRlIHNvcGhpc3RpY2F0ZWQsIEFJLWRyaXZlbiBwaXBlbGluZXMuIFRoaXMgaW50ZWdyYXRpb24gc3RyZWFtbGluZXMgdGhlIHByb2Nlc3Mgb2YgY29ubmVjdGluZyBkYXRhIHNvdXJjZXMsIHByZXByb2Nlc3Npbmcgc3RlcHMsIGFuZCBtb2RlbCBkZXBsb3ltZW50LCBhbGwgd2l0aGluIGEgY29oZXNpdmUsIHNjYWxhYmxlIGVudmlyb25tZW50LlxcblxcbldhdGNoIG44biBpbiBhY3Rpb25cXG4tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuUmVhZCBtb3JlIGFib3V0IG44blxcbi0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5bIVtJbWFnZSA0MF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjdlNDY1YjMwMzVjYmJlYjMwYjM1NTYyX3dvcmtmbG93LWF1dG9tYXRpb24uYXZpZikgIyMjIFRvcCA5IFdvcmtmbG93IEF1dG9tYXRpb24gVG9vbHMgYXMgb2YgRGVjZW1iZXIgMjAyNV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9ibG9nL3RvcC05LXdvcmtmbG93LWF1dG9tYXRpb24tdG9vbHMpXFxuXFxuWyFbSW1hZ2UgNDFdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY3ZGMyZTk2NmY4MGVjYjZlMTIzMzgyOV9pbWFnZV9meF8lMjAoMjgpJTIwMS5hdmlmKSAjIyMgNyBCZXN0IFByYWN0aWNlcyBmb3IgRGVzaWduaW5nIEF1dG9tYXRlZCBEYXRhIFBpcGVsaW5lcyBpbiAyMDI1XShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2cvNy1iZXN0LXByYWN0aWNlcy1mb3ItZGVzaWduaW5nLWF1dG9tYXRlZC1kYXRhLXBpcGVsaW5lcylcXG5cXG5bIVtJbWFnZSA0Ml0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjZmZDg5MzJjZDRjNmRlYjY1NWM2ZGE2X2FpcHJlcGFyZS1ibG9nLWltYWdlJTIwKDIpJTIwKDEpLmF2aWYpICMjIyBQcmVwYXJpbmcgWW91ciBPcmdhbml6YXRpb24gZm9yIEFJOiBQcmFjdGljYWwgU3RlcHMgdG8gTWFrZSBZb3VyIERhdGEgQUkgUmVhZHldKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vYmxvZy9wcmVwYXJpbmctb3JnYW5pemF0aW9uLWFpLXByYWN0aWNhbC1zdGVwcy1nZXQtZGF0YS1haS1yZWFkeSlcXG5cXG5Vc2UgY2FzZXMgZm9yIG44blxcbi0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuW10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby91c2UtY2FzZXMvc3VwcGx5LWNoYWluLXRyYWNlYWJpbGl0eS1wbGF0Zm9ybS13aXRoLWFpLXJlYWwtdGltZS1zZW1pY29uZHVjdG9yLWxvdC10cmFja2luZylcXG5cXG4hW0ltYWdlIDQzXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NzUyMWI1MGM0ZmE2MjQyZDc5OGI3Yzhfc3VwcGx5LWNoYWluLWRpZ2l0YWwlNUIxJTVELmF2aWYpXFxuXFxuIVtJbWFnZSA0NF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjVjYTRkODZjMmNlY2FiY2UzZTczMDlhX01JTklPX0JpcmQuYXZpZilcXG5cXG4hW0ltYWdlIDQ1XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NWQ1OTliOWIzNDQ1ODUxNjkzMGE1ZTlfc25vd2ZsYWtlLWxvZ28uc3ZnKVxcblxcbiFbSW1hZ2UgNDZdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY1ZDU5YTFjZWMxNDk3MGI0Zjc2MWE3Nl9kYnQtbG9nby5zdmcpXFxuXFxuIVtJbWFnZSA0N10oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjUxMWU2ODlkYzg0OTE3M2NkNmM3ZTliXzY0NDJiMjk4MGIxYjgxMzUzNTlkOTcxZV9sb2dvLmF2aWYpXFxuXFxuIVtJbWFnZSA0OF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjUxMWU2ODk4M2U0ZWNmMzZjMTNkMzVmXzY0ODFlY2EwOWYzNTc4Yjg5NDZjZDQ3ZV9jb21tdW5pdHlJY29uX3Z3MDhhNDIzcHR4YTEuYXZpZilcXG5cXG5TdXBwbHkgQ2hhaW4gVHJhY2VhYmlsaXR5IFBsYXRmb3JtIHdpdGggQUk6IFJlYWwtdGltZSBTZW1pY29uZHVjdG9yIExvdCBUcmFja2luZ1xcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuW10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby91c2UtY2FzZXMvYXV0b21hdGUtY2xpbmljYWwtZG9jdW1lbnRhdGlvbi13aXRoLWFpLW5vdGUtZ2VuZXJhdGlvbilcXG5cXG4hW0ltYWdlIDQ5XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NmVjOTg3ZGU2YmYxNTRiY2NjZjQ4OTdfc2hha3Vkby11c2VjYXNlLW5vdGV0YWtpbmcuYXZpZilcXG5cXG4hW0ltYWdlIDUwXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NWRjYzdkNDc0YTUzOWJmMmI4MTRjN2RfZGlmeS1haS1sb2dvLmF2aWYpXFxuXFxuIVtJbWFnZSA1MV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjYxN2VlZDhjN2EyYTc4MTM3ZmMwMTFmX2FwcHNtaXRoLTE4LTA0LnN2ZylcXG5cXG4hW0ltYWdlIDUyXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NWQ1OTljMjczYTZiOTc1ZmRmYzA2MTVfbjhuLWxvZ28uc3ZnKVxcblxcbiFbSW1hZ2UgNTNdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY1OTVhM2YxNmVhNmZhYzVlNDdkNzVmM19vbGxhbWEuYXZpZilcXG5cXG4hW0ltYWdlIDU0XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NWQ1MTRhMzJiNWVlZWU2MjBkZjczYWNfcWRyYW50LWxvZ28uc3ZnKVxcblxcbkF1dG9tYXRlIENsaW5pY2FsIERvY3VtZW50YXRpb24gd2l0aCBBSSBOb3RlIEdlbmVyYXRpb25cXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuW10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby91c2UtY2FzZXMvb3B0aW1pemUtdGlja2V0LXByaWNpbmctd2l0aC1keW5hbWljLWRlbWFuZC1tb2RlbGluZylcXG5cXG4hW0ltYWdlIDU1XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NmM4ZTM0MDMxMDYzZGE5MmFjMzU1ODBfVGlja2V0X1RvdXRzLmF2aWYpXFxuXFxuIVtJbWFnZSA1Nl0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjUxMWU2OGU3MDMwMmYwZDRkOGJhMjI1XzYzYzFjMmI0MzQ4MzQxNzQ1YWQ5ZjU2M19YR0Jvb3N0LWxvZ28uYXZpZilcXG5cXG4hW0ltYWdlIDU3XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NWQ1OWExY2VjMTQ5NzBiNGY3NjFhNzZfZGJ0LWxvZ28uc3ZnKVxcblxcbiFbSW1hZ2UgNThdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY1ZDU5OWI5YjM0NDU4NTE2OTMwYTVlOV9zbm93Zmxha2UtbG9nby5zdmcpXFxuXFxuIVtJbWFnZSA1OV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjUxMWU2ODkwMzFjN2JhODFhOTA1ZGQ1XzYzYTQ4Zjc4ODUzZjkwM2ZlYTQzNGM3OF9NTGZsb3ctbG9nby1wb3MtVE0tMSUyNTVCMSUyNTVELmF2aWYpXFxuXFxuIVtJbWFnZSA2MF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjUxMWU2ODlkYzg0OTE3M2NkNmM3ZTliXzY0NDJiMjk4MGIxYjgxMzUzNTlkOTcxZV9sb2dvLmF2aWYpXFxuXFxuT3B0aW1pemUgVGlja2V0IFByaWNpbmcgd2l0aCBEeW5hbWljIERlbWFuZCBNb2RlbGluZ1xcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5bU2VlIGFsbCB1c2UgY2FzZXMgPl0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby91c2UtY2FzZXMpXFxuXFxuV2h5IGlzIG44biBiZXR0ZXIgb24gU2hha3Vkbz9cXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbldoeSBpcyBuOG4gYmV0dGVyIG9uIFNoYWt1ZG8/XFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5Db3JlIFNoYWt1ZG8gRmVhdHVyZXNcXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG4hW0ltYWdlIDYxXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82M2EzNjA1MWY2NjkwMDIxOGVjM2ViNzZfU3VidHJhY3QlMjAoMSkuc3ZnKVxcbiMjIyBPd24gWW91ciBBSVxcblxcbktlZXAgZGF0YSBzb3ZlcmVpZ24sIHByb3RlY3QgSVAsIGFuZCBhdm9pZCB2ZW5kb3IgbG9jay1pbiB3aXRoIGluZnJhLWFnbm9zdGljIGRlcGxveW1lbnRzLlxcblxcbiFbSW1hZ2UgNjJdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzYzYTM2MjY4M2U1YzlhOGQzNjBlM2VjMF9zdHJlYW1saW5lJTIwd29ya2Zsb3cuc3ZnKVxcbiMjIyBGYXN0ZXIgVGltZS10by1WYWx1ZVxcblxcblByZS1idWlsdCB0ZW1wbGF0ZXMgYW5kIGF1dG9tYXRlZCBEZXZPcHMgYWNjZWxlcmF0ZSB0aW1lLXRvLXZhbHVlLlxcblxcbiFbSW1hZ2UgNjM6IGludGVncmF0ZV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjNhMzYxYTRjOGMxYmQzODhkZGI0ZmIwX1ZlY3RvciUyMCgzKS5zdmcpXFxuIyMjIEZsZXhpYmxlIHdpdGggRXhwZXJ0c1xcblxcbk9wZXJhdGluZyBzeXN0ZW0gYW5kIGRlZGljYXRlZCBzdXBwb3J0IGVuc3VyZSBzZWFtbGVzcyBhZG9wdGlvbiBvZiB0aGUgbGF0ZXN0IGFuZCBncmVhdGVzdCB0b29scy5cXG5cXG5TZWUgU2hha3VkbyBpbiBBY3Rpb25cXG49PT09PT09PT09PT09PT09PT09PT1cXG5cXG5cXFwiU2hha3VkbyBnYXZlIHVzIHRoZSBmbGV4aWJpbGl0eSB0byB1c2UgdGhlIGRhdGEgc3RhY2sgY29tcG9uZW50cyB0aGF0IGZpdCBvdXIgbmVlZHMgYW5kIGV2b2x2ZSB0aGUgc3RhY2sgdG8ga2VlcCB1cCB3aXRoIHRoZSBpbmR1c3RyeS5cXFwiXFxuXFxuTmVhbCBHaWxtb3JlXFxuXFxuU2VuaW9yIFZpY2UgUHJlc2lkZW50LCBFbnRlcnByaXNlIERhdGEgJiBBbmFseXRpY3MgQCBRdWFkUmVhbFxcblxcbuKdruKdr1xcblxcbltHZXQgU3RhcnRlZCA+XShodHRwczovL3d3dy5zaGFrdWRvLmlvL3NpZ24tdXApXFxuXFxuWyFbSW1hZ2UgNjRdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzYyNzRiYjUxZDRhNzY5ODliZjM5ZThkNl9zaGFrdWRvLTIwMjItbG9ja3VwLWJsYWNrLnN2ZyldKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vKVxcblxcblNoYWt1ZG8gYnJpbmdzIHRoZSBiZXN0IEFJIHRvb2xzIGludG8geW91ciBWUEMgYW5kIG9wZXJhdGVzIHRoZW0gZm9yIHlvdSBhdXRvbWF0aWNhbGx5LCBhY2hpZXZpbmcgYSBtb3JlIHNlY3VyZSwgcGVyZm9ybWFudCwgYW5kIGNvc3QgZWZmZWN0aXZlIHRlY2hub2xvZ3kgc3RhY2suXFxuXFxuWyFbSW1hZ2UgNjVdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzY3MjM5ZDY4OTQ3ZTVjNmIzYzg5Yzc4N19wYXJ0bmVyLWljb24tc29jMiUyMCgxKS5wbmcpXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2cvc29jLTItY29tcGxpYW5jZSlbIVtJbWFnZSA2Nl0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjY0MjYwYjBlM2Y1MDljY2Y4NjVmMDkyX0dvb2dsZV9DbG91ZF9QYXJ0bmVyX25vX291dGxpbmVfaG9yaXpvbnRhbC5wbmcpXShodHRwczovL2NvbnNvbGUuY2xvdWQuZ29vZ2xlLmNvbS9tYXJrZXRwbGFjZS9wcm9kdWN0L3NoYWt1ZG8tcHVibGljL3NoYWt1ZG8pWyFbSW1hZ2UgNjddKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzY3MjM5YzM3ZTFmYjdjYTZkZjMxNTA3N19wYXJ0bmVyLWljb24tYXdzLnBuZyldKGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vbWFya2V0cGxhY2UvcHAvcHJvZHZpZXctazVuamlxeng3NnpmcSlbIVtJbWFnZSA2OF0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjcyMzljMzczN2U1NzEzNDVhN2EwMGFmX3BhcnRuZXItaWNvbi1taWNyc29mdC5wbmcpXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2ludGVncmF0aW9ucy9uOG4jKVxcblxcblshW0ltYWdlIDY5XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82MjdiNGY3N2FlY2RhZGVmNDBhZmQyOGVfZXZlbnRfYmxhY2tfMjRkcC5zdmcpIEJvb2sgRGVtb10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9zaWduLXVwKVshW0ltYWdlIDcwXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82MjdiNGY3NzJiZDMxNGEwNGI4YWMxM2RfZW1haWxfYmxhY2tfMjRkcC5zdmcpIEVtYWlsXShtYWlsdG86aW5mb0BzaGFrdWRvLmlvKVshW0ltYWdlIDcxXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82NTM5NmYxYTI5NWM1MWQ5Mjg4MDlhYTJfeC1sb2dvLnN2ZykgWCAoVHdpdHRlcildKGh0dHBzOi8vdHdpdHRlci5jb20vc2hha3Vkb19pbylbIVtJbWFnZSA3Ml0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjI1NDQ3YzY3YjYyMWE0NmYzYjdlNDM1X2ljb24tTGlua2VkSW4td2hpdGUuc3ZnKSBMaW5rZWRJbl0oaHR0cHM6Ly9jYS5saW5rZWRpbi5jb20vY29tcGFueS9zaGFrdWRvKVshW0ltYWdlIDczXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82MjU0NDdjNjdiNjIxYTdhZDZiN2U0M2ZfaWNvbi1Zb3VUdWJlLXdoaXRlLnN2ZykgWW91dHViZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3BuUHFzVlZibU4zTUlQWXViOWV0VUE/c3ViX2NvbmZpcm1hdGlvbj0xKVxcblxcbiMjIyMjIE5ld3NsZXR0ZXJcXG5cXG5TaWduIHVwIGZvciB0aGUgbGF0ZXN0IFNoYWt1ZG8gbmV3czogXFxuXFxu8J+OiSBTdWNjZXNzISBZb3UncmUgbm93IHNpZ25lZCB1cCBmb3IgdGhlIFNoYWt1ZG8gbmV3c2xldHRlci5cXG5cXG5Pb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZyB3aGlsZSBzdWJtaXR0aW5nIHRoZSBmb3JtLlxcblxcbiMjIyMjIEFwcGxpY2F0aW9uc1xcblxcbltEYXRhIGFuZCBBSSBPU10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9wbGF0Zm9ybSlbU3RhY2sgQ29tcG9uZW50c10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbnRlZ3JhdGlvbnMpW0FJIEFnZW50c10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9hZ2VudGZsb3cpW01DUCBQcm94eV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9tY3AtcHJveHkpW0V4dHJhY3RGbG93XShodHRwczovL3d3dy5zaGFrdWRvLmlvL2V4dHJhY3RmbG93KVtLbm93bGVkZ2UgR3JhcGhdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8va25vd2xlZGdlLWdyYXBoKVtWZWN0b3IgRGF0YWJhc2UgKyBMTE1dKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vbGxtLXJhZy1zdGFjaylbV29ya2Zsb3cgQXV0b21hdGlvbl0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby93b3JrZmxvdy1hdXRvbWF0aW9uKVtUZXh0IHRvIFNRTF0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9uYXR1cmFsLWxhbmd1YWdlLXRvLXNxbClbUmV2ZXJzZSBFVExdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vcmV2ZXJzZS1ldGwpXFxuXFxuIyMjIyMgSW5kdXN0cmllc1xcblxcbltBdXRvbW90aXZlICYgVHJhbnNwb3J0YXRpb25dKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9hdXRvbW90aXZlLXRyYW5zcG9ydGF0aW9uKVxcblxcbltBZXJvc3BhY2VdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9hZXJvc3BhY2UpXFxuXFxuW01hbnVmYWN0dXJpbmddKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9tYW51ZmFjdHVyaW5nKVxcblxcbltIZWFsdGhjYXJlICYgTGlmZSBTY2llbmNlc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbmR1c3RyaWVzL2hlYWx0aGNhcmUtbGlmZS1zY2llbmNlcylcXG5cXG5bQ2xpbWF0ZSAmIEVuZXJneV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbmR1c3RyaWVzL2NsaW1hdGUtZW5lcmd5KVxcblxcbltSZWFsIEVzdGF0ZV0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbmR1c3RyaWVzL3JlYWwtZXN0YXRlKVxcblxcbltSZXRhaWxdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW5kdXN0cmllcy9yZXRhaWwpXFxuXFxuW0ZpbmFuY2lhbCBTZXJ2aWNlc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9pbmR1c3RyaWVzL2ZpbmFuY2lhbC1zZXJ2aWNlcylcXG5cXG4jIyMjIyBSZXNvdXJjZXNcXG5cXG5bVXNlIENhc2VzXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3VzZS1jYXNlcylcXG5cXG5bSW5zaWdodHNdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vYmxvZy1jYXRlZ29yaWVzL2luc2lnaHRzKVxcblxcbltXaGl0ZSBQYXBlcl0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9ibG9nLWNhdGVnb3JpZXMvd2hpdGUtcGFwZXIpXFxuXFxuW0Nhc2UgU3R1ZHldKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vYmxvZy1jYXRlZ29yaWVzL2Nhc2Utc3R1ZGllcylcXG5cXG5bUHJlc3NdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vYmxvZy1jYXRlZ29yaWVzL3ByZXNzKVxcblxcbltQcm9kdWN0XShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2ctY2F0ZWdvcmllcy9wcm9kdWN0KVxcblxcbltUdXRvcmlhbF0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9ibG9nLWNhdGVnb3JpZXMvdHV0b3JpYWxzKVxcblxcbltOZXdzXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2ctY2F0ZWdvcmllcy9uZXdzKVxcblxcbltXZWJpbmFyXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3dlYmluYXIpW0dsb3NzYXJ5XShodHRwczovL3d3dy5zaGFrdWRvLmlvL2dsb3NzYXJ5KVtEb2N1bWVudGF0aW9uXShodHRwczovL2RvY3Muc2hha3Vkby5pby8pXFxuXFxuIyMjIyMgQ29tcGFueVxcblxcbltBYm91dF0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9hYm91dClbUGFydG5lcnNdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vcGFydG5lcnMpW0RHWCBQYXJ0bmVyXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2RneClbQ2FyZWVyc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9jYXJlZXJzKVtNZWRpYSBLaXRdKGh0dHBzOi8vc2hha3Vkby5ub3Rpb24uc2l0ZS9lYTUxM2VlZDAxMGM0OTJjOThkNzBhNGY2Zjk0NTQ5Yz92PWU5Y2IzMjk2MDhmYjQxNjdiYjQ2NDhhZGI0M2JlODkxKVxcblxcbiMjIyMjIEdldCBTdGFydGVkXFxuXFxuW0FJIFdvcmtzaG9wXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2FpLXdvcmtzaG9wKVtTaWdudXBdKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vc2lnbi11cClbQ29udGFjdCBVc10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9jb250YWN0LXVzKVtOZXdzbGV0dGVyXShodHRwczovL3d3dy5zaGFrdWRvLmlvL25ld3NsZXR0ZXItc2lnbnVwKVxcblxcblvCqSAyMDI1IFNoYWt1ZG9dKGh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vKVxcblxcblRvcm9udG8sIENhbmFkYVxcblxcbltDb250YWN0IHVzXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2NvbnRhY3QtdXMpW1ByaXZhY3kgUG9saWN5XShodHRwczovL3d3dy5zaGFrdWRvLmlvL3ByaXZhY3kpW1Rlcm1zICYgQ29uZGl0aW9uc10oaHR0cHM6Ly9kcml2ZS5nb29nbGUuY29tL2ZpbGUvZC8xN25PcWU4SlJJZVRMVDN1YlBBWnd0N1lsX0RUN2JMaUUvdmlldz91c3A9c2hhcmVfbGluaylbU2l0ZW1hcF0oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9zaXRlbWFwKVxcblxcblRydXN0ZWQgYnkgaW5kdXN0cnkgbGVhZGVyc1xcblxcbiFbSW1hZ2UgNzRdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY4Mzc2MjhiMWUwNmZiYzUyMWEyYTFhZV9DbGlwJTIwcGF0aCUyMGdyb3VwLnN2ZylcXG5cXG4hW0ltYWdlIDc1XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NzBlOTVlNDQwNzQ2NTA1YWMyNDA4MWFfbG9nby1sb2JsYXdkaWdpdGFsLWxhbmRzY2FwZS13aGl0ZS5zdmcpXFxuXFxuIVtJbWFnZSA3Nl0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjZhM2ZkMDJhMDZiN2E4YWNiZjkyM2NlX2xvZ28tY2VudHJhbHJlYWNoJTIwKDEpJTIwMS5zdmcpXFxuXFxuIVtJbWFnZSA3N10oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjgzNzYzNDI1ODY5YWU3MGZhNGQ2YjM0X0ZyYW1lLnN2ZylcXG5cXG4hW0ltYWdlIDc4XShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82ODM3NmVjZmI2NDFkYzJlZmJlZTY4NGRfNjgzNzY0MDM3Mzk1M2U0ZjQ1MzhjYTQzX2xvZ28tYnd4dC5zdmcpXFxuXFxuIVtJbWFnZSA3OV0oaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYWI0OWJiN2UzZTUvNjgzNzZhNWY4MDA4MDZjMzhiNjNlYjUxX2xvZ28tYXZlbnVlJTIwY2FwaXRhbCUyMGdyb3VwLnN2ZylcXG5cXG4hW0ltYWdlIDgwXShodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82Mjk0N2JjMjU1ZGNmNTI5NDUxYjI3ZDZfdWMuc3ZnKVxcblxcbiFbSW1hZ2UgODFdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWFiNDliYjdlM2U1LzY4Mzc2MmU3YzQ2YWNkMjE4M2VmNGM4Y19zaGFrdWRvLWNsb3VkaHEtbG9nby5zdmcpXFxuXFxuU2VlIFNoYWt1ZG8gaW4gQWN0aW9uXFxuXFxuV2F0Y2ggdGhlIDMgTWludXRlIERlbW9cXG49PT09PT09PT09PT09PT09PT09PT09PVxcblxcbiogICBUaGlzIGZpZWxkIGlzIHJlcXVpcmVkXFxuXFxuRm9yIGluZm9ybWF0aW9uIGFib3V0IGhvdyBTaGFrdWRvIGhhbmRsZXMgeW91ciBwZXJzb25hbCBkYXRhLCBwbGVhc2Ugc2VlIG91ciBbKipQcml2YWN5IFBvbGljeSoqXShodHRwczovL3d3dy5zaGFrdWRvLmlvL3ByaXZhY3kpLlxcblxcblRoYW5rIHlvdSBmb3IgeW91ciBzdWJtaXNzaW9uLiBBIFNoYWt1ZG8gZXhwZXJ0IHdpbGwgYmUgaW4gdG91Y2ggd2l0aCB5b3Ugc2hvcnRseS4gXFxuXFxuSW4gdGhlIG1lYW50aW1lLCBmZWVsIGZyZWUgdG8gY2hlY2sgb3V0IG91ciBbZGF0YSBpbnNpZ2h0c10oaHR0cHM6Ly93d3cuc2hha3Vkby5pby9ibG9nLWNhdGVnb3JpZXMvaW5zaWdodHMpLCBbY2FzZSBzdHVkaWVzXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2ctY2F0ZWdvcmllcy9jYXNlLXN0dWRpZXMpLCBhbmQgW2xhdGVzdCBpbmR1c3RyeSBuZXdzXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2Jsb2ctY2F0ZWdvcmllcy9uZXdzKSB0aGF0IGhlbHAgZGF0YSB0ZWFtcyB3aW4uXFxuXFxuWyFbSW1hZ2UgODJdKGh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzYyZmU1OGNlN2Q2MWUwMTNlNWI5ZWU2N19iaV9jaGF0LWxlZnQtZG90cy1maWxsLnN2ZykgTGl2ZSBjaGF0IExpdmUgY2hhdCB3aWxsIHByb3ZpZGUgdGhlIHF1aWNrZXN0IGFuc3dlciB0byBhbnkgb2YgeW91ciBxdWVzdGlvbnMuXShodHRwczovL3d3dy5zaGFrdWRvLmlvL2ludGVncmF0aW9ucy9uOG4jKVxcblxcbk9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nIHdoaWxlIHN1Ym1pdHRpbmcgdGhlIGZvcm0uXFxuXFxu4qiJXFxuXFxuIVtJbWFnZSA4M10oaHR0cHM6Ly90LmNvLzEvaS9hZHNjdD9iY2k9NCZkdj1VVEMlMjZlbi1VUyUyNkdvb2dsZSUyMEluYy4lMjZMaW51eCUyMHg4Nl82NCUyNjI1NSUyNjgwMCUyNjYwMCUyNjQlMjYyNCUyNjgwMCUyNjYwMCUyNjAlMjZuYSZlY2k9MyZldmVudD0lN0IlN0QmZXZlbnRfaWQ9M2IyYjUxMjktMGM4MS00NjNhLTliY2UtNjViN2VjOWQ0N2MzJmludGVncmF0aW9uPWd0bSZwX2lkPVR3aXR0ZXImcF91c2VyX2lkPTAmcGxfaWQ9ODA3N2RmZTItYjI4Ny00Yzk4LWIyNDUtM2EyZjQ5ZjNhMTk5JnB0PVdoYXQlMjBpcyUyMG44biUzRiUyMERvY3MlMkMlMjBEZW1vJTIwYW5kJTIwSG93JTIwdG8lMjBEZXBsb3klMjAlN0MlMjBTaGFrdWRvJnR3X2RvY3VtZW50X2hyZWY9aHR0cHMlM0ElMkYlMkZ3d3cuc2hha3Vkby5pbyUyRmludGVncmF0aW9ucyUyRm44biZ0d19pZnJhbWVfc3RhdHVzPTAmdHhuX2lkPW90MXV0JnR5cGU9amF2YXNjcmlwdCZ2ZXJzaW9uPTIuMy4zNSkhW0ltYWdlIDg0XShodHRwczovL2FuYWx5dGljcy50d2l0dGVyLmNvbS8xL2kvYWRzY3Q/YmNpPTQmZHY9VVRDJTI2ZW4tVVMlMjZHb29nbGUlMjBJbmMuJTI2TGludXglMjB4ODZfNjQlMjYyNTUlMjY4MDAlMjY2MDAlMjY0JTI2MjQlMjY4MDAlMjY2MDAlMjYwJTI2bmEmZWNpPTMmZXZlbnQ9JTdCJTdEJmV2ZW50X2lkPTNiMmI1MTI5LTBjODEtNDYzYS05YmNlLTY1YjdlYzlkNDdjMyZpbnRlZ3JhdGlvbj1ndG0mcF9pZD1Ud2l0dGVyJnBfdXNlcl9pZD0wJnBsX2lkPTgwNzdkZmUyLWIyODctNGM5OC1iMjQ1LTNhMmY0OWYzYTE5OSZwdD1XaGF0JTIwaXMlMjBuOG4lM0YlMjBEb2NzJTJDJTIwRGVtbyUyMGFuZCUyMEhvdyUyMHRvJTIwRGVwbG95JTIwJTdDJTIwU2hha3VkbyZ0d19kb2N1bWVudF9ocmVmPWh0dHBzJTNBJTJGJTJGd3d3LnNoYWt1ZG8uaW8lMkZpbnRlZ3JhdGlvbnMlMkZuOG4mdHdfaWZyYW1lX3N0YXR1cz0wJnR4bl9pZD1vdDF1dCZ0eXBlPWphdmFzY3JpcHQmdmVyc2lvbj0yLjMuMzUpXCIsXCJwdWJsaXNoZWRUaW1lXCI6XCJXZWQsIDE3IERlYyAyMDI1IDIyOjMyOjA3IEdNVFwiLFwibWV0YWRhdGFcIjp7XCJsYW5nXCI6XCJlblwiLFwiZGVzY3JpcHRpb25cIjpcIkxlYXJuIGFib3V0IG44biwgd2hhdCBpdCBpcyBhbmQgaG93IHRvIHVzZSBpdC4gU2VlIGl0J3MgZG9jdW1lbnRpb24sIGludGVncmF0aW9ucyBhbmQgdHV0b3JpYWxzLlwiLFwib2c6dGl0bGVcIjpcIldoYXQgaXMgIG44bj8gRG9jcywgRGVtbyBhbmQgSG93IHRvIERlcGxveSAgIHwgU2hha3Vkb1wiLFwib2c6ZGVzY3JpcHRpb25cIjpcIkxlYXJuIGFib3V0IG44biwgd2hhdCBpdCBpcyBhbmQgaG93IHRvIHVzZSBpdC4gU2VlIGl0J3MgZG9jdW1lbnRpb24sIGludGVncmF0aW9ucyBhbmQgdHV0b3JpYWxzLlwiLFwib2c6aW1hZ2VcIjpbXCJodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NWQ1OTljMjczYTZiOTc1ZmRmYzA2MTVfbjhuLWxvZ28uc3ZnXCIsXCJodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhMmIxM2I3ZTNjNy82ODlmOGExOWE2MzJlZWQzZWM4MjYyMjRfc2hha3Vkby1vZ2ltYWdlLWF1ZzIwMjUuYXZpZlwiXSxcInR3aXR0ZXI6dGl0bGVcIjpcIldoYXQgaXMgIG44bj8gRG9jcywgRGVtbyBhbmQgSG93IHRvIERlcGxveSAgIHwgU2hha3Vkb1wiLFwidHdpdHRlcjpkZXNjcmlwdGlvblwiOlwiTGVhcm4gYWJvdXQgbjhuLCB3aGF0IGl0IGlzIGFuZCBob3cgdG8gdXNlIGl0LiBTZWUgaXQncyBkb2N1bWVudGlvbiwgaW50ZWdyYXRpb25zIGFuZCB0dXRvcmlhbHMuXCIsXCJ0d2l0dGVyOmltYWdlXCI6XCJodHRwczovL2Nkbi5wcm9kLndlYnNpdGUtZmlsZXMuY29tLzYyNTQ0N2M2N2I2MjFhYjQ5YmI3ZTNlNS82NWQ1OTljMjczYTZiOTc1ZmRmYzA2MTVfbjhuLWxvZ28uc3ZnXCIsXCJvZzp0eXBlXCI6XCJ3ZWJzaXRlXCIsXCJ0d2l0dGVyOmNhcmRcIjpcInN1bW1hcnlfbGFyZ2VfaW1hZ2VcIixcInZpZXdwb3J0XCI6XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MVwiLFwiZ29vZ2xlLXNpdGUtdmVyaWZpY2F0aW9uXCI6XCI4ZnVQQ0tTanMwOGFEaUtTYjJ2dVJOR3NIUW5BZkczWVUxXzNtRWk4d0xzXCJ9LFwiZXh0ZXJuYWxcIjp7XCJwcmVjb25uZWN0XCI6e1wiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9cIjp7fSxcImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vXCI6e1wiY3Jvc3NvcmlnaW5cIjpcImFub255bW91c1wifX0sXCJpY29uXCI6e1wiaHR0cHM6Ly9jZG4ucHJvZC53ZWJzaXRlLWZpbGVzLmNvbS82MjU0NDdjNjdiNjIxYTJiMTNiN2UzYzcvNjUwOGIzYjc2N2RkNWY0YzRmNWNlYjVlX3NoYWt1ZG8taWNvbi0zMi5wbmdcIjp7XCJ0eXBlXCI6XCJpbWFnZS94LWljb25cIn19LFwiYXBwbGUtdG91Y2gtaWNvblwiOntcImh0dHBzOi8vY2RuLnByb2Qud2Vic2l0ZS1maWxlcy5jb20vNjI1NDQ3YzY3YjYyMWEyYjEzYjdlM2M3LzY1MDhiM2JhMTg2MjU2NTM0MzBmMjczN19zaGFrdWRvLWljb24tMjU2LnBuZ1wiOnt9fSxcImNhbm9uaWNhbFwiOntcImh0dHBzOi8vd3d3LnNoYWt1ZG8uaW8vaW50ZWdyYXRpb25zL244blwiOnt9fX0sXCJ1c2FnZVwiOntcInRva2Vuc1wiOjc5ODZ9fSx7XCJ0aXRsZVwiOlwibjhuXCIsXCJ1cmxcIjpcImh0dHBzOi8vd3d3LmdlZWtzZm9yZ2Vla3Mub3JnL2RhdGEtc2NpZW5jZS93aGF0LWlzLW44bi9cIixcImRlc2NyaXB0aW9uXCI6XCJZb3VyIEFsbC1pbi1PbmUgTGVhcm5pbmcgUG9ydGFsOiBHZWVrc2ZvckdlZWtzIGlzIGEgY29tcHJlaGVuc2l2ZSBlZHVjYXRpb25hbCBwbGF0Zm9ybSB0aGF0IGVtcG93ZXJzIGxlYXJuZXJzIGFjcm9zcyBkb21haW5zLXNwYW5uaW5nIGNvbXB1dGVyIHNjaWVuY2UgYW5kIHByb2dyYW1taW5nLCBzY2hvb2wgZWR1Y2F0aW9uLCB1cHNraWxsaW5nLCBjb21tZXJjZSwgc29mdHdhcmUgdG9vbHMsIGNvbXBldGl0aXZlIGV4YW1zLCBhbmQgbW9yZS5cIixcImRhdGVcIjpcIk9jdCAyNCwgMjAyNVwiLFwiY29udGVudFwiOlwiTGFzdCBVcGRhdGVkIDogMjQgT2N0LCAyMDI1XFxuXFxuSW1wcm92ZVxcblxcbm44biBhbiBvcGVuLXNvdXJjZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHBsYXRmb3JtLCBlbmFibGVzIHVzZXJzIHRvIHZpc3VhbGx5IGNyZWF0ZSB3b3JrZmxvd3Mgd2l0aCBhIG5vZGUtYmFzZWQgaW50ZXJmYWNlLiBVbmxpa2UgdHlwaWNhbCBuby1jb2RlIHRvb2xzLCBpdCBzdXBwb3J0cyBkZXZlbG9wZXJzIHdpdGggSmF2YVNjcmlwdCwgQVBJIGNhbGxzIGFuZCBzZWxmLWhvc3RpbmcuIFdpdGggb3ZlciAyMDAgaW50ZWdyYXRpb25zIGxpa2UgR29vZ2xlIFNoZWV0cywgU2xhY2ssIEdpdEh1YiwgZXRjLiBJdCBvZmZlcnMgY2xvdWQtYmFzZWQgYW5kIHNlbGYtaG9zdGVkIG9wdGlvbnMsIHByb3ZpZGluZyBidXNpbmVzc2VzIGZsZXhpYmlsaXR5IGluIHdvcmtmbG93IG1hbmFnZW1lbnQuXFxuXFxuIVtJbWFnZSAxOiBLZXktRmVhdHVyZXMtb2YtbjhuX3VwZGF0ZWQud2VicF0oaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA2MjYxMTU2MzA4ODkzMjgvS2V5LUZlYXR1cmVzLW9mLW44bl91cGRhdGVkLndlYnApIVtJbWFnZSAyOiBLZXktRmVhdHVyZXMtb2YtbjhuX3VwZGF0ZWQud2VicF0oaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA2MjYxMTU2MzA4ODkzMjgvS2V5LUZlYXR1cmVzLW9mLW44bl91cGRhdGVkLndlYnApXFxuXFxuIVtJbWFnZSAzOiBCZW5lZml0cy1vZi1Vc2luZy1uOG5fdXBkYXRlZC53ZWJwXShodHRwczovL21lZGlhLmdlZWtzZm9yZ2Vla3Mub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1MDYyNjExNTgyMjkxOTY0NS9CZW5lZml0cy1vZi1Vc2luZy1uOG5fdXBkYXRlZC53ZWJwKSFbSW1hZ2UgNDogQmVuZWZpdHMtb2YtVXNpbmctbjhuX3VwZGF0ZWQud2VicF0oaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA2MjYxMTU4MjI5MTk2NDUvQmVuZWZpdHMtb2YtVXNpbmctbjhuX3VwZGF0ZWQud2VicClcXG5cXG4xIC8gMlxcblxcbkhvdyB0byBVc2UgbjhuP1xcbi0tLS0tLS0tLS0tLS0tLVxcblxcblRvIHVzZSBuOG4gd2UgaGF2ZSAyIG9wdGlvbnM6XFxuXFxuMS4gICBXZSBjYW4gdXNlIHRoZWlyIHdlYiBpbnRlcmZhY2Ugb24gdGhlIHdlYnNpdGUgd2hpY2ggcmVxdWlyZXMgYW4gYWNjb3VudCBhbmQgYSBwYWlkIHN1YnNjcmlwdGlvbi5cXG4yLiAgIFNpbmNlIGl0IGlzIG9wZW4gc291cmNlLCB3ZSBjYW4gcnVuIGl0IGxvY2FsbHkgb3IgaG9zdCBvdXJzZWx2ZXMuIFRoaXMgaXMgZnJlZSB0byB1c2UgYW5kIGdpdmVzIGFjY2VzcyB0byBhbG1vc3QgYWxsIG9mIHRoZSBmZWF0dXJlcy4gXFxuXFxuIyMjICoqKipMb2NhbCBTZXR1cCBvZiBuOG4qKioqXFxuXFxuMS4gRG93bmxvYWQgYW5kIGluc3RhbGwgTm9kZS5qcyBmcm9tIHRoZSBvZmZpY2lhbCB3ZWJzaXRlLlxcblxcbjIuIE9wZW4gYSB0ZXJtaW5hbCBhbmQgcnVuIHRoZSBjb21tYW5kICoqKipucHggbjhuKioqKi4gQWZ0ZXIgcnVubmluZyB0aGUgY29tbWFuZCBpdCB3aWxsIHNob3c6XFxuXFxuIVtJbWFnZSA1OiB0ZXJtaW5hbC1vZi1uOG5dKGh0dHBzOi8vbWVkaWEuZ2Vla3Nmb3JnZWVrcy5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjUwNjI2MTEzNzIyNjIyOTAwL3Rlcm1pbmFsLW9mLW44bi53ZWJwKVxcblxcbnRlcm1pbmFsIFdpbmRvd1xcblxcbjMuIFRvIG9wZW4gdGhlIGludGVyZmFjZSwgZWl0aGVyIHByZXNzIFxcXCJvXFxcIiBvbiB0aGUga2V5Ym9hcmQgb3Igb3BlbiB0aGUgbG9jYWxob3N0IFVSTCBzaG93biBpbiB0aGUgdGVybWluYWwgaS5lIGh0dHA6Ly9sb2NhbGhvc3Q6NTY3OCAoY2FuIGJlIGRpZmZlcmVudCBmb3IgZGlmZmVyZW50IHVzZXJzKS4gSWYgdGhlIGluc3RhbGxhdGlvbiBpcyBkb25lIGNvcnJlY3RseSB0aGVuIHRoZSBpbnRlcmZhY2Ugb24gdGhlIGJyb3dzZXIgd2lsbCBsb29rIHNpbWlsYXIgdG8gdGhlIG9uZSBwcmVzZW50ZWQgYmVsb3cuXFxuXFxuIVtJbWFnZSA2OiBsb2NhbC10ZXJtaW5hbC1vZi1uOG5dKGh0dHBzOi8vbWVkaWEuZ2Vla3Nmb3JnZWVrcy5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjUwNjI2MTE1MjAxNzQzOTAyL2xvY2FsLXRlcm1pbmFsLW9mLW44bi53ZWJwKVxcblxcbkxvY2FsIFRlcm1pbmFsIG9mIG44blxcblxcbjQuIFRoZSB1c2VyIGNhbiBlbnRlciB0aGVpciBjcmVkZW50aWFscyBhbmQgdGhlbiB1c2UgdGhlIGZlYXR1cmVzIG9mIG44biBvbiB0aGVpciBsb2NhbCBzeXN0ZW1zLlxcblxcblNlbGYtSG9zdGluZyBuOG4gd2l0aCBEb2NrZXIgRGVza3RvcFxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbkFuIGFsdGVybmF0aXZlIHRvIHRoZSBOb2RlLmpzIG1ldGhvZCwgc2VsZi1ob3N0aW5nIG44biB3aXRoIERvY2tlciBEZXNrdG9wIG9mZmVycyBhIHVzZXItZnJpZW5kbHksIG5vLWNvZGUgc29sdXRpb24gZm9yIHJ1bm5pbmcgbjhuIGxvY2FsbHkuIERvY2tlciwgYSBwbGF0Zm9ybSB0aGF0IHBhY2thZ2VzIGFwcGxpY2F0aW9ucyBhbmQgdGhlaXIgZGVwZW5kZW5jaWVzIGludG8gY29udGFpbmVycywgc2ltcGxpZmllcyBzZXR1cCBieSBlbGltaW5hdGluZyBtYW51YWwgY29uZmlndXJhdGlvbi4gVGhpcyBtZXRob2QgaXMgaWRlYWwgZm9yIGJlZ2lubmVycyBvciB0aG9zZSBhdm9pZGluZyB0ZXJtaW5hbCBjb21tYW5kcyB3aGlsZSBzdGlsbCBwcm92aWRpbmcgdGhlIHByaXZhY3ksIGNvbnRyb2wgYW5kIHNjYWxhYmlsaXR5IGJlbmVmaXRzIG9mIHNlbGYtaG9zdGluZyBoaWdobGlnaHRlZCBpbiB0aGUgS2V5IEZlYXR1cmVzIHNlY3Rpb24uXFxuXFxuIyMjICoqKipXaHkgVXNlIERvY2tlciBmb3IgbjhuPyoqKipcXG5cXG4qICAgKioqKlNpbXBsaWNpdHkqKioqOiBEb2NrZXIgYnVuZGxlcyBuOG7igJlzIGRlcGVuZGVuY2llcyAoZS5nLiwgbGlicmFyaWVzLCB0b29scykgaW50byBhIHNpbmdsZSBjb250YWluZXIsIHN0cmVhbWxpbmluZyBzZXR1cC5cXG4qICAgKioqKlBvcnRhYmlsaXR5KioqKjogQ29udGFpbmVycyBydW4gY29uc2lzdGVudGx5IGFjcm9zcyBsb2NhbCBtYWNoaW5lcyBvciBjbG91ZCBwcm92aWRlcnMuXFxuKiAgICoqKipJc29sYXRpb24qKioqOiBuOG4gb3BlcmF0ZXMgaW5kZXBlbmRlbnRseSwgYXZvaWRpbmcgY29uZmxpY3RzIHdpdGggb3RoZXIgYXBwbGljYXRpb25zLlxcbiogICAqKioqU2NhbGFiaWxpdHkqKioqOiBFYXNpbHkgZGVwbG95IG11bHRpcGxlIGNvbnRhaW5lcnMgZm9yIGNvbXBsZXggd29ya2Zsb3dzIG9yIGluY3JlYXNlZCB3b3JrbG9hZHMuXFxuXFxuIyMjICoqKipQcmVyZXF1aXNpdGVzKioqKlxcblxcbiogICBBIGNvbXB1dGVyIHdpdGggV2luZG93cywgbWFjT1Mgb3IgTGludXguXFxuKiAgIEFuIGludGVybmV0IGNvbm5lY3Rpb24gdG8gZG93bmxvYWQgRG9ja2VyIERlc2t0b3AgYW5kIHRoZSBuOG4gaW1hZ2UuXFxuKiAgIE9wdGlvbmFsOiBFeGlzdGluZyBuOG4gY2xvdWQgd29ya2Zsb3dzIGZvciBtaWdyYXRpb24uXFxuXFxuIyMjICoqKipTdGVwLWJ5LVN0ZXAgR3VpZGU6KioqKlxcblxcbioqKioxLiBJbnN0YWxsIERvY2tlciBEZXNrdG9wKioqKjpcXG5cXG4hW0ltYWdlIDc6IERvY2tlci1EZXNrdG9wXShodHRwczovL21lZGlhLmdlZWtzZm9yZ2Vla3Mub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1MDcyNTE1MDEyNjYyNTk1OC9Eb2NrZXItRGVza3RvcC53ZWJwKVxcblxcbkluc3RhbGxhdGlvbiBvZiBEb2NrZXIgRGVza3RvcFxcblxcbiogICBEb3dubG9hZCBEb2NrZXIgRGVza3RvcCBmb3IgeW91ciBvcGVyYXRpbmcgc3lzdGVtLlxcbiogICBGb3IgbWFjT1MgdXNlcnMgd2l0aCBNMS9NMi9NMyBjaGlwcywgc2VsZWN0IHRoZSBBcHBsZSBTaWxpY29uIHZlcnNpb24uXFxuKiAgIEluc3RhbGwgYW5kIGxhdW5jaCBEb2NrZXIgRGVza3RvcC5cXG5cXG4qKioqMi4gQ3JlYXRlIGEgRGF0YSBGb2xkZXIqKioqOlxcblxcbkNyZWF0ZSBhIGZvbGRlciBuYW1lZCBuOG4tZGF0YSBpbiB5b3VyIGhvbWUgZGlyZWN0b3J5IHRvIHN0b3JlIHdvcmtmbG93cywgY3JlZGVudGlhbHMgYW5kIGNvbmZpZ3VyYXRpb25zIGZvciBkYXRhIHBlcnNpc3RlbmNlLlxcblxcbiogICAqKioqTWFjT1MvTGludXgqKioqOiBVc2UgeW91ciBmaWxlIGV4cGxvcmVyIG9yIHJ1biBta2RpciB+L244bi1kYXRhIGluIGEgdGVybWluYWwuXFxuKiAgICoqKipXaW5kb3dzKioqKjogQ3JlYXRlIHRoZSBmb2xkZXIgaW4gQzpcXFxcVXNlcnNcXFxcWW91clVzZXJuYW1lXFxcXG44bi1kYXRhIHZpYSBGaWxlIEV4cGxvcmVyLlxcblxcbiFbSW1hZ2UgODogQ1JFQVRFLUEtRk9MREVSXShodHRwczovL21lZGlhLmdlZWtzZm9yZ2Vla3Mub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1MDcyNTE1MjAxNzA3MTA2MS9DUkVBVEUtQS1GT0xERVIud2VicClcXG5cXG5DcmVhdGUgYSBuZXcgZm9sZGVyIG9mIG44biBEYXRhXFxuXFxuKioqKjMuIFB1bGwgdGhlIG44biBJbWFnZSoqKio6XFxuXFxuKiAgIEluIERvY2tlciBEZXNrdG9wLCBnbyB0byB0aGUgSW1hZ2VzIHRhYiBhbmQgc2VhcmNoIGZvciBuOG4uaW8vbjhuLlxcbiogICBTZWxlY3QgdGhlIG9mZmljaWFsIGltYWdlICgxMDBNKyBkb3dubG9hZHMsIGhpZ2ggc3RhciByYXRpbmcpIGFuZCBjbGljayBQdWxsLlxcblxcbiFbSW1hZ2UgOTogcHVsbF0oaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA3MjUxNTI2MzYzOTMxOTgvcHVsbC53ZWJwKVxcblxcblB1bGwgdGhlIG44biBJbWFnZVxcblxcbioqKio0LiBSdW4gdGhlIG44biBDb250YWluZXIqKioqOlxcblxcbiogICBJbiB0aGUgSW1hZ2VzIHRhYiwgbG9jYXRlIG44bi5pby9uOG4gYW5kIGNsaWNrIFJ1bi5cXG4qICAgQ29uZmlndXJlIHRoZSBjb250YWluZXI6IFxcbiogICAqKioqQ29udGFpbmVyIE5hbWUqKioqOiBTZXQgdG8gbjhuLWNvbnRhaW5lci5cXG4qICAgKioqKkhvc3QgUG9ydCoqKio6IEVudGVyIDU2NzggdG8gYWNjZXNzIG44biBhdCBodHRwOi8vbG9jYWxob3N0OjU2NzguXFxuKiAgICoqKipWb2x1bWUqKioqOiBTZWxlY3QgdGhlIG44bi1kYXRhIGZvbGRlciBhbmQgc2V0IHRoZSBjb250YWluZXIgcGF0aCB0byAvaG9tZS9ub2RlLy5uOG4gZm9yIGRhdGEgc3luY2luZy5cXG4qICAgQ2xpY2sgUnVuIHRvIHN0YXJ0IHRoZSBjb250YWluZXIuXFxuXFxuIVtJbWFnZSAxMDogbjhuLWNvbnRhaW5lcl0oaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA3MjUxNTM1NDIxMjI1NzAvbjhuLWNvbnRhaW5lci53ZWJwKVxcblxcblJ1biB0aGUgbjhuIENvbnRhaW5lclxcblxcbiFbSW1hZ2UgMTE6IGhvc3QtcGF0aC1jbGlja10oaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA3MjUxNTMzMTQyNjQwMzcvaG9zdC1wYXRoLWNsaWNrLndlYnApXFxuXFxuUnVuIHRoZSBuOG4gQ29udGFpbmVyXFxuXFxuKioqKjUuIEFjY2VzcyBuOG4qKioqOlxcblxcbiogICBPcGVuIGEgYnJvd3NlciBhbmQgZ28gdG8gaHR0cDovL2xvY2FsaG9zdDo1Njc4LlxcbiogICBDcmVhdGUgYW4gYWNjb3VudCB3aXRoIGEgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIChpbmRlcGVuZGVudCBvZiBjbG91ZCBhY2NvdW50cykuXFxuKiAgIENvbXBsZXRlIHRoZSBvbmJvYXJkaW5nIHByb21wdHMgdG8gY3VzdG9taXplIHlvdXIgaW5zdGFuY2UuXFxuXFxuKioqKjYuIE1hbmFnZSB0aGUgQ29udGFpbmVyKioqKjpcXG5cXG4qICAgU3RvcCB0aGUgY29udGFpbmVyIGluIERvY2tlciBEZXNrdG9w4oCZcyBDb250YWluZXJzIHRhYiBieSBjbGlja2luZyBTdG9wICh0aGUgaW50ZXJmYWNlIHdpbGwgYmUgaW5hY2Nlc3NpYmxlKS5cXG4qICAgUmVzdGFydCBieSBjbGlja2luZyBTdGFydCBhbmQgcmVmcmVzaCBodHRwOi8vbG9jYWxob3N0OjU2NzggdG8gcmVzdW1lLlxcblxcbiFbSW1hZ2UgMTI6IGxvY2FsLWhvc3RdKGh0dHBzOi8vbWVkaWEuZ2Vla3Nmb3JnZWVrcy5vcmcvd3AtY29udGVudC91cGxvYWRzLzIwMjUwNzI1MTU0MjMyMDA4NTEzL2xvY2FsLWhvc3Qud2VicClcXG5cXG5QYXN0ZSBpbnRvIHRoZSBicm93c2VyIG9mIGxvY2FsIGhvc3QgXFxuXFxuIVtJbWFnZSAxMzogbjhuLWRhc2hib2FyZF0oaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA3MjUxNTQyMTMyOTU2NzYvbjhuLWRhc2hib2FyZC53ZWJwKVxcblxcblN1Y2Nlc3NmdWxseSBvcGVuIGluIHRoZSBicm93c2VyXFxuXFxuKioqKlNlY3VyaW5nIFlvdXIgSW5zdGFuY2UqKioqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuVG8gcHJldmVudCB1bmF1dGhvcml6ZWQgYWNjZXNzOlxcblxcbjEuIEFkZCB0aGVzZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgaW4gRG9ja2VyIERlc2t0b3DigJlzIGNvbnRhaW5lciBzZXR0aW5nczpcXG5cXG4qICAgTjhOX0JBU0lDX0FVVEhfQUNUSVZFPXRydWVcXG4qICAgTjhOX0JBU0lDX0FVVEhfVVNFUj08eW91ci11c2VybmFtZT5cXG4qICAgTjhOX0JBU0lDX0FVVEhfUEFTU1dPUkQ9PHlvdXItcGFzc3dvcmQ+XFxuXFxuMi4gRm9yIHByb2R1Y3Rpb24sIHVzZSBhIHJldmVyc2UgcHJveHkgKGUuZy4sIE5naW54KSB3aXRoIEhUVFBTLiBTZWUgdGhlIG44biBkb2N1bWVudGF0aW9uIG9uIHRoZSBvZmZpY2lhbCB3ZWJzaXRlIGZvciBtb3JlIGRldGFpbHMuXFxuXFxuIyMjICoqKipNaWdyYXRpbmcgQ2xvdWQgV29ya2Zsb3dzKioqKlxcblxcblRvIGltcG9ydCB3b3JrZmxvd3MgZnJvbSBhIGNsb3VkIG44biBhY2NvdW50OlxcblxcbjEuICAgRXhwb3J0IHdvcmtmbG93cyBhcyBKU09OIGZpbGVzIGZyb20gdGhlIGNsb3VkIGludGVyZmFjZSAodG9wLXJpZ2h0IG1lbnUgPiBEb3dubG9hZCkuXFxuMi4gICBJbiB5b3VyIHNlbGYtaG9zdGVkIG44biwgZ28gdG8gV29ya2Zsb3dzID4gSW1wb3J0IGZyb20gRmlsZSBhbmQgc2VsZWN0IHRoZSBKU09OIGZpbGUuXFxuMy4gICBSZS1hZGQgY3JlZGVudGlhbHMgbWFudWFsbHksIGFzIHRoZXkgZG9u4oCZdCB0cmFuc2Zlci4gQ2hlY2sgdmVyc2lvbiBjb21wYXRpYmlsaXR5IHRvIGF2b2lkIGVycm9ycy5cXG5cXG4qKioqRXhhbXBsZSBXb3JrZmxvdzoqKioqIEdvb2dsZSBTaGVldHMgdG8gU2xhY2sgVG8gYXBwbHkgbjhu4oCZcyB1c2UgY2FzZXMgKGUuZy4sIGRhdGEgc3luY2hyb25pemF0aW9uKTpcXG5cXG4xLiAgIENyZWF0ZSBhIHdvcmtmbG93IGluIHRoZSBuOG4gZWRpdG9yLlxcbjIuICAgQWRkIGEgR29vZ2xlIFNoZWV0cyB0cmlnZ2VyIG5vZGUgZm9yIG5ldyByb3dzLlxcbjMuICAgQWRkIGEgU2xhY2sgbm9kZSB0byBzZW5kIG5vdGlmaWNhdGlvbnMuXFxuNC4gICBDb25maWd1cmUgY3JlZGVudGlhbHMsIHNhdmUgYW5kIGFjdGl2YXRlIHRoZSB3b3JrZmxvdy5cXG5cXG4hW0ltYWdlIDE0OiBhZ2VudC1mbG93XShodHRwczovL21lZGlhLmdlZWtzZm9yZ2Vla3Mub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1MDcyNTE1NDUxMTUxODUwNC9hZ2VudC1mbG93LndlYnApXFxuXFxuTWlncmF0aW5nIENsb3VkIFdvcmtmbG93cyBcXG5cXG4jIyMgKioqKlRyb3VibGVzaG9vdGluZyoqKipcXG5cXG4qICAgKioqKlBvcnQgQ29uZmxpY3QqKioqOiBJZiBodHRwOi8vbG9jYWxob3N0OjU2NzggZmFpbHMsIGNoYW5nZSB0aGUgaG9zdCBwb3J0IChlLmcuLCB0byA1Njc5KSBpbiBEb2NrZXIgRGVza3RvcC5cXG4qICAgKioqKkRvY2tlciBJc3N1ZXMqKioqOiBFbnN1cmUgRG9ja2VyIERlc2t0b3AgaXMgcnVubmluZyBhbmQgeW91IGhhdmUgc3VmZmljaWVudCBkaXNrIHNwYWNlLlxcbiogICAqKioqRGF0YSBMb3NzKioqKjogVmVyaWZ5IHRoZSBuOG4tZGF0YSBmb2xkZXIgaXMgbWFwcGVkIHRvIC9ob21lL25vZGUvLm44bi5cXG5cXG5UaGlzIG1ldGhvZCBlbXBvd2VycyB5b3UgdG8gbGV2ZXJhZ2Ugbjhu4oCZcyBmdWxsIHBvdGVudGlhbCBsb2NhbGx5LCBzdXBwb3J0aW5nIEFJIGF1dG9tYXRpb24sIGRhdGEgc3luY2luZyBhbmQgbW9yZSwgYXMgZGVzY3JpYmVkIGluIHRoZSB1c2UgY2FzZXMgc2VjdGlvbi5cXG5cXG4jIyMgV29ya2Zsb3dcXG5cXG5uOG4gd29ya3MgYnkgZW5hYmxpbmcgdXNlcnMgdG8gY3JlYXRlIHdvcmtmbG93cyB0aGF0IGNvbnNpc3Qgb2YgYSBzZXJpZXMgb2Ygbm9kZXMuIFRoZXNlIG5vZGVzIGFyZSBjb25uZWN0ZWQgaW4gYSBzZXF1ZW5jZSB0byBkZWZpbmUgdGhlIGZsb3cgb2YgdGhlIGF1dG9tYXRpb24uIExldHMgdW5kZXJzdGFuZCB0aGUgc3RlcHMgd2l0aCBleGFtcGxlczpcXG5cXG4xLiAgICoqKipUcmlnZ2VyKioqKjogQSB3b3JrZmxvdyBzdGFydHMgd2l0aCBhIHRyaWdnZXIgc3VjaCBhcyBhIG5ldyBlbWFpbCBpbiBHbWFpbCBvciBhIG5ldyBlbnRyeSBpbiBhIEdvb2dsZSBTaGVldC5cXG4yLiAgICoqKipBY3Rpb24qKioqOiBCYXNlZCBvbiB0aGUgdHJpZ2dlciB0aGUgd29ya2Zsb3cgY2FuIHBlcmZvcm0gb25lIG9yIG1vcmUgYWN0aW9ucyBsaWtlIHNlbmRpbmcgYSBTbGFjayBtZXNzYWdlLCBwb3N0aW5nIHRvIGEgVHdpdHRlciBhY2NvdW50IG9yIHN0b3JpbmcgZGF0YSBpbiBhIGRhdGFiYXNlLlxcbjMuICAgKioqKkNvbmRpdGlvbnMqKioqOiBXZSBjYW4gaW5jbHVkZSBjb25kaXRpb25hbCBsb2dpYyBpbiBvdXIgd29ya2Zsb3cgc3VjaCBhcyBcXFwiaWYgdGhpcyBjb25kaXRpb24gaXMgdHJ1ZSwgZG8gdGhhdDsgb3RoZXJ3aXNlIGVsc2UgZG8gc29tZXRoaW5nIGVsc2VcXFwiLlxcbjQuICAgKioqKk91dHB1dCoqKio6IEZpbmFsbHksIHRoZSB3b3JrZmxvdyBjYW4gZ2VuZXJhdGUgYW4gb3V0cHV0IHN1Y2ggYXMgc2VuZGluZyBhbiBlbWFpbCBvciBzdG9yaW5nIGRhdGEuXFxuXFxuVGVjaG5pY2FsIFVzZSBDYXNlc1xcbi0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG4qKioqMS4gQUkgV29ya2Zsb3cgQXV0b21hdGlvbioqKio6IEludGVncmF0ZXMgQUkgdG9vbHMgbGlrZSBPcGVuQUkncyBHUFQtNG8gb3IgV2hpc3BlciB0bzpcXG5cXG4qICAgR2VuZXJhdGUgbWVldGluZyBzdW1tYXJpZXMgZm9yIFNsYWNrIG9yIE5vdGlvbi5cXG4qICAgQW5hbHl6ZSBzYWxlcyBkYXRhIGZvciBkYXNoYm9hcmQgcmVwb3J0cy5cXG4qICAgQnVpbGQgTkxQIHBpcGVsaW5lcyBmb3IgZGF0YS1kcml2ZW4gYWN0aW9ucy5cXG5cXG4qKioqMi4gRGF0YSBTeW5jaHJvbml6YXRpb24qKioqOiBFbnN1cmVzIHJlYWwtdGltZSBkYXRhIHN5bmNpbmc6XFxuXFxuKiAgIFN5bmNzIGN1c3RvbWVyIHJlY29yZHMgYWNyb3NzIFBvc3RncmVTUUwsIEdvb2dsZSBTaGVldHMgYW5kIEFpcnRhYmxlLlxcbiogICBBdXRvbWF0ZXMgYmFja3VwcyBhbmQgRVRMIHBpcGVsaW5lcyBmb3IgYW5hbHl0aWNzIGRhc2hib2FyZHMgbGlrZSBMb29rZXIuXFxuXFxuKioqKjMuIEFJIEFnZW50IENyZWF0aW9uKioqKjogQnVpbGRzIEFJIGFnZW50cyB0bzpcXG5cXG4qICAgTW9uaXRvciBlbWFpbHMgYW5kIHRha2UgYWN0aW9ucyBiYXNlZCBvbiBjb250ZXh0LlxcbiogICBVc2UgZGVjaXNpb24gbm9kZXMgZm9yIGxlYWQgc2NvcmluZywgbWVzc2FnaW5nIG9yIGlzc3VlIGVzY2FsYXRpb24uXFxuKiAgIENyZWF0ZSBhdXRvbm9tb3VzIHdvcmtmbG93cyB3aXRoIEFQSXMgYW5kIGxvZ2ljLlxcblxcbioqKio0LiBTYWxlcyBhbmQgQ1JNIEF1dG9tYXRpb24qKioqOiBBdXRvbWF0ZXMgbGVhZCBtYW5hZ2VtZW50OlxcblxcbiogICBDYXB0dXJlcyBsZWFkcyBmcm9tIGZvcm1zLlxcbiogICBFbnJpY2hlcyBkYXRhIHdpdGggQ2xlYXJiaXQgb3IgQXBvbGxvLlxcbiogICBBc3NpZ25zIGxlYWRzIGFuZCB0cmlnZ2VycyBlbWFpbHMgb3IgU2xhY2sgYWxlcnRzLlxcblxcbioqKio1LiBDdXN0b21lciBTdXBwb3J0IEF1dG9tYXRpb24qKioqOiBTdHJlYW1saW5lcyBzdXBwb3J0OlxcblxcbiogICBEcmFmdHMgdGlja2V0IHJlc3BvbnNlcyB1c2luZyBHUFQtNG8uXFxuKiAgIENhdGVnb3JpemVzIHRpY2tldHMgYnkgdG9uZS9rZXl3b3Jkcy5cXG4qICAgVXBkYXRlcyBDUk1zIGFuZCBlc2NhbGF0ZXMgaGlnaC1wcmlvcml0eSB0aWNrZXRzLlxcblxcblN1Z2dlc3RlZCBRdWl6XFxuXFxuMTAgUXVlc3Rpb25zXFxuXFxuV2hhdCBraW5kIG9mIHRvb2wgaXMgbjhuP1xcblxcbiogICBBIFxcbkEgd29ya2Zsb3cgYXV0b21hdGlvbiBvciBpbnRlZ3JhdGlvbiB0b29sXFxuXFxuKiAgIEIgXFxuQSBkZWVwIGxlYXJuaW5nIGZyYW1ld29ya1xcblxcbiogICBDIFxcbkEgZGF0YWJhc2Ugc3lzdGVtXFxuXFxuKiAgIEQgXFxuQSBmcm9udC1lbmQgVUkgZnJhbWV3b3JrXFxuXFxuRXhwbGFuYXRpb246XFxuXFxubjhuIGlzIGRlc2lnbmVkIHRvIGF1dG9tYXRlIHRhc2tzIGFuZCBpbnRlZ3JhdGUgZGF0YSBiZXR3ZWVuIGRpZmZlcmVudCBhcHBsaWNhdGlvbnMuXFxuXFxuV2hpY2ggb2YgdGhlIGZvbGxvd2luZyBpcyBhIGNvcmUgY29uY2VwdCBpbiBuOG4/XFxuXFxuKiAgIEEgXFxuTm9kZXMgYW5kIHdvcmtmbG93c1xcblxcbiogICBCIFxcbkxheWVycyBhbmQgZXBvY2hzXFxuXFxuKiAgIEMgXFxuVGFibGVzIGFuZCBqb2luc1xcblxcbiogICBEIFxcbkZyYW1lcyBhbmQgc2NlbmVzXFxuXFxuRXhwbGFuYXRpb246XFxuXFxuV29ya2Zsb3dzIGFyZSBidWlsdCBmcm9tIG5vZGVzLCB3aGVyZSBlYWNoIG5vZGUgcmVwcmVzZW50cyBhIHN0ZXAgb3IgYWN0aW9uIGluIHRoZSBhdXRvbWF0aW9uLlxcblxcbkhvdyBhcmUgd29ya2Zsb3dzIHRyaWdnZXJlZCBpbiBuOG4/XFxuXFxuKiAgIEEgXFxuT25seSBtYW51YWxseVxcblxcbiogICBCIFxcbkF1dG9tYXRpY2FsbHkgd2l0aG91dCB0cmlnZ2Vyc1xcblxcbiogICBDIFxcbkJ5IHVzZXIgbG9naW4gb25seVxcblxcbiogICBEIFxcblZpYSB0cmlnZ2VyIG5vZGVzXFxuXFxuRXhwbGFuYXRpb246XFxuXFxuV29ya2Zsb3dzIHN0YXJ0IHdoZW4gdHJpZ2dlciBub2RlcyBkZXRlY3QgYW4gZXZlbnQgc3VjaCBhcyBhIG5ldyBmaWxlIG9yIEFQSSBjYWxsLlxcblxcbkNhbiBuOG4gYmUgc2VsZi1ob3N0ZWQ/XFxuXFxuKiAgIEEgXFxuTm8sIGl0J3Mgb25seSBjbG91ZFxcblxcbiogICBCIFxcbk9ubHkgdmlhIHRoaXJkLXBhcnR5IHNlcnZpY2VzXFxuXFxuKiAgIEMgXFxuWWVzLCBpdCBzdXBwb3J0cyBzZWxmLWhvc3RpbmdcXG5cXG4qICAgRCBcXG5Pbmx5IHBhcnRpYWxseVxcblxcbkV4cGxhbmF0aW9uOlxcblxcbm44biBjYW4gYmUgcnVuIG9uIHlvdXIgb3duIHNlcnZlcnMsIGdpdmluZyBmdWxsIGNvbnRyb2wgb3ZlciB3b3JrZmxvd3MgYW5kIGRhdGEuXFxuXFxuV2hhdCBpcyB0aGUgYWR2YW50YWdlIG9mIG44biBiZWluZyBvcGVuLXNvdXJjZT9cXG5cXG4qICAgQSBcXG5Zb3UgcGF5IG1vcmVcXG5cXG4qICAgQiBcXG5JdCBoYXMgbm8gY29tbXVuaXR5IHN1cHBvcnRcXG5cXG4qICAgQyBcXG5JdCBpcyBjbG9zZWQgdG8gZXh0ZW5kXFxuXFxuKiAgIEQgXFxuWW91IGNhbiBpbnNwZWN0LCBtb2RpZnkgYW5kIGV4dGVuZCBpdFxcblxcbkV4cGxhbmF0aW9uOlxcblxcbkJlaW5nIG9wZW4tc291cmNlIGFsbG93cyB1c2VycyB0byB2aWV3LCBjdXN0b21pemUgYW5kIGVuaGFuY2UgdGhlIHNvZnR3YXJlIGZyZWVseS5cXG5cXG5XaGljaCBsYW5ndWFnZSBvciBlbnZpcm9ubWVudCBkb2VzIG44biB1c2UgdW5kZXIgdGhlIGhvb2Q/XFxuXFxuKiAgIEEgXFxuUHl0aG9uXFxuXFxuKiAgIEIgXFxuSmF2YVxcblxcbiogICBDIFxcbk5vZGUuanMgb3IgSmF2YVNjcmlwdCBvciBUeXBlU2NyaXB0XFxuXFxuKiAgIEQgXFxuUnVieVxcblxcbkV4cGxhbmF0aW9uOlxcblxcbm44biBpcyBidWlsdCBvbiBOb2RlLmpzIGVuYWJsaW5nIGl0IHRvIHJ1biBKYXZhU2NyaXB0IG9yIFR5cGVTY3JpcHQgd29ya2Zsb3dzIGVmZmljaWVudGx5LlxcblxcbldoYXQgaXMgYSDigJxub2Rl4oCdIGluIG44bj9cXG5cXG4qICAgQSBcXG5BIG1hY2hpbmUgaW4gYSBuZXR3b3JrXFxuXFxuKiAgIEIgXFxuQSBzdGVwIGluIGEgd29ya2Zsb3cgcmVwcmVzZW50aW5nIGFuIGFjdGlvbiwgQVBJIGNhbGwgb3IgdHJpZ2dlclxcblxcbiogICBDIFxcbkEgZGF0YWJhc2UgcmVjb3JkXFxuXFxuKiAgIEQgXFxuQSB1c2VyIGludGVyZmFjZSBjb21wb25lbnRcXG5cXG5FeHBsYW5hdGlvbjpcXG5cXG5FYWNoIG5vZGUgcGVyZm9ybXMgYSBzcGVjaWZpYyB0YXNrIGxpa2UgZmV0Y2hpbmcgZGF0YSwgdHJhbnNmb3JtaW5nIGl0IG9yIGNhbGxpbmcgYW4gQVBJLlxcblxcbklzIGNvZGluZyByZXF1aXJlZCB0byB1c2UgbjhuIHdvcmtmbG93cz9cXG5cXG4qICAgQSBcXG5ZZXMsIGFsd2F5c1xcblxcbiogICBCIFxcbk5vLCBpdCBzdXBwb3J0cyBuby1jb2RlIG9yIGxvdy1jb2RlIG5vZGVzXFxuXFxuKiAgIEMgXFxuT25seSBmb3IgdHJpZ2dlcnNcXG5cXG4qICAgRCBcXG5Pbmx5IGluIGVudGVycHJpc2UgZWRpdGlvblxcblxcbkV4cGxhbmF0aW9uOlxcblxcbm44biBpcyB1c2VyLWZyaWVuZGx5IGFuZCBhbGxvd3MgYnVpbGRpbmcgd29ya2Zsb3dzIHdpdGhvdXQgd3JpdGluZyBjb2RlIGZvciBtb3N0IHRhc2tzLlxcblxcbldoaWNoIG9mIHRoZXNlIHRhc2tzIGlzIG44biBjb21tb25seSB1c2VkIGZvcj9cXG5cXG4qICAgQSBcXG5SZWFsLXRpbWUgZ2FtaW5nIGVuZ2luZVxcblxcbiogICBCIFxcbkF1dG9tYXRpbmcgZGF0YSBmbG93cyBiZXR3ZWVuIGFwcHNcXG5cXG4qICAgQyBcXG4zRCByZW5kZXJpbmdcXG5cXG4qICAgRCBcXG5DcnlwdG9ncmFwaGljIGhhc2hpbmcgb25seVxcblxcbkV4cGxhbmF0aW9uOlxcblxcbm44biBpcyB3aWRlbHkgdXNlZCB0byBjb25uZWN0IGFwcHMsIHRyYW5zZmVyIGRhdGEgYW5kIGF1dG9tYXRlIHJlcGV0aXRpdmUgdGFza3MuXFxuXFxuV2hhdCBzZXRzIG44biBhcGFydCBjb21wYXJlZCB0byB0b29scyBsaWtlIFphcGllcj9cXG5cXG4qICAgQSBcXG5JdCBjYW5ub3QgaW50ZWdyYXRlIEFQSXNcXG5cXG4qICAgQiBcXG5JdCBpcyBjbG9zZWQgc291cmNlXFxuXFxuKiAgIEMgXFxuTW9yZSBmbGV4aWJpbGl0eSwgYWJpbGl0eSB0byBzZWxmLWhvc3QsIGRlZXBlciBjdXN0b21pemF0aW9uXFxuXFxuKiAgIEQgXFxuRmV3ZXIgZmVhdHVyZXNcXG5cXG5FeHBsYW5hdGlvbjpcXG5cXG5Db21wYXJlZCB0byBaYXBpZXIsIG44biBwcm92aWRlcyBncmVhdGVyIGNvbnRyb2wsIGN1c3RvbWl6YXRpb24gYW5kIHRoZSBvcHRpb24gdG8gcnVuIHdvcmtmbG93cyBsb2NhbGx5LlxcblxcbiFbSW1hZ2UgMTVdKGh0dHBzOi8vbWVkaWEuZ2Vla3Nmb3JnZWVrcy5vcmcvYXV0aC1kYXNoYm9hcmQtdXBsb2Fkcy9zdWNlc3MtaW1nLnBuZylcXG5cXG5RdWl6IENvbXBsZXRlZCBTdWNjZXNzZnVsbHlcXG5cXG5Zb3VyIFNjb3JlIDogIDIvMTBcXG5cXG5BY2N1cmFjeSA6IDAlXFxuXFxuTG9naW4gdG8gVmlldyBFeHBsYW5hdGlvblxcblxcbjEvMTBcXG5cXG4xLzEwIDwgUHJldmlvdXMgIE5leHQgPlxcblxcbkltcHJvdmVcIixcInB1Ymxpc2hlZFRpbWVcIjpcIjIwMjUtMDctMDEgMTI6MjA6MDBcIixcIm1ldGFkYXRhXCI6e1wibGFuZ1wiOlwiZW4tVVNcIixcInZpZXdwb3J0XCI6XCJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCBtaW5pbXVtLXNjYWxlPTAuNSwgbWF4aW11bS1zY2FsZT0zLjBcIixcInJvYm90c1wiOlwiaW5kZXgsIGZvbGxvdywgbWF4LWltYWdlLXByZXZpZXc6bGFyZ2UsIG1heC1zbmlwcGV0Oi0xXCIsXCJ0aGVtZS1jb2xvclwiOlwiIzMwOEQ0NlwiLFwiaW1hZ2VcIjpcImh0dHBzOi8vbWVkaWEuZ2Vla3Nmb3JnZWVrcy5vcmcvd3AtY29udGVudC9jZG4tdXBsb2Fkcy9nZmdfMjAweDIwMC1taW4ucG5nXCIsXCJvZzppbWFnZTp0eXBlXCI6XCJpbWFnZS9wbmdcIixcIm9nOmltYWdlOndpZHRoXCI6XCIyMDBcIixcIm9nOmltYWdlOmhlaWdodFwiOlwiMjAwXCIsXCJmYWNlYm9vay1kb21haW4tdmVyaWZpY2F0aW9uXCI6XCJ4bzd0NHZlMnduM3l3ZmtqZHZ3YnJrMDFwdmRvbmRcIixcIm9nOnRpdGxlXCI6XCJuOG4gLSBHZWVrc2ZvckdlZWtzXCIsXCJkZXNjcmlwdGlvblwiOlwiWW91ciBBbGwtaW4tT25lIExlYXJuaW5nIFBvcnRhbDogR2Vla3Nmb3JHZWVrcyBpcyBhIGNvbXByZWhlbnNpdmUgZWR1Y2F0aW9uYWwgcGxhdGZvcm0gdGhhdCBlbXBvd2VycyBsZWFybmVycyBhY3Jvc3MgZG9tYWlucy1zcGFubmluZyBjb21wdXRlciBzY2llbmNlIGFuZCBwcm9ncmFtbWluZywgc2Nob29sIGVkdWNhdGlvbiwgdXBza2lsbGluZywgY29tbWVyY2UsIHNvZnR3YXJlIHRvb2xzLCBjb21wZXRpdGl2ZSBleGFtcywgYW5kIG1vcmUuXCIsXCJvZzp1cmxcIjpcImh0dHBzOi8vd3d3LmdlZWtzZm9yZ2Vla3Mub3JnL2RhdGEtc2NpZW5jZS93aGF0LWlzLW44bi9cIixcImtleXdvcmRzXCI6XCJuOG4sIHdvcmtmbG93IGF1dG9tYXRpb24sIG9wZW4tc291cmNlIHBsYXRmb3JtLCBub2RlLWJhc2VkIGludGVyZmFjZSwgc2VsZi1ob3N0aW5nLCBEb2NrZXIgRGVza3RvcCwgZGF0YSBzeW5jaHJvbml6YXRpb24sIEFJIHdvcmtmbG93IGF1dG9tYXRpb24sIEdvb2dsZSBTaGVldHMgaW50ZWdyYXRpb24sIFNsYWNrIG5vdGlmaWNhdGlvbnMsIGNvbmRpdGlvbmFsIGxvZ2ljLCBBSSBhZ2VudCBjcmVhdGlvbiwgc2FsZXMgYW5kIENSTSBhdXRvbWF0aW9uLCBjdXN0b21lciBzdXBwb3J0IGF1dG9tYXRpb24sIGxvY2FsIHNldHVwIG9mIG44blwiLFwib2c6c2l0ZV9uYW1lXCI6XCJHZWVrc2ZvckdlZWtzXCIsXCJvZzppbWFnZVwiOlwiaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA2MjYxMTM3MjI2MjI5MDAvdGVybWluYWwtb2YtbjhuLndlYnBcIixcImFydGljbGU6c2VjdGlvblwiOlwiRGF0YSBTY2llbmNlXCIsXCJvZzp0eXBlXCI6XCJhcnRpY2xlXCIsXCJvZzpsb2NhbGVcIjpcImVuX1VTXCIsXCJhcnRpY2xlOnB1Ymxpc2hlZF90aW1lXCI6XCIyMDI1LTA3LTAxIDEyOjIwOjAwKzAwOjAwXCIsXCJhcnRpY2xlOm1vZGlmaWVkX3RpbWVcIjpcIjIwMjUtMTAtMjQgMTc6MTg6NDkrMDA6MDBcIixcIm9nOnVwZGF0ZWRfdGltZVwiOlwiMjAyNS0xMC0yNCAxNzoxODo0OSswMDowMFwiLFwib2c6aW1hZ2U6c2VjdXJlX3VybFwiOlwiaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNTA2MjYxMTM3MjI2MjI5MDAvdGVybWluYWwtb2YtbjhuLndlYnBcIixcIm9nOmRlc2NyaXB0aW9uXCI6XCJZb3VyIEFsbC1pbi1PbmUgTGVhcm5pbmcgUG9ydGFsOiBHZWVrc2ZvckdlZWtzIGlzIGEgY29tcHJlaGVuc2l2ZSBlZHVjYXRpb25hbCBwbGF0Zm9ybSB0aGF0IGVtcG93ZXJzIGxlYXJuZXJzIGFjcm9zcyBkb21haW5zLXNwYW5uaW5nIGNvbXB1dGVyIHNjaWVuY2UgYW5kIHByb2dyYW1taW5nLCBzY2hvb2wgZWR1Y2F0aW9uLCB1cHNraWxsaW5nLCBjb21tZXJjZSwgc29mdHdhcmUgdG9vbHMsIGNvbXBldGl0aXZlIGV4YW1zLCBhbmQgbW9yZS5cIixcIm1zYXBwbGljYXRpb24tVGlsZUltYWdlXCI6XCJodHRwczovL3d3dy5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvZ2ZnXzIwMFgyMDAucG5nXCJ9LFwiZXh0ZXJuYWxcIjp7XCJpY29uXCI6e1wiaHR0cHM6Ly9tZWRpYS5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L2Nkbi11cGxvYWRzL2dmZ19mYXZpY29uLnBuZ1wiOntcInR5cGVcIjpcImltYWdlL3gtaWNvblwifSxcImh0dHBzOi8vd3d3LmdlZWtzZm9yZ2Vla3Mub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy9nZmdfMjAwWDIwMC0xMDB4MTAwLnBuZ1wiOntcInNpemVzXCI6XCIzMngzMlwifSxcImh0dHBzOi8vd3d3LmdlZWtzZm9yZ2Vla3Mub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy9nZmdfMjAwWDIwMC5wbmdcIjp7XCJzaXplc1wiOlwiMTkyeDE5MlwifX0sXCJwcmVjb25uZWN0XCI6e1wiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9cIjp7fSxcImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vXCI6e1wiY3Jvc3NvcmlnaW5cIjpcIlwifX0sXCJwcm9maWxlXCI6e1wiaHR0cDovL2dtcGcub3JnL3hmbi8xMVwiOnt9fSxcInBpbmdiYWNrXCI6e1wiXCI6e319LFwiY2Fub25pY2FsXCI6e1wiaHR0cHM6Ly93d3cuZ2Vla3Nmb3JnZWVrcy5vcmcvZGF0YS1zY2llbmNlL3doYXQtaXMtbjhuL1wiOnt9fSxcImRucy1wcmVmZXRjaFwiOntcImh0dHBzOi8vY2RuLmdlZWtzZm9yZ2Vla3Mub3JnL1wiOnt9LFwiaHR0cHM6Ly9zLncub3JnL1wiOnt9fSxcImFwcGxlLXRvdWNoLWljb24tcHJlY29tcG9zZWRcIjp7XCJodHRwczovL3d3dy5nZWVrc2ZvcmdlZWtzLm9yZy93cC1jb250ZW50L3VwbG9hZHMvZ2ZnXzIwMFgyMDAucG5nXCI6e319LFwiY29tcHJlc3Npb24tZGljdGlvbmFyeVwiOntcImh0dHBzOi8vc2VjdXJlcHViYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9tYW5hZ2VkL2RpY3QvbTIwMjUxMjA0MDEwMS9ncHRcIjp7fX19LFwidXNhZ2VcIjp7XCJ0b2tlbnNcIjozMDk1fX0se1widGl0bGVcIjpcIldoYXQgSXMgbjhuPyBBIENvbXBsZXRlIEJlZ2lubmVyJ3MgR3VpZGUgLSB4Q2xvdWRcIixcInVybFwiOlwiaHR0cHM6Ly94Y2xvdWQuaG9zdC93aGF0LWlzLW44bi1hLWJlZ2lubmVycy1ndWlkZS9cIixcImRlc2NyaXB0aW9uXCI6XCJMZWFybiB3aGF0IGlzIG44biBhbmQgaG93IHRoaXMgb3BlbuKAkXNvdXJjZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgY2FuIGNvbm5lY3QgeW91ciBhcHBzIGFuZCBzdHJlYW1saW5lIHlvdXIgdGFza3MgZWFzaWx5LlwiLFwiZGF0ZVwiOlwiQXVnIDIxLCAyMDI1XCIsXCJjb250ZW50XCI6XCJXb25kZXJpbmcgd2hhdCBpcyBbKipuOG4qKl0oaHR0cHM6Ly94Y2xvdWQuaG9zdC9uOG4taG9zdGluZy8pIGFuZCB3aHkgaXQgaXMgZ2FpbmluZyBwb3B1bGFyaXR5IGluIHdvcmtmbG93IGF1dG9tYXRpb24/IFlvdSBhcmUgaW4gdGhlIHJpZ2h0IHBsYWNlLiBuOG4gaXMgYSBmbGV4aWJsZSwgb3Blbi1zb3VyY2Ugd29ya2Zsb3cgYXV0b21hdGlvbiB0b29sIGRlc2lnbmVkIHRvIHN0cmVhbWxpbmUgdGFza3MsIGludGVncmF0ZSBhcHBsaWNhdGlvbnMsIGFuZCBhdXRvbWF0ZSBjb21wbGV4IHByb2Nlc3NlcyB3aXRob3V0IHJlcXVpcmluZyBleHRlbnNpdmUgY29kaW5nIHNraWxscy5cXG5cXG4hW0ltYWdlIDE6IFdoYXQgaXMgbjhuXShodHRwczovL3hjbG91ZC5ob3N0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzA4L0Jsb2ctXy1JbnRyb2R1Y2luZy1uOG4tMS0xMDI0eDU3Ni5qcGcpXFxuQnVpbHQgYXMgYSDigJxmYWlyLWNvZGXigJ0gYWx0ZXJuYXRpdmUgdG8gcHJvcHJpZXRhcnkgYXV0b21hdGlvbiBzZXJ2aWNlcyBsaWtlIFphcGllciBvciBNYWtlLCBuOG4gZW1wb3dlcnMgdXNlcnMgd2l0aCBjb21wbGV0ZSBjb250cm9sIG92ZXIgdGhlaXIgZGF0YSBhbmQgd29ya2Zsb3dzLiBJdHMgaW50dWl0aXZlLCBub2RlLWJhc2VkIHZpc3VhbCBpbnRlcmZhY2Ugc2ltcGxpZmllcyBhdXRvbWF0aW9uLCBtYWtpbmcgaXQgYWNjZXNzaWJsZSBldmVuIGZvciBiZWdpbm5lcnMuXFxuXFxuUmVhZCB0aGUgZ3VpZGUgdG8gbGVhcm4gd2hhdCBuOG4gaXMsIGhvdyBpdCB3b3JrcywgYW5kIHdoeSBidXNpbmVzc2VzIGFuZCBpbmRpdmlkdWFscyBhbGlrZSBjaG9vc2UgaXQgdG8gYm9vc3QgcHJvZHVjdGl2aXR5LCByZWR1Y2UgbWFudWFsIGxhYm9yLCBhbmQgYnVpbGQgY3VzdG9tIGludGVncmF0aW9ucyBlZmZvcnRsZXNzbHkuXFxuXFxuKipXaGF0IElzIG44bj8qKlxcbi0tLS0tLS0tLS0tLS0tLS1cXG5cXG5uOG4gKHByb25vdW5jZWQg4oCcbiBlaWdodCBu4oCdKSBpcyBhbiBvcGVuLXNvdXJjZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgdGhhdCBjb25uZWN0cyBhcHBsaWNhdGlvbnMgYW5kIHNlcnZpY2VzIHdpdGhvdXQgcmVxdWlyaW5nIGNvZGluZyBrbm93bGVkZ2UuIFRoZSBuYW1lIGNsZXZlcmx5IHN0YW5kcyBmb3Ig4oCcbm9kZW1hdGlvbizigJ0gcmVmZXJlbmNpbmcgaXRzIG5vZGUtYmFzZWQsIHZpc3VhbCB3b3JrZmxvdyBidWlsZGVyLiBDcmVhdGVkIGJ5IEphbiBPYmVyaGF1c2VyIGluIDIwMTksIG44biBhaW1zIHRvIHByb3ZpZGUgYSBwb3dlcmZ1bCwgZmxleGlibGUgYWx0ZXJuYXRpdmUgdG8gcHJvcHJpZXRhcnkgcGxhdGZvcm1zIGxpa2UgWyoqWmFwaWVyKipdKGh0dHBzOi8veGNsb3VkLmhvc3QvbjhuLXZzLXphcGllci13aGljaC1vbmUtc2hvdWxkLXlvdS1jaG9vc2UvKSBvciBbKipNYWtlKipdKGh0dHBzOi8veGNsb3VkLmhvc3QvbjhuLXZzLW1ha2Utd2hpY2gtb25lLXNob3VsZC15b3UtY2hvb3NlLykqKi4qKlxcblxcbiFbSW1hZ2UgMjogV2hhdCBpcyBuOG5dKGJsb2I6aHR0cDovL2xvY2FsaG9zdC9lOGE1N2Y0OTcyNTE2YTFkMzIxODg5NGVhYmM4OTU3NilcXG5uOG4gb3BlcmF0ZXMgdW5kZXIgYSB1bmlxdWUgZmFpci1jb2RlIGxpY2Vuc2UsIG1lYW5pbmcgaXRzIHNvdXJjZSBjb2RlIGlzIG9wZW5seSBhY2Nlc3NpYmxlIGZvciByZXZpZXcgYW5kIG1vZGlmaWNhdGlvbiwgd2l0aCBzb21lIHByZW1pdW0gZmVhdHVyZXMgb2ZmZXJlZCB0aHJvdWdoIHBhaWQgdmVyc2lvbnMuIFRoaXMgb3BlbiBhcHByb2FjaCBhbGxvd3MgdXNlcnMgZnVsbCBjb250cm9sIG92ZXIgdGhlaXIgd29ya2Zsb3dzIGFuZCBkYXRhLCBpZGVhbCBmb3Igc2VjdXJpdHktY29uc2Npb3VzIGJ1c2luZXNzZXMgb3IgZGV2ZWxvcGVycyBzZWVraW5nIGRlZXBlciBjdXN0b21pemF0aW9uLlxcblxcblVubGlrZSB0cmFkaXRpb25hbCB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2xzLCBuOG4gZW1wb3dlcnMgdXNlcnMgdG8gaG9zdCBpdCB0aGVtc2VsdmVzLCBlaXRoZXIgb24gdGhlaXIgb3duIGluZnJhc3RydWN0dXJlIG9yIGluIHRoZSBjbG91ZCwgZ2l2aW5nIGdyZWF0ZXIgZmxleGliaWxpdHksIGRhdGEgc292ZXJlaWdudHksIGFuZCBjb3N0IHNhdmluZ3MuXFxuXFxuKipDb3JlIENvbmNlcHRzIEFuZCBUZXJtaW5vbG9neSoqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuVG8gdXNlIG44biBlZmZlY3RpdmVseSwgaXQgaXMgZXNzZW50aWFsIHRvIHVuZGVyc3RhbmQgYSBmZXcgY29yZSB0ZXJtcyB0aGF0IGZvcm0gdGhlIGJhY2tib25lIG9mIHRoZSBwbGF0Zm9ybS4gSGVyZSBpcyBhIGJlZ2lubmVyLWZyaWVuZGx5IGJyZWFrZG93bjpcXG5cXG4jIyMgKipXb3JrZmxvdyoqXFxuXFxuQSB3b3JrZmxvdyBpcyBhIHNlcXVlbmNlIG9mIGF1dG9tYXRlZCBzdGVwcyBvciB0YXNrcyB0aGF0IHlvdSBidWlsZCB1c2luZyBub2Rlcy4gSXQgc3RhcnRzIHdpdGggYSB0cmlnZ2VyIGFuZCBmb2xsb3dzIGEgcGF0aCBvZiBhY3Rpb25zIGJhc2VkIG9uIHlvdXIgY29uZmlndXJhdGlvbi4gVGhpbmsgb2YgaXQgYXMgYSBmbG93Y2hhcnQgdGhhdCBwZXJmb3JtcyBhIGpvYiBmb3IgeW91IGF1dG9tYXRpY2FsbHkuXFxuXFxuIyMjICoqTm9kZXMqKlxcblxcbk5vZGVzIGFyZSB0aGUgYnVpbGRpbmcgYmxvY2tzIG9mIHlvdXIgd29ya2Zsb3dzLiBFYWNoIG5vZGUgcGVyZm9ybXMgYSBzcGVjaWZpYyBmdW5jdGlvbiwgbGlrZSByZWNlaXZpbmcgZGF0YSAodHJpZ2dlciksIHRyYW5zZm9ybWluZyBpdCAoZnVuY3Rpb24pLCBvciBzZW5kaW5nIGl0IHNvbWV3aGVyZSAoYWN0aW9uKS4gTm9kZXMgY2FuIGludGVncmF0ZSB3aXRoIGFwcGxpY2F0aW9ucyBsaWtlIEdvb2dsZSBTaGVldHMsIERpc2NvcmQsIFN0cmlwZSwgYW5kIG1hbnkgb3RoZXIgc2VydmljZXMuXFxuXFxuIyMjICoqRXhlY3V0aW9ucyoqXFxuXFxuQW4gZXhlY3V0aW9uIGlzIHdoYXQgaGFwcGVucyB3aGVuIGEgd29ya2Zsb3cgcnVucy4gRWFjaCB0aW1lIHlvdXIgdHJpZ2dlciBhY3RpdmF0ZXMsIGl0IGxvZ3MgYW4gZXhlY3V0aW9uIHRoYXQgc2hvd3Mgd2hldGhlciBpdCBzdWNjZWVkZWQsIGZhaWxlZCwgYW5kIGhvdyBsb25nIGl0IHRvb2suIFRoZSBleGVjdXRpb25zIGRhc2hib2FyZCBsZXRzIHlvdSB0cmFjaywgZGVidWcsIG9yIHJlcGxheSB0aGVzZSBydW5zLlxcblxcbiMjIyAqKkNyZWRlbnRpYWxzKipcXG5cXG5DcmVkZW50aWFscyBzdG9yZSB5b3VyIGF1dGhlbnRpY2F0aW9uIHRva2VucyBhbmQga2V5cyBzZWN1cmVseSB3aXRoaW4gbjhuLiBFYWNoIG5vZGUgdGhhdCBjb25uZWN0cyB0byBhbiBleHRlcm5hbCBhcHBsaWNhdGlvbiB3aWxsIGFzayB5b3UgdG8gcHJvdmlkZSBjcmVkZW50aWFscyAoT0F1dGgsIEFQSSBrZXksIGFuZCBvdGhlcnMpLCB3aGljaCBuOG4gc2F2ZXMgc28geW91IGRvIG5vdCBoYXZlIHRvIHJlLWVudGVyIHRoZW0gZXZlcnkgdGltZS5cXG5cXG4jIyMgKipFeHByZXNzaW9ucyoqXFxuXFxuRXhwcmVzc2lvbnMgYXJlIHBvd2VyZnVsLCBkeW5hbWljIHRvb2xzIHRoYXQgbGV0IHlvdSBtYW5pcHVsYXRlIGRhdGEgYmV0d2VlbiBub2Rlcy4gWW91IGNhbiByZWZlcmVuY2UgcHJldmlvdXMgb3V0cHV0cywgZm9ybWF0IGRhdGVzLCBvciB1c2UgY29uZGl0aW9uYWwgbG9naWMgaW5zaWRlIGEgbm9kZeKAmXMgc2V0dGluZ3MgaWRlYWwgZm9yIG1vcmUgYWR2YW5jZWQsIGN1c3RvbWl6YWJsZSB3b3JrZmxvd3MuXFxuXFxuKipIb3cgRG9lcyBuOG4gV29yaz8qKlxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5VbmRlcnN0YW5kaW5nIGhvdyBuOG4gb3BlcmF0ZXMgaXMgc3RyYWlnaHRmb3J3YXJkLCB0aGFua3MgdG8gaXRzIGludHVpdGl2ZSwgdmlzdWFsIGludGVyZmFjZSBiYXNlZCBvbiBpbnRlcmNvbm5lY3RlZCBub2Rlcy4gRWFjaCB3b3JrZmxvdyBpbiBuOG4gaXMgY29tcG9zZWQgb2Ygbm9kZXMgdGhhdCBwYXNzIGRhdGEgYmV0d2VlbiBlYWNoIG90aGVyIGFuZCBwZXJmb3JtIGFjdGlvbnMgb3IgbG9naWMgYmFzZWQgb24gdXNlciBjb25maWd1cmF0aW9uLiBIZXJlIGlzIGEgYnJlYWtkb3duIG9mIGhvdyB0aGUgcGxhdGZvcm0gZnVuY3Rpb25zOlxcblxcbiMjIyAqKm44bioq4oCUKipWaXN1YWwgV29ya2Zsb3cgRWRpdG9yKipcXG5cXG5UaGUgbWFpbiBpbnRlcmZhY2UgaW4gbjhuIGlzIHRoZSB2aXN1YWwgd29ya2Zsb3cgZWRpdG9yLiBUaGlzIGlzIHdoZXJlIHVzZXJzIGRyYWcsIGRyb3AsIGFuZCBjb25uZWN0IG5vZGVzIHRvIGJ1aWxkIGF1dG9tYXRpb24gbG9naWMuIFRoZSB2aXN1YWwgbmF0dXJlIG9mIHRoZSBlZGl0b3IgaGVscHMgdXNlcnMgY2xlYXJseSBzZWUgdGhlIGZsb3cgb2YgZGF0YSBhbmQgbG9naWMsIG1ha2luZyBpdCBlYXNpZXIgdG8gY29uc3RydWN0LCB1bmRlcnN0YW5kLCBhbmQgZGVidWcgd29ya2Zsb3dzLlxcblxcbiFbSW1hZ2UgMzogV29ya2Zsb3cgRWRpdG9yXShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvMmI4N2E1MjI0MjRkOTUxMTdkNzBlNTYyMWYzODZiZjQpXFxuIyMjICoqTm9kZSBUeXBlcyBBbmQgVGhlaXIgRnVuY3Rpb25zKipcXG5cXG5uOG4gd29ya2Zsb3dzIGFyZSBidWlsdCB1c2luZyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgbm9kZSB0eXBlczpcXG5cXG4qICAgKipUcmlnZ2VyIE5vZGVzOioqIFRoZXNlIG5vZGVzIHN0YXJ0IHRoZSB3b3JrZmxvdy4gVGhleSByZXNwb25kIHRvIGV4dGVybmFsIGV2ZW50cyBzdWNoIGFzIHJlY2VpdmluZyBhbiBlbWFpbCwgYSB3ZWJob29rIHJlcXVlc3QsIG9yIGEgc2NoZWR1bGVkIHRpbWUgdHJpZ2dlci4gRm9yIGV4YW1wbGUsIGEgd2ViaG9vayBub2RlIGNhbiBsaXN0ZW4gZm9yIGFuIEhUVFAgcmVxdWVzdCB0byBpbml0aWF0ZSBhIHdvcmtmbG93LlxcbiogICAqKkFjdGlvbiBOb2RlczoqKiBUaGVzZSBub2RlcyBwZXJmb3JtIHRhc2tzIHN1Y2ggYXMgc2VuZGluZyBlbWFpbHMsIHVwZGF0aW5nIHJlY29yZHMgaW4gYSBkYXRhYmFzZSwgb3IgcG9zdGluZyBtZXNzYWdlcyB0byBhIG1lc3NhZ2luZyBzZXJ2aWNlIGxpa2UgU2xhY2suIEFjdGlvbiBub2RlcyBhcmUgdXNlZCB0byBjYXJyeSBvdXQgc3RlcHMgaW4gcmVzcG9uc2UgdG8gdHJpZ2dlciBldmVudHMuXFxuKiAgICoqTG9naWMgb3IgQ29kZSBOb2RlczoqKiBUaGVzZSBub2RlcyBtYW5hZ2UgdGhlIGZsb3cgYW5kIHN0cnVjdHVyZSBvZiB0aGUgd29ya2Zsb3cuIENvbW1vbiBsb2dpYyBub2RlcyBpbmNsdWRlIElGIChjb25kaXRpb25hbCBicmFuY2hpbmcpLCBTd2l0Y2ggKG11bHRpLXBhdGggZGVjaXNpb25zKSwgTWVyZ2UgKGRhdGEgY29tYmluaW5nKSwgYW5kIExvb3AgKGl0ZXJhdGlvbikuIEFkZGl0aW9uYWxseSwgdXNlcnMgY2FuIGluc2VydCBGdW5jdGlvbiBvciBGdW5jdGlvbkl0ZW0gbm9kZXMgdGhhdCBleGVjdXRlIGN1c3RvbSBKYXZhU2NyaXB0IGNvZGUgdG8gbWFuaXB1bGF0ZSBkYXRhIG9yIGltcGxlbWVudCBjb21wbGV4IGxvZ2ljLlxcblxcbiMjIyAqKkRhdGEgSGFuZGxpbmcgQW5kIEZsb3cqKlxcblxcbkRhdGEgaW4gbjhuIGZsb3dzIGZyb20gbm9kZSB0byBub2RlIGluIEpTT04gZm9ybWF0LiBFYWNoIG5vZGUgcmVjZWl2ZXMgaW5wdXQgZGF0YSwgcHJvY2Vzc2VzIGl0LCBhbmQgb3V0cHV0cyB0aGUgcmVzdWx0IHRvIHRoZSBuZXh0IG5vZGUuIFVzZXJzIGNhbiB1c2UgYnVpbHQtaW4gZXhwcmVzc2lvbnMgdG8gcmVmZXJlbmNlIGFuZCB0cmFuc2Zvcm0gZGF0YSBmcm9tIHByZXZpb3VzIG5vZGVzLiBUaGlzIGFsbG93cyBkeW5hbWljIGFuZCBjb250ZXh0dWFsIGF1dG9tYXRpb24sIHN1Y2ggYXMgY3VzdG9taXppbmcgYW4gZW1haWwgd2l0aCB1c2VyLXNwZWNpZmljIGRhdGEgZmV0Y2hlZCBmcm9tIGEgQ1JNLlxcblxcbiMjIyAqKldvcmtmbG93IEV4ZWN1dGlvbioqXFxuXFxuV2hlbiBhIHdvcmtmbG93IGlzIGFjdGl2YXRlZCBhbmQgdGhlIHRyaWdnZXIgY29uZGl0aW9uIGlzIG1ldCwgbjhuIGluaXRpYXRlcyBhbiBleGVjdXRpb24uIFRoZSBwbGF0Zm9ybSBsb2dzIGVhY2ggc3RlcCwgbWFraW5nIGl0IGVhc3kgdG8gdHJhY2Ugd2hhdCBoYXBwZW5lZCBkdXJpbmcgdGhlIHdvcmtmbG93IHJ1bi4gVGhpcyBleGVjdXRpb24gbG9nIGlzIGF2YWlsYWJsZSBpbiB0aGUgRXhlY3V0aW9ucyBEYXNoYm9hcmQsIHdoZXJlIHVzZXJzIGNhbiBtb25pdG9yIHJlYWwtdGltZSBzdGF0dXMsIGlkZW50aWZ5IGZhaWx1cmVzLCBhbmQgbWFudWFsbHkgcmV0cnkgc3RlcHMgaWYgbmVjZXNzYXJ5LlxcblxcbiMjIyAqKkVycm9yIEhhbmRsaW5nIEFuZCBSZXNpbGllbmNlKipcXG5cXG5FYWNoIG5vZGUgaW4gbjhuIGNhbiBiZSBjb25maWd1cmVkIHdpdGggYW4gZXJyb3ItaGFuZGxpbmcgcGF0aC4gSWYgYW4gZXJyb3Igb2NjdXJzLCB0aGUgd29ya2Zsb3cgY2FuIGZvbGxvdyBhbiBhbHRlcm5hdGUgcm91dGUsIGxpa2UgbG9nZ2luZyB0aGUgaXNzdWUsIHNlbmRpbmcgYW4gYWxlcnQsIG9yIHJldHJ5aW5nIHRoZSBzdGVwLiBUaGlzIGVuc3VyZXMgd29ya2Zsb3dzIGFyZSBtb3JlIGZhdWx0LXRvbGVyYW50IGFuZCByZWxpYWJsZSBpbiBwcm9kdWN0aW9uLlxcblxcbiMjIyAqKlJlYWwgVGltZSBUZXN0aW5nIEFuZCBEZXZlbG9wbWVudCoqXFxuXFxuT25lIG9mIG44buKAmXMgc3RyZW5ndGhzIGlzIHRoZSBhYmlsaXR5IHRvIHRlc3Qgd29ya2Zsb3dzIGluIHJlYWwgdGltZS4gVXNlcnMgY2FuIGV4ZWN1dGUgaW5kaXZpZHVhbCBub2RlcyBvciBlbnRpcmUgd29ya2Zsb3dzIGFuZCB2aWV3IHRoZSByZXN1bHRzIGltbWVkaWF0ZWx5LiBUaGlzIGxpdmUgZmVlZGJhY2sgYWNjZWxlcmF0ZXMgdGhlIGRldmVsb3BtZW50IHByb2Nlc3MgYW5kIGhlbHBzIHVzZXJzIGZpbmUtdHVuZSBlYWNoIHN0ZXAuXFxuXFxuQnkgY29tYmluaW5nIHRoZXNlIGVsZW1lbnRzLCBuOG4gZW5hYmxlcyB1c2VycyB0byBidWlsZCBzaW1wbGUgdG8gY29tcGxleCB3b3JrZmxvd3MgdGhhdCBpbnRlZ3JhdGUgYSB3aWRlIHJhbmdlIG9mIHNlcnZpY2VzLCBhdXRvbWF0ZSBkZWNpc2lvbiBtYWtpbmcsIGFuZCBoYW5kbGUgZGF0YSBpbiBhIHN0cnVjdHVyZWQgYW5kIG1haW50YWluYWJsZSB3YXkuXFxuXFxuKipXaHkgbjhuIElzIEdhaW5pbmcgQXR0ZW50aW9uIHRvIEF1dG9tYXRlIFdvcmtmbG93cyoqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuWyoqbjhuKipdKGh0dHBzOi8veGNsb3VkLmhvc3QvbjhuLWhvc3RpbmcvKWhhcyBzZWVuIHJhcGlkIGFkb3B0aW9uIGluIHJlY2VudCB5ZWFycywgYW5kIGl0IGlzIG5vdCBoYXJkIHRvIHNlZSB3aHkuIEl0IHNpdHMgYXQgdGhlIHN3ZWV0IHNwb3QgYmV0d2VlbiBsb3ctY29kZSBjb252ZW5pZW5jZSBhbmQgZnVsbCBkZXZlbG9wZXIgZmxleGliaWxpdHnigJRzb21ldGhpbmcgZmV3IGF1dG9tYXRpb24gdG9vbHMgdHJ1bHkgZGVsaXZlci4gSGVyZSBhcmUgNiBzdGFuZG91dCByZWFzb25zIHBlb3BsZSBsb3ZlIG44bjpcXG5cXG4jIyMgKipPcGVuIFNvdXJjZSBBbmQgU2VsZi1Ib3N0ZWQqKlxcblxcbk9uZSBvZiBuOG7igJlzIGJpZ2dlc3Qgc3RyZW5ndGhzIGlzIHRoYXQgaXTigJlzIGZ1bGx5IG9wZW4gc291cmNlIHVuZGVyIHRoZSBGYWlyIENvZGUgbGljZW5zZS4gVGhhdCBtZWFucyB5b3UgY2FuIGRvd25sb2FkLCBydW4sIGFuZCBtb2RpZnkgaXQgaG93ZXZlciB5b3UgbGlrZS4gV2FudCB0byBkZXBsb3kgaXQgaW4geW91ciBjb21wYW554oCZcyBwcml2YXRlIGNsb3VkIG9yIG9uIHlvdXIgbG9jYWwgbWFjaGluZT8gWW91IGNhbi4gVGhpcyBpcyBhIGh1Z2UgcGx1cyBmb3IgdGVhbXMgdGhhdCBjYXJlIGFib3V0ICoqZGF0YSBwcml2YWN5KiosICoqY3VzdG9taXphdGlvbioqLCBvciBhdm9pZGluZyBtb250aGx5IHN1YnNjcmlwdGlvbiBjb3N0cyB0aGF0IHNjYWxlIHdpdGggdXNhZ2UuXFxuXFxuIyMjICoqMzAwKyBCdWlsdC1JbiBJbnRlZ3JhdGlvbnMqKlxcblxcbk91dCBvZiB0aGUgYm94LCBuOG4gY29ubmVjdHMgd2l0aCBvdmVyIDMwMCBwb3B1bGFyIHRvb2xzIGFuZCBwbGF0Zm9ybXPigJRldmVyeXRoaW5nIGZyb20gU2xhY2ssIEdvb2dsZSBTaGVldHMsIGFuZCBHaXRIdWIgdG8gZGF0YWJhc2VzLCBBUElzLCBhbmQgQUkgdG9vbHMgbGlrZSBPcGVuQUkgYW5kIEh1Z2dpbmcgRmFjZS4gQW5kIGlmIHRoZSB0b29sIHlvdSBuZWVkIGlzbuKAmXQgc3VwcG9ydGVkPyBZb3UgY2FuIGJ1aWxkIHlvdXIgb3duIGN1c3RvbSBpbnRlZ3JhdGlvbiB1c2luZyBhbiAqKkhUVFAgcmVxdWVzdCBub2RlKiogb3IgYnkgd3JpdGluZyBhIGJpdCBvZiBKYXZhU2NyaXB0LiBUaGlzIGZsZXhpYmlsaXR5IGlzIHVubWF0Y2hlZCBhbW9uZyBtb3N0IGxvdy1jb2RlIHBsYXRmb3Jtcy5cXG5cXG4jIyMgKipGbGV4aWJsZSBXb3JrZmxvd3Mgd2l0aCBMb2dpYyBBbmQgQ29kZSoqXFxuXFxuVW5saWtlIG90aGVyIHBsYXRmb3JtcyB0aGF0IG9ubHkgb2ZmZXIgbGluZWFyIOKAnHRyaWdnZXItdG8tYWN0aW9u4oCdIGZsb3dzLCBuOG4gc3VwcG9ydHMgKipjb21wbGV4IGJyYW5jaGluZyoqLCAqKmxvb3BzKiosICoqY29uZGl0aW9uYWwgbG9naWMqKiwgYW5kICoqY29kZSBibG9ja3MqKiBpbnNpZGUgeW91ciB3b3JrZmxvd3MuIFlvdSBjYW4gaW5zZXJ0IGN1c3RvbSBKYXZhU2NyaXB0IHRvIHR3ZWFrIGRhdGEsIGZpbHRlciByZXNwb25zZXMsIG9yIGJ1aWxkIGR5bmFtaWMgYmVoYXZpb3LigJRhbGwgaW5zaWRlIGEgdmlzdWFsIGVkaXRvci4gVGhpcyBtZWFucyB5b3UgY2FuIGF1dG9tYXRlIGFueXRoaW5nIGZyb20gc2ltcGxlIHRhc2tzIHRvIG11bHRpLXN0ZXAsIGxvZ2ljLWhlYXZ5IHByb2Nlc3Nlcy5cXG5cXG4jIyMgKipBSS1SZWFkeSBieSBEZXNpZ24qKlxcblxcbldpdGggdGhlIHJpc2Ugb2YgZ2VuZXJhdGl2ZSBBSSwgbjhuIGhhcyBwb3NpdGlvbmVkIGl0c2VsZiBhcyBhbiBpZGVhbCB0b29sIHRvICoqYnVpbGQgQUktcG93ZXJlZCB3b3JrZmxvd3MqKi4gRm9yIGV4YW1wbGUsIHlvdSBjYW4gY29ubmVjdCBhbiBBUEkgdG8gT3BlbkFJLCBwcm9jZXNzIHJlc3BvbnNlcyB3aXRoIGxvZ2ljIG5vZGVzLCBzdG9yZSB0aGUgb3V0cHV0IGluIE5vdGlvbiBvciBBaXJ0YWJsZSwgYW5kIHNlbmQgc3VtbWFyaWVzIHRvIFNsYWNr4oCUYWxsIGluIG9uZSBhdXRvbWF0ZWQgZmxvdy4gV2hldGhlciB5b3XigJlyZSBidWlsZGluZyBBSSBjaGF0Ym90cywgY29udGVudCBnZW5lcmF0b3JzLCBvciBpbnRlbGxpZ2VudCBhbGVydHMsIG44biBtYWtlcyBpdCBlYXNpZXIgYW5kIGZhc3Rlci5cXG5cXG4jIyMgKipUaHJpdmluZyBDb21tdW5pdHkgQW5kIEVjb3N5c3RlbSoqXFxuXFxubjhuIGhhcyBhIHZpYnJhbnQgYW5kIGdyb3dpbmcgY29tbXVuaXR5IG9mIGRldmVsb3BlcnMsIG1ha2VycywgYW5kIGF1dG9tYXRpb24gZW50aHVzaWFzdHMuIFRoZSBvZmZpY2lhbCBmb3J1bSwgRGlzY29yZCwgYW5kIEdpdEh1YiByZXBvIGFyZSBmdWxsIG9mIHRlbXBsYXRlcywgdHV0b3JpYWxzLCBhbmQgdXNlci1jb250cmlidXRlZCBub2Rlcy4gSWYgeW91IGhpdCBhIHNuYWcsIGNoYW5jZXMgYXJlIHNvbWVvbmUgaGFzIHNvbHZlZCBhIHNpbWlsYXIgcHJvYmxlbSwgYW5kIHlvdSBjYW4gbGVhcm4gZnJvbSBpdC4gUGx1cywgdGhlIG44biB0ZWFtIHJlZ3VsYXJseSByb2xscyBvdXQgdXBkYXRlcyBhbmQgbmV3IGludGVncmF0aW9ucy5cXG5cXG4jIyMgKirwn5K4IENvc3QgU2F2aW5ncyoqXFxuXFxuQ29tcGFyZWQgdG8gWmFwaWVyIG9yIE1ha2UsIHdoZXJlIHByaWNpbmcgaXMgdGllZCB0byB0aGUgbnVtYmVyIG9mIHRhc2tzIG9yIGludGVncmF0aW9ucyB5b3UgdXNlLCBuOG4gY2FuIGJlICoqY29tcGxldGVseSBmcmVlKiogaWYgeW91IHNlbGYtaG9zdC4gRXZlbiB0aGUgY2xvdWQtaG9zdGVkIHZlcnNpb24gb2ZmZXJzIGEgZ2VuZXJvdXMgZnJlZSBwbGFuLiBGb3IgYnVzaW5lc3NlcyB0cnlpbmcgdG8gYXV0b21hdGUgYXQgc2NhbGUgd2l0aG91dCBicmVha2luZyB0aGUgYmFuaywgdGhpcyBtYWtlcyBuOG4gYSB2ZXJ5IGF0dHJhY3RpdmUgb3B0aW9uLlxcblxcbioqMTAgVG9wIG44biBVc2UgQ2FzZXMgQWNyb3NzIEluZHVzdHJpZXMqKlxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbm44biBjYW4gaGFuZGxlIGV2ZXJ5dGhpbmcgZnJvbSBzaW1wbGUgYXV0b21hdGlvbnMgdG8gY29tcGxleCBpbnRlZ3JhdGlvbnMuIEl0IHdvcmtzIGZvciBtYXJrZXRpbmcsIHNhbGVzLCBvcGVyYXRpb25zLCBkZXZlbG9wbWVudCwgY3VzdG9tZXIgc2VydmljZSwgZmluYW5jZSwgYW5kIG1vcmUuXFxuXFxuMS4gICAqKk1hcmtldGluZyBBdXRvbWF0aW9uKipcXG5cXG5Db25uZWN0IENSTXMsIGVtYWlsIHRvb2xzLCBhbmFseXRpY3MsIGFuZCBzb2NpYWwgbWVkaWEuIEZvciBleGFtcGxlLCBkZXRlY3QgYSBuZXcgV29yZFByZXNzIGJsb2cgcG9zdCBhbmQgaW5zdGFudGx5IHNoYXJlIGl0IGFjcm9zcyBUd2l0dGVyLCBMaW5rZWRJbiwgYW5kIEZhY2Vib29rLlxcblxcbjEuICAgKiplQyoqKipvbW1lcmNlIEF1dG9tYXRpb24qKlxcblxcbkF1dG9tYXRlIG9yZGVyIGNvbmZpcm1hdGlvbnMsIGludmVudG9yeSB1cGRhdGVzLCBhbmQgZnVsZmlsbG1lbnQgYWxlcnRzLiBGb3IgZXhhbXBsZSwgYSBTaG9waWZ5IHB1cmNoYXNlIGNhbiB0cmlnZ2VyIGFuIFNNUyB2aWEgVHdpbGlvLCB1cGRhdGUgYSBHb29nbGUgU2hlZXQsIGFuZCBub3RpZnkgdGhlIFNsYWNrIGZ1bGZpbGxtZW50IGNoYW5uZWwuXFxuXFxuMS4gICAqKlNhbGVzICYgQ1JNIFN5bmNpbmcqKlxcblxcbkNhcHR1cmUgbGVhZHMgYXV0b21hdGljYWxseS4gQSBUeXBlZm9ybSBlbnRyeSBjYW4gY3JlYXRlIGEgSHViU3BvdCBjb250YWN0LCBsb2cgZGF0YSBpbiBHb29nbGUgU2hlZXRzLCBhbmQgYWxlcnQgdGhlIHNhbGVzIHJlcCBpbiBTbGFjay5cXG5cXG4xLiAgICoqRGV2ZWxvcGVyIFdvcmtmbG93cyoqXFxuXFxuTGluayBHaXRIdWIgd2l0aCBwcm9qZWN0IG1hbmFnZW1lbnQgdG9vbHMuIEEgbmV3IEdpdEh1YiBpc3N1ZSBjYW4gY3JlYXRlIGEgVHJlbGxvIGNhcmQsIGFzc2lnbiBpdCwgYW5kIG5vdGlmeSBTbGFjay5cXG5cXG4xLiAgICoqRGF0YSBQaXBlbGluZXMgJiBFVEwqKlxcblxcbkV4dHJhY3QsIGZpbHRlciwgYW5kIGxvYWQgZGF0YS4gRm9yIGV4YW1wbGUsIGNsZWFuIEdvb2dsZSBTaGVldHMgc3VydmV5IGRhdGEgYW5kIHN0b3JlIGl0IGluIFBvc3RncmVTUUwuXFxuXFxuMS4gICAqKkN1c3RvbWVyIFN1cHBvcnQgQXV0b21hdGlvbioqXFxuXFxuVHVybiBmb3JtIHN1Ym1pc3Npb25zIGludG8gWmVuZGVzayB0aWNrZXRzLCBhdXRvLWFzc2lnbiB0aGVtLCBhbmQgc2VuZCBTbGFjayBhbGVydHMgdG8gdGhlIHJpZ2h0IHRlYW0uXFxuXFxuMS4gICAqKkZpbmFuY2UgJiBBZG1pbiBBdXRvbWF0aW9uKipcXG5cXG5XaGVuIGEgU3RyaXBlIHBheW1lbnQgYXJyaXZlcywgYXV0by1nZW5lcmF0ZSBhbmQgc2VuZCBhbiBpbnZvaWNlLCB0aGVuIHNhdmUgaXQgdG8gR29vZ2xlIERyaXZlLlxcblxcbjEuICAgKipTY2hlZHVsZWQgVGFza3MgYW5kIEFsZXJ0cyoqXFxuXFxuU2NoZWR1bGUgcmVwb3J0cyBhbmQgcmVtaW5kZXJzLiBGb3IgZXhhbXBsZSwgY3JlYXRlIGFuZCBlbWFpbCBhIHdlZWtseSBzYWxlcyByZXBvcnQgZXZlcnkgTW9uZGF5LlxcblxcbjEuICAgKipTYWFTIEludGVncmF0aW9uIGFuZCBQcm9kdWN0IFdvcmtmbG93cyoqXFxuXFxuQXV0b21hdGUgb25ib2FyZGluZy4gQSBzaWduLXVwIGNhbiBjcmVhdGUgYSBkYXRhYmFzZSBlbnRyeSwgc2VuZCBhIHdlbGNvbWUgZW1haWwsIHVwZGF0ZSBOb3Rpb24sIGFuZCBhbGVydCBjdXN0b21lciBzdWNjZXNzLlxcblxcbjEuICAgKipFZHVjYXRpb24gJiBQZXJzb25hbCBQcm9qZWN0cyoqXFxuXFxuT3JnYW5pemUgY291cnNld29yayBieSBzYXZpbmcgZW1haWwgYXR0YWNobWVudHMgd2l0aCBhIHNwZWNpZmljIGxhYmVsIHRvIEdvb2dsZSBEcml2ZSBhdXRvbWF0aWNhbGx5LlxcblxcbioqSG93IG44biBDb21wYXJlcyB0byBaYXBpZXIsIE1ha2UgKEludGVncm9tYXQpLCBBbmQgT3RoZXIgQXV0b21hdGlvbiBUb29scyoqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5XaGVuIGNvbnNpZGVyaW5nIGFuIGF1dG9tYXRpb24gcGxhdGZvcm0sIHlvdSB3aWxsIG9mdGVuIGNvbWUgYWNyb3NzIHRvb2xzIGxpa2UgWyoqWmFwaWVyKipdKGh0dHBzOi8veGNsb3VkLmhvc3QvbjhuLXZzLW1ha2Utd2hpY2gtb25lLXNob3VsZC15b3UtY2hvb3NlLyksIFsqKk1ha2UqKl0oaHR0cHM6Ly94Y2xvdWQuaG9zdC9uOG4tdnMtbWFrZS13aGljaC1vbmUtc2hvdWxkLXlvdS1jaG9vc2UvKSAoZm9ybWVybHkgSW50ZWdyb21hdCksIFBpcGVkcmVhbSwgb3IgZXZlbiBuaWNoZSBwbGF0Zm9ybXMgbGlrZSBQYXJhYm9sYS4gRWFjaCBoYXMgaXRzIG93biBzdHJlbmd0aHMsIGJ1dCB0aGV5IHZhcnkgd2lkZWx5IGluIHBoaWxvc29waHksIGNvc3QsIGN1c3RvbWl6YXRpb24sIGFuZCB1c2VyIGNvbnRyb2wuXFxuXFxuTGV04oCZcyBleHBsb3JlIGhvdyBuOG4gc3RhY2tzIHVwIGFnYWluc3QgdGhlc2UgYWx0ZXJuYXRpdmVzIGluIHRlcm1zIG9mIGZlYXR1cmVzLCBmbGV4aWJpbGl0eSwgcHJpdmFjeSwgYW5kIGJlc3QgdXNlIGNhc2VzLlxcblxcbioqRmVhdHVyZSAvIFBsYXRmb3JtKipuOG4gWmFwaWVyIE1ha2UgKEludGVncm9tYXQpXFxuKipPcGVuIFNvdXJjZSoq4pyFIFllc+KdjCBOb+KdjCBOb1xcbioqU2VsZi1Ib3N0aW5nKirinIUgRnVsbOKdjCBOb+KdjCBOb1xcbioqVmlzdWFsIEVkaXRvcioq4pyFIFllc+KchSBZZXPinIUgWWVzXFxuKipOby1Db2RlIEZyaWVuZGx5KirimqDvuI8gTW9kZXJhdGXinIUgSGlnaOKchSBIaWdoXFxuKipDb2RlIEludGVncmF0aW9uIChKUy9QeXRob24pKirinIUgSmF2YVNjcmlwdOKdjCBOb3Qgc3VwcG9ydGVk4pqg77iPIExvd1xcbioqV2ViaG9va3MgU3VwcG9ydCoq4pyFIE5hdGl2ZSAmIFJlYWwtVGltZeKchSBMaW1pdGVk4pyFIFllc1xcbioqRXhlY3V0aW9uIExvZ3MgLyBEZWJ1Z2dpbmcqKuKchSBGdWxs4pqg77iPIEJhc2lj4pyFIEdvb2RcXG4qKlByaWNpbmcgRmxleGliaWxpdHkqKuKchSBVbmxpbWl0ZWQgZnJlZSB1c2UgKHNlbGYtaG9zdGVkKeKaoO+4jyBFeHBlbnNpdmUgdGllcnPimqDvuI8gVXNhZ2UgbGltaXRzXFxuKipFeHRlbnNpYmlsaXR5IChDdXN0b20gTm9kZXMpKirinIUgWWVz4p2MIE5v4pqg77iPIEFQSSBPbmx5XFxuKipBUEkgUmF0ZSBMaW1pdHMqKk5vbmUgKHNlbGYtaG9zdGVkKVN0cmljdCBTdHJpY3RcXG4qKkJlc3QgVXNlIENhc2UqKkNvbXBsZXggd29ya2Zsb3dzICYgZGV2IGF1dG9tYXRpb24gU2ltcGxlIGJ1c2luZXNzIGF1dG9tYXRpb24gTWVkaXVtLWNvbXBsZXhpdHkgdGFza3NcXG4qKlRlYW0gQ29sbGFib3JhdGlvbioq4pyFIFJvbGUtYmFzZWTinIUgTGltaXRlZOKchVxcbioqU2NhbGFiaWxpdHkqKuKchSBEb2NrZXIsIFF1ZXVlc+KdjCBMaW1pdGVk4pqg77iPIFBsYXRmb3JtLWJvdW5kXFxuXFxuKirwn4yQIEhvdyB0byBCdWlsZCBZb3VyIEZpcnN0IEF1dG9tYXRpb24gd2l0aCBuOG4gaW4gTWludXRlcyoqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcblJlYWR5IHRvIGRpdmUgaW50byBuOG4/IEZpcnN0LCB5b3Ugd2lsbCBkZWNpZGUgaG93IHlvdSB3YW50IHRvIHJ1biBuOG4sIGVpdGhlciB2aWEgdGhlaXIgaG9zdGVkIG44biBDbG91ZCBvciBieSBzZWxmLWhvc3Rpbmcgb24geW91ciBpbmZyYXN0cnVjdHVyZS5cXG5cXG4jIyMgKipuOG4gQ2xvdWQgdnMgU2VsZi1Ib3N0aW5nKipcXG5cXG4qKvCfn6IgbjhuIENsb3VkOioqIEEgbWFuYWdlZCBzb2x1dGlvbiBpZGVhbCBmb3IgYmVnaW5uZXJzLiBJdCByZXF1aXJlcyBubyBzZXR1cCBhbmQgaW5jbHVkZXMgbWFpbnRlbmFuY2UgYW5kIHNjYWxhYmlsaXR5LiBTaW1wbHkgc2lnbiB1cCwgbG9nIGluLCBhbmQgc3RhcnQgYXV0b21hdGluZyBpbW1lZGlhdGVseS5cXG5cXG4qKvCfn6IgU2VsZi1ob3N0ZWQqKjogUGVyZmVjdCBmb3IgdXNlcnMgd2hvIHByZWZlciBncmVhdGVyIGNvbnRyb2wuIFlvdSBjYW4gKipkZXBsb3kgbjhuKiogb24geW91ciBvd24gc2VydmVyIGZyb20geENsb3VkIG9yIGRlcGxveSB3aXRoIHhDbG91ZOKAmXMgZnVsbHkgbWFuYWdlZCBob3N0aW5nIGluIGp1c3QgYSBmZXcgY2xpY2tzLiBUaGlzIG9wdGlvbiBvZmZlcnMgY29tcGxldGUgZGF0YSBwcml2YWN5LCBjdXN0b21pemFiaWxpdHksIGFuZCBjb3N0LWVmZmVjdGl2ZW5lc3MgYXQgc2NhbGUuXFxuXFxuSWYgeW91IHdhbnQgdG8gWyoqc2VsZi1ob3N0IG44bioqXShodHRwczovL3hjbG91ZC5ob3N0L2RvY3MvZGVwbG95LW44bi13aXRoLXhjbG91ZC13aXRoLW9uZS1jbGljay1hcHBzLykgYnV0IGF2b2lkIHRoZSBjb21wbGV4aXR5IG9mIHNldHRpbmcgaXQgdXAgbWFudWFsbHksIHhDbG91ZCBvZmZlcnMgYSBmYXN0IGFuZCBiZWdpbm5lci1mcmllbmRseSBzb2x1dGlvbi4gSXQgZ2l2ZXMgeW91IGFsbCB0aGUgcG93ZXIgb2Ygc2VsZi1ob3N0aW5nIHdpdGggdGhlIHNpbXBsaWNpdHkgb2YgYSBvbmUtY2xpY2sgZGVwbG95bWVudC4gWW91IGdldCBmdWxsIGNvbnRyb2wgb2YgeW91ciBhdXRvbWF0aW9uIHBsYXRmb3JtIHdpdGhvdXQgaGF2aW5nIHRvIHdvcnJ5IGFib3V0IHNlcnZlciBtYW5hZ2VtZW50LlxcblxcbiFbSW1hZ2UgNDogSG93IHRvIFNldCBVcCBuOG4gaW4gTWludXRlcyB3aXRoIHhDbG91ZCBIb3N0aW5nIHwgIEVhc3kgU3RlcCBCeSBTdGVwIEd1aWRlIHdpdGggV29ya2Zsb3ddKGh0dHBzOi8vaS55dGltZy5jb20vdmkvSDFiQ3MtbVczMm8vaHFkZWZhdWx0LmpwZylcXG5cXG4qKvCfp7AgQmVnaW5uZXIgVGlwcyBmb3IgVXNpbmcgbjhuKipcXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuSWYgeW91IGFyZSBqdXN0IHN0YXJ0aW5nIHdpdGggbjhuLCB0aGVzZSB0aXBzIHdpbGwgaGVscCB5b3UgYXZvaWQgbWlzdGFrZXMgYW5kIGJ1aWxkIHNtYXJ0ZXIgd29ya2Zsb3dzIGZyb20gZGF5IG9uZS5cXG5cXG4qICAgKipTdGFydCBzbWFsbDoqKiBCZWdpbiB3aXRoIGEgYmFzaWMgd29ya2Zsb3cgdG8gdW5kZXJzdGFuZCBob3cgZGF0YSBtb3ZlcyBiZXR3ZWVuIG5vZGVzLlxcbiogICAqKlVzZSB0ZW1wbGF0ZXM6KiogRXhwbG9yZSBuOG7igJlzIHdvcmtmbG93IHRlbXBsYXRlIGxpYnJhcnkgdG8ganVtcC1zdGFydCBjb21tb24gYXV0b21hdGlvbnMuXFxuKiAgICoqTGVhcm4gZnJvbSBkb2N1bWVudGF0aW9uOioqIFJlYWQgdGhlIFsqKm9mZmljaWFsIG44biBkb2N1bWVudGF0aW9uKipdKGh0dHBzOi8veGNsb3VkLmhvc3QvZG9jcy9kZXBsb3ktbjhuLXdpdGgteGNsb3VkLXdpdGgtb25lLWNsaWNrLWFwcHMvKSBhbmQgdGFrZSBBY2FkZW15IGNvdXJzZXMgZm9yIHN0ZXAtYnktc3RlcCBsZWFybmluZy5cXG4qICAgKipFbmdhZ2Ugd2l0aCB0aGUgY29tbXVuaXR5OioqIEpvaW4gdGhlIG44biBmb3J1bSBhbmQgUmVkZGl0IGdyb3VwIGZvciByZWFsLXdvcmxkIGFkdmljZSBhbmQgdHJvdWJsZXNob290aW5nIGhlbHAuXFxuKiAgICoqV2F0Y2ggdHV0b3JpYWxzOioqIEZvbGxvdyBZb3VUdWJlIGNyZWF0b3JzIHdobyBwdWJsaXNoIG44biB0aXBzLCBleGFtcGxlcywgYW5kIGZ1bGwgd29ya2Zsb3cgd2Fsa3Rocm91Z2hzLlxcbiogICAqKkV4cGVyaW1lbnQgZ3JhZHVhbGx5OioqIEJ1aWxkIGNvbmZpZGVuY2UgYnkgaW1wcm92aW5nIHdvcmtmbG93cyBzdGVwLWJ5LXN0ZXAgYmVmb3JlIGF0dGVtcHRpbmcgY29tcGxleCBhdXRvbWF0aW9ucy5cXG5cXG4qKm44bjogQXV0b21hdGUgc21hcnRlciBBbmQgdGFrZSBjb250cm9sIG9mIHlvdXIgd29ya2Zsb3dzKipcXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5Tbywgd2hhdCBpcyBuOG4/IEl0IGlzIG1vcmUgdGhhbiBqdXN0IGFub3RoZXIgYXV0b21hdGlvbiB0b29sLiBJdCBpcyBhIHBvd2VyZnVsLCBvcGVuLXNvdXJjZSBwbGF0Zm9ybSB0aGF0IHB1dHMgdGhlIHBvd2VyIG9mIGludGVncmF0aW9uIGFuZCBhdXRvbWF0aW9uIGRpcmVjdGx5IGluIHlvdXIgaGFuZHMuIFdoZXRoZXIgeW91IGFyZSBqdXN0IHN0YXJ0aW5nIG91dCBvciB5b3UgYXJlIGEgc2Vhc29uZWQgZGV2ZWxvcGVyLCBuOG4gb2ZmZXJzIGEgcmFyZSBjb21iaW5hdGlvbiBvZiBzaW1wbGljaXR5LCBmbGV4aWJpbGl0eSwgYW5kIGNvbnRyb2wuXFxuXFxuRnJvbSBhdXRvbWF0aW5nIGJhc2ljIHRhc2tzIGxpa2UgZW1haWwgYWxlcnRzIHRvIGJ1aWxkaW5nIGNvbXBsZXgsIG11bHRpLXN0ZXAgd29ya2Zsb3dzIHRoYXQgaGFuZGxlIGNyaXRpY2FsIGJ1c2luZXNzIG9wZXJhdGlvbnMsIG44biBzY2FsZXMgd2l0aCB5b3UuIEl0cyBzZWxmLWhvc3Rpbmcgb3B0aW9ucywgY3VzdG9taXphYmxlIGxvZ2ljLCBhbmQgZ3Jvd2luZyBjb21tdW5pdHkgbWFrZSBpdCBhIHN0YW5kb3V0IGFsdGVybmF0aXZlIHRvIHBsYXRmb3JtcyBsaWtlIFphcGllciBvciBNYWtlLlxcblxcbklmIHlvdSBhcmUgbG9va2luZyB0byB0YWtlIGNvbnRyb2wgb2YgeW91ciBhdXRvbWF0aW9ucywgc3RyZWFtbGluZSB5b3VyIGRhaWx5IHByb2Nlc3Nlcywgb3IgZXhwZXJpbWVudCB3aXRoIEFJIHdvcmtmbG93cywgbjhuIGlzIGEgZ3JlYXQgcGxhY2UgdG8gYmVnaW4uXFxuXFxuSWYgeW91IGhhdmUgZm91bmQgdGhpcyBibG9nIGhlbHBmdWwsIGZlZWwgZnJlZSB0b1sqKnN1YnNjcmliZSB0byBvdXIgYmxvZyoqXShodHRwczovL3hjbG91ZC5ob3N0L2Jsb2cvKWZvciB2YWx1YWJsZSB0dXRvcmlhbHMsIGd1aWRlcywga25vd2xlZGdlLCBhbmQgdGlwcyBvbiB3ZWIgaG9zdGluZyBhbmQgc2VydmVyIG1hbmFnZW1lbnQuIFlvdSBjYW4gYWxzbyBqb2luIG91clsqKkZhY2Vib29rIGNvbW11bml0eSoqXShodHRwczovL3d3dy5mYWNlYm9vay5jb20vZ3JvdXBzL3hjbG91ZC5jb21tdW5pdHkpdG8gc2hhcmUgaW5zaWdodHMgYW5kIGVuZ2FnZSBpbiBkaXNjdXNzaW9ucy5cXG5cXG4qKuKdkyBGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyoqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG4jIyMgKioxLiBXaGF0IGlzIG44biBhbmQgaG93IGRvZXMgaXQgY29tcGFyZSB0byB0b29scyBsaWtlIFphcGllciBvciBNYWtlPyoqXFxuXFxubjhuIGlzIGFuIG9wZW7igJFzb3VyY2UgYXV0b21hdGlvbiBwbGF0Zm9ybS4gSXQgdXNlcyBhIG5vZGUtYmFzZWQgdmlzdWFsIGVkaXRvciBhbmQgbGV0cyB5b3Ugc2VsZuKAkWhvc3QgZm9yIGZ1bGwgY29udHJvbCBhbmQgcHJpdmFjeS4gTWFueSB1c2VycyBwcmVmZXIgaXQgb3ZlciBaYXBpZXIgb3IgTWFrZSBiZWNhdXNlIGl0IGF2b2lkcyB2ZW5kb3IgbG9ja+KAkWluIGFuZCBvZmZlcnMgbW9yZSBmbGV4aWJpbGl0eS5cXG5cXG4jIyMgKioyLiBDYW4gSSB1c2UgbjhuIGZvciBmcmVlPyoqXFxuXFxuWWVzLiBJZiB5b3Ugc2VsZi1ob3N0IG44biBvbiB5b3VyIG93biBWUFMsIHRoZSB0b29sIGl0c2VsZiBpcyBmcmVlIHRvIHVzZSB1bmRlciBpdHMgZmFpcuKAkWNvZGUgbGljZW5zZS4gWW91IG9ubHkgcGF5IGZvciBob3N0aW5nIGNvc3RzLlxcblxcbiMjIyAqKjMuIFdoYXQgZG9lcyB4Q2xvdWQgaG9zdCBvZmZlciBmb3IgbjhuIHVzZXJzPyoqXFxuXFxueENsb3VkIHByb3ZpZGVzIGEgb25l4oCRY2xpY2sgZGVwbG95bWVudCBmb3IgbjhuLiBJdCBjb21lcyB3aXRoIGZyZWUgU1NMLCBkZW1vIGFuZCBjdXN0b20gZG9tYWluIHN1cHBvcnQsIHRpbWV6b25lIHNldHVwLCBhdXRvbWF0ZWQgYmFja3VwcywgYW5kIHVwZGF0ZXMuIEl0IHNpbXBsaWZpZXMgc2V0dXAgd2hpbGUga2VlcGluZyBjb250cm9sIGluIHlvdXIgaGFuZHMuXFxuXFxuIyMjICoqNC4gRG8gSSBuZWVkIHByaW9yIGNvZGluZyBleHBlcmllbmNlIHRvIHVzZSBuOG4/KipcXG5cXG5Oby4gTWFueSB1c2VycyBsZWFybiBhcyB0aGV5IGJ1aWxkIHNpbXBsZSBhdXRvbWF0aW9ucyB1c2luZyBwcmUtYnVpbHQgbm9kZXMuIFlvdSBjYW4gYWRkIEphdmFTY3JpcHQgb3IgUHl0aG9uIGNvZGUgbGF0ZXIgZm9yIGN1c3RvbSBsb2dpYy4gQmVnaW5uZXJzIG9mdGVuIHN0YXJ0IHdpdGggY29tbXVuaXR5IHRlbXBsYXRlcyBvciBzdGVwLWJ5LXN0ZXAgZ3VpZGVzLlxcblxcbiMjIyAqKjUuIEhvdyBkbyBJIGdldCBzdGFydGVkIGFzIGEgdG90YWwgYmVnaW5uZXI/KipcXG5cXG5CZWdpbiB3aXRoIHRoZSBuOG4gTGV2ZWwgT25lIGNvdXJzZSBhbmQgb2ZmaWNpYWwgUXVpY2tzdGFydCB0dXRvcmlhbHMuIFRoZXNlIGNvdmVyIGJ1aWxkaW5nIHlvdXIgZmlyc3QgbWluaS13b3JrZmxvdywgbWFuYWdpbmcgY3JlZGVudGlhbHMsIGhhbmRsaW5nIGxvZ2ljLCBhbmQgZXhwb3J0aW5nIHdvcmtmbG93cy5cXG5cXG4jIyMgKio2LiBXaGVyZSBjYW4gSSBmaW5kIHRlbXBsYXRlcyBvciBpZGVhcyBmb3IgYXV0b21hdGlvbnM/KipcXG5cXG5Zb3UgY2FuIGJyb3dzZSB0aGUgKipuOG4gdGVtcGxhdGUgbGlicmFyeSoqIG9uIHRoZWlyIG9mZmljaWFsIHNpdGUuIENvbW11bml0eSBtZW1iZXJzIGFsc28gc2hhcmUgd29ya2Zsb3dzIG9uIFJlZGRpdCwgWW91VHViZSwgYW5kIHRoZSBuOG4gQ29tbXVuaXR5IGlzIGdyZWF0IGZvciBiZWdpbm5lciBpbnNwaXJhdGlvbi5cXG5cXG4jIyMgKio3LiBXaGF0IGlmIGEgd29ya2Zsb3cgZmFpbHMgb3IgYSBub2RlIGVycm9ycz8qKlxcblxcbm44biBwcm92aWRlcyBkZXRhaWxlZCBleGVjdXRpb24gbG9ncy4gWW91IGNhbiByZXJ1biBwYXJ0cyBvZiB5b3VyIHdvcmtmbG93LCBhZGQgSUYgb3IgRXJyb3Igbm9kZXMgdG8gaGFuZGxlIGVycm9ycywgYW5kIHJlY2VpdmUgbm90aWZpY2F0aW9ucyB2aWEgZW1haWwgb3IgU2xhY2suIERlYnVnZ2luZyBpcyB2aXN1YWwuXFxuXFxuIyMjICoqOC4gRG9lcyB4Q2xvdWQgcHJvdmlkZSBhIGZyZWUgdmVyc2lvbiBmb3IgbjhuIGhvc3Rpbmc/KipcXG5cXG5ZZXMuIHhDbG91ZCBvZmZlcnMgbjhuIGhvc3RpbmcgaW4gYm90aCB0aGUgZnJlZSBhbmQgcHJvIHBsYW5zLiBXaGV0aGVyIHlvdSBoYXZlIHlvdXIgb3duIHNlcnZlciBvciB1c2UgeENsb3Vk4oCZcyBmdWxseSBtYW5hZ2VkIGhvc3RpbmcsIHlvdSBjYW4gZGVwbG95IG44biBhcHBsaWNhdGlvbiBmb3IgZnJlZSBhbmQgZ2V0IGFjY2VzcyB0byBhZHZhbmNlZCBmZWF0dXJlcy5cXG5cXG5Qb3N0IFZpZXdzOjczNlwiLFwicHVibGlzaGVkVGltZVwiOlwiMjAyNS0wOC0yMVQxNTowMDowMCswMDowMFwiLFwibWV0YWRhdGFcIjp7XCJsYW5nXCI6XCJlbi1VU1wiLFwidmlld3BvcnRcIjpcIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIsXCJkZXNjcmlwdGlvblwiOlwiTGVhcm4gd2hhdCBpcyBuOG4gYW5kIGhvdyB0aGlzIG9wZW7igJFzb3VyY2Ugd29ya2Zsb3cgYXV0b21hdGlvbiB0b29sIGNhbiBjb25uZWN0IHlvdXIgYXBwcyBhbmQgc3RyZWFtbGluZSB5b3VyIHRhc2tzIGVhc2lseS5cIixcInJvYm90c1wiOlwiZm9sbG93LCBpbmRleCwgbWF4LXNuaXBwZXQ6LTEsIG1heC12aWRlby1wcmV2aWV3Oi0xLCBtYXgtaW1hZ2UtcHJldmlldzpsYXJnZVwiLFwib2c6bG9jYWxlXCI6XCJlbl9VU1wiLFwib2c6dHlwZVwiOlwiYXJ0aWNsZVwiLFwib2c6dGl0bGVcIjpcIldoYXQgSXMgbjhuPyBBIENvbXBsZXRlIEJlZ2lubmVyJ3MgR3VpZGUgLSB4Q2xvdWRcIixcIm9nOmRlc2NyaXB0aW9uXCI6XCJMZWFybiB3aGF0IGlzIG44biBhbmQgaG93IHRoaXMgb3BlbuKAkXNvdXJjZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgY2FuIGNvbm5lY3QgeW91ciBhcHBzIGFuZCBzdHJlYW1saW5lIHlvdXIgdGFza3MgZWFzaWx5LlwiLFwib2c6dXJsXCI6XCJodHRwczovL3hjbG91ZC5ob3N0L3doYXQtaXMtbjhuLWEtYmVnaW5uZXJzLWd1aWRlL1wiLFwib2c6c2l0ZV9uYW1lXCI6XCJ4Q2xvdWQtIE5leHQtR2VuIE1hbmFnZWQgSG9zdGluZyAmIFNlcnZlciBNYW5hZ2VtZW50IGZvciBXb3JkUHJlc3MsIExhcmF2ZWwgJiBQSFAgQXBwbGljYXRpb25zXCIsXCJhcnRpY2xlOnB1Ymxpc2hlclwiOlwiaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3hDbG91ZC5ob3N0XCIsXCJhcnRpY2xlOnRhZ1wiOltcIk1ha2VcIixcIm44blwiLFwieENsb3VkXCIsXCJ4Q2xvdWQgSG9zdGluZ1wiLFwiWmFwaWVyXCJdLFwiYXJ0aWNsZTpzZWN0aW9uXCI6XCJGZWF0dXJlc1wiLFwib2c6aW1hZ2VcIjpcImh0dHBzOi8veGNsb3VkLmhvc3Qvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDgvQmxvZy1fLUludHJvZHVjaW5nLW44bi5qcGdcIixcIm9nOmltYWdlOnNlY3VyZV91cmxcIjpcImh0dHBzOi8veGNsb3VkLmhvc3Qvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMDgvQmxvZy1fLUludHJvZHVjaW5nLW44bi5qcGdcIixcIm9nOmltYWdlOndpZHRoXCI6XCIxMjgwXCIsXCJvZzppbWFnZTpoZWlnaHRcIjpcIjcyMFwiLFwib2c6aW1hZ2U6YWx0XCI6XCJXaGF0IGlzIG44blwiLFwib2c6aW1hZ2U6dHlwZVwiOlwiaW1hZ2UvanBlZ1wiLFwiYXJ0aWNsZTpwdWJsaXNoZWRfdGltZVwiOlwiMjAyNS0wOC0yMVQxNTowMDowMCswMDowMFwiLFwib2c6dmlkZW9cIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0gxYkNzLW1XMzJvXCIsXCJ5YTpvdnM6dXBsb2FkX2RhdGVcIjpcIjIwMjUtMDgtMjFHTVQrMDAwMDE1OjAwOjAwKzAwOjAwXCIsXCJ5YTpvdnM6YWxsb3dfZW1iZWRcIjpcInRydWVcIixcInR3aXR0ZXI6Y2FyZFwiOlwic3VtbWFyeV9sYXJnZV9pbWFnZVwiLFwidHdpdHRlcjp0aXRsZVwiOlwiV2hhdCBJcyBuOG4/IEEgQ29tcGxldGUgQmVnaW5uZXIncyBHdWlkZSAtIHhDbG91ZFwiLFwidHdpdHRlcjpkZXNjcmlwdGlvblwiOlwiTGVhcm4gd2hhdCBpcyBuOG4gYW5kIGhvdyB0aGlzIG9wZW7igJFzb3VyY2Ugd29ya2Zsb3cgYXV0b21hdGlvbiB0b29sIGNhbiBjb25uZWN0IHlvdXIgYXBwcyBhbmQgc3RyZWFtbGluZSB5b3VyIHRhc2tzIGVhc2lseS5cIixcInR3aXR0ZXI6c2l0ZVwiOlwiQHhDbG91ZF9ob3N0XCIsXCJ0d2l0dGVyOmNyZWF0b3JcIjpcIkB4Q2xvdWRfaG9zdFwiLFwidHdpdHRlcjppbWFnZVwiOlwiaHR0cHM6Ly94Y2xvdWQuaG9zdC93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8wOC9CbG9nLV8tSW50cm9kdWNpbmctbjhuLmpwZ1wiLFwidHdpdHRlcjpsYWJlbDFcIjpcIldyaXR0ZW4gYnlcIixcInR3aXR0ZXI6ZGF0YTFcIjpcIlRvd2ZpcXVlIEFobWVkXCIsXCJ0d2l0dGVyOmxhYmVsMlwiOlwiVGltZSB0byByZWFkXCIsXCJ0d2l0dGVyOmRhdGEyXCI6XCIxMyBtaW51dGVzXCIsXCJnZW5lcmF0b3JcIjpbXCJXb3JkUHJlc3MgNi45XCIsXCJTaXRlIEtpdCBieSBHb29nbGUgMS4xNjQuMFwiLFwiV1AgUm9ja2V0IDMuMjAuMC4zXCJdLFwibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2VcIjpcImh0dHBzOi8veGNsb3VkLmhvc3Qvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMTAvY3JvcHBlZC14Y2xvdWQtZmF2LTUxMng1MTItMS0yNzB4MjcwLnBuZ1wifSxcImV4dGVybmFsXCI6e1wiY2Fub25pY2FsXCI6e1wiaHR0cHM6Ly94Y2xvdWQuaG9zdC93aGF0LWlzLW44bi1hLWJlZ2lubmVycy1ndWlkZS9cIjp7fX0sXCJwcmVjb25uZWN0XCI6e1wiaHR0cHM6Ly9zLmFkcm9sbC5jb20vXCI6e1wiY3Jvc3NvcmlnaW5cIjpcIlwiLFwiZGF0YS1yb2NrZXQtcHJlY29ubmVjdFwiOlwiXCJ9LFwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vXCI6e1wiY3Jvc3NvcmlnaW5cIjpcIlwiLFwiZGF0YS1yb2NrZXQtcHJlY29ubmVjdFwiOlwiXCJ9LFwiaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vXCI6e1wiY3Jvc3NvcmlnaW5cIjpcIlwiLFwiZGF0YS1yb2NrZXQtcHJlY29ubmVjdFwiOlwiXCJ9LFwiaHR0cHM6Ly9jb25uZWN0LmZhY2Vib29rLm5ldC9cIjp7XCJjcm9zc29yaWdpblwiOlwiXCIsXCJkYXRhLXJvY2tldC1wcmVjb25uZWN0XCI6XCJcIn0sXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL1wiOntcImNyb3Nzb3JpZ2luXCI6XCJcIixcImRhdGEtcm9ja2V0LXByZWNvbm5lY3RcIjpcIlwifSxcImh0dHBzOi8vY2xpZW50LmNyaXNwLmNoYXQvXCI6e1wiY3Jvc3NvcmlnaW5cIjpcIlwiLFwiZGF0YS1yb2NrZXQtcHJlY29ubmVjdFwiOlwiXCJ9LFwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9cIjp7XCJjcm9zc29yaWdpblwiOlwiXCJ9fSxcInByZWxvYWRcIjp7XCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9SW50ZXIlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMlN0NTb3JhJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDRE0lMjBTYW5zJTNBMTAwJTJDMTAwaXRhbGljJTJDMjAwJTJDMjAwaXRhbGljJTJDMzAwJTJDMzAwaXRhbGljJTJDNDAwJTJDNDAwaXRhbGljJTJDNTAwJTJDNTAwaXRhbGljJTJDNjAwJTJDNjAwaXRhbGljJTJDNzAwJTJDNzAwaXRhbGljJTJDODAwJTJDODAwaXRhbGljJTJDOTAwJTJDOTAwaXRhbGljJTdDT3BlbiUyMFNhbnMlM0ExMDAlMkMxMDBpdGFsaWMlMkMyMDAlMkMyMDBpdGFsaWMlMkMzMDAlMkMzMDBpdGFsaWMlMkM0MDAlMkM0MDBpdGFsaWMlMkM1MDAlMkM1MDBpdGFsaWMlMkM2MDAlMkM2MDBpdGFsaWMlMkM3MDAlMkM3MDBpdGFsaWMlMkM4MDAlMkM4MDBpdGFsaWMlMkM5MDAlMkM5MDBpdGFsaWMmZGlzcGxheT1zd2FwXCI6e1wiZGF0YS1yb2NrZXQtcHJlbG9hZFwiOlwiXCIsXCJhc1wiOlwic3R5bGVcIn0sXCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvc29yYS92MTcveE1RYnVGRllUNzJYelFVcERnLndvZmYyXCI6e1wiY3Jvc3NvcmlnaW5cIjpcIlwiLFwiZGF0YS1yb2NrZXQtcHJlbG9hZFwiOlwiXCIsXCJhc1wiOlwiZm9udFwifX0sXCJkbnMtcHJlZmV0Y2hcIjp7XCJodHRwczovL2NsaWVudC5jcmlzcC5jaGF0L1wiOnt9LFwiaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vXCI6e319LFwiYWx0ZXJuYXRlXCI6e1wiaHR0cHM6Ly94Y2xvdWQuaG9zdC9mZWVkL1wiOntcInR5cGVcIjpcImFwcGxpY2F0aW9uL3Jzcyt4bWxcIixcInRpdGxlXCI6XCJ4Q2xvdWQgwrsgRmVlZFwifSxcImh0dHBzOi8veGNsb3VkLmhvc3QvY29tbWVudHMvZmVlZC9cIjp7XCJ0eXBlXCI6XCJhcHBsaWNhdGlvbi9yc3MreG1sXCIsXCJ0aXRsZVwiOlwieENsb3VkIMK7IENvbW1lbnRzIEZlZWRcIn0sXCJodHRwczovL3hjbG91ZC5ob3N0L3dwLWpzb24vb2VtYmVkLzEuMC9lbWJlZD91cmw9aHR0cHMlM0ElMkYlMkZ4Y2xvdWQuaG9zdCUyRndoYXQtaXMtbjhuLWEtYmVnaW5uZXJzLWd1aWRlJTJGXCI6e1widGl0bGVcIjpcIm9FbWJlZCAoSlNPTilcIixcInR5cGVcIjpcImFwcGxpY2F0aW9uL2pzb24rb2VtYmVkXCJ9LFwiaHR0cHM6Ly94Y2xvdWQuaG9zdC93cC1qc29uL29lbWJlZC8xLjAvZW1iZWQ/dXJsPWh0dHBzJTNBJTJGJTJGeGNsb3VkLmhvc3QlMkZ3aGF0LWlzLW44bi1hLWJlZ2lubmVycy1ndWlkZSUyRiZmb3JtYXQ9eG1sXCI6e1widGl0bGVcIjpcIm9FbWJlZCAoWE1MKVwiLFwidHlwZVwiOlwidGV4dC94bWwrb2VtYmVkXCJ9LFwiaHR0cHM6Ly94Y2xvdWQuaG9zdC93cC1qc29uL3dwL3YyL3Bvc3RzLzI2Nzc4XCI6e1widGl0bGVcIjpcIkpTT05cIixcInR5cGVcIjpcImFwcGxpY2F0aW9uL2pzb25cIn19LFwiaHR0cHM6Ly9hcGkudy5vcmcvXCI6e1wiaHR0cHM6Ly94Y2xvdWQuaG9zdC93cC1qc29uL1wiOnt9fSxcIkVkaXRVUklcIjp7XCJodHRwczovL3hjbG91ZC5ob3N0L3htbHJwYy5waHA/cnNkXCI6e1widHlwZVwiOlwiYXBwbGljYXRpb24vcnNkK3htbFwiLFwidGl0bGVcIjpcIlJTRFwifX0sXCJzaG9ydGxpbmtcIjp7XCJodHRwczovL3hjbG91ZC5ob3N0Lz9wPTI2Nzc4XCI6e319LFwibW9kdWxlcHJlbG9hZFwiOntcImh0dHBzOi8veGNsb3VkLmhvc3Qvd3AtaW5jbHVkZXMvanMvZGlzdC9zY3JpcHQtbW9kdWxlcy9pbnRlcmFjdGl2aXR5L2luZGV4Lm1pbi5qcz92ZXI9ODk2NDcxMDU2NWExZDI1ODUwMWZcIjp7XCJpZFwiOlwiQHdvcmRwcmVzcy9pbnRlcmFjdGl2aXR5LWpzLW1vZHVsZXByZWxvYWRcIixcImZldGNocHJpb3JpdHlcIjpcImxvd1wifX0sXCJpY29uXCI6e1wiaHR0cHM6Ly94Y2xvdWQuaG9zdC93cC1jb250ZW50L3VwbG9hZHMvMjAyMy8xMC9jcm9wcGVkLXhjbG91ZC1mYXYtNTEyeDUxMi0xLTMyeDMyLnBuZ1wiOntcInNpemVzXCI6XCIzMngzMlwifSxcImh0dHBzOi8veGNsb3VkLmhvc3Qvd3AtY29udGVudC91cGxvYWRzLzIwMjMvMTAvY3JvcHBlZC14Y2xvdWQtZmF2LTUxMng1MTItMS0xOTJ4MTkyLnBuZ1wiOntcInNpemVzXCI6XCIxOTJ4MTkyXCJ9fSxcImFwcGxlLXRvdWNoLWljb25cIjp7XCJodHRwczovL3hjbG91ZC5ob3N0L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzEwL2Nyb3BwZWQteGNsb3VkLWZhdi01MTJ4NTEyLTEtMTgweDE4MC5wbmdcIjp7fX19LFwidXNhZ2VcIjp7XCJ0b2tlbnNcIjo0MDkyfX0se1widGl0bGVcIjpcIldoYXQgaXMgbjhuPyBBbiBJbi1EZXB0aCBHdWlkZSB0byBXb3JrZmxvdyBBdXRvbWF0aW9uXCIsXCJ1cmxcIjpcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuL1wiLFwiZGVzY3JpcHRpb25cIjpcIkluIHRvZGF5J3MgZGlnaXRhbCBsYW5kc2NhcGUsIGJ1c2luZXNzZXMgcmVseSBvbiBhIGRpenp5aW5nIGFycmF5IG9mIHNwZWNpYWxpemVkIGFwcGxpY2F0aW9ucyB0byBmdW5jdGlvbi4gWW91IGhhdmUgYSBDUk0gZm9yIGN1c3RvbWVyIHJlbGF0aW9uc2hpcHMsIGFuIGVtYWlsIHBsYXRmb3JtIGZvciBtYXJrZXRpbmcsIGEgcHJvamVjdCBtYW5hZ2VtZW50IHRvb2wgZm9yIHRhc2tzLCBhbmQgYSBkb3plbiBvdGhlcnMsIGVhY2ggaGFuZGxpbmcgYSBjcml0aWNhbCBwaWVjZSBvZiB0aGUgcHV6emxlLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZXNlIGFwcGxpY2F0aW9ucyBvZnRlbiBleGlzdCBpbiB0aGVpciBvd24gc2lsb3MsIGNyZWF0aW5nIGRpZ2l0YWwgaXNsYW5kcyB0aGF0IHJlcXVpcmUgY29uc3RhbnQgbWFudWFsIGVmZm9ydCB0byBicmlkZ2UuIFRoaXMgaXMgd2hlcmUgd29ya2Zsb3cgYXV0b21hdGlvbiBiZWNvbWVzIGVzc2VudGlhbC5cIixcImRhdGVcIjpcIk5vdiAxMiwgMjAyNVwiLFwiY29udGVudFwiOlwiV2hhdCBpcyBuOG4/IEFuIEluLURlcHRoIEd1aWRlIHRvIFdvcmtmbG93IEF1dG9tYXRpb25cXG49PT09PT09PT09PT09PT1cXG5cXG4hW0ltYWdlIDE6IGxvZ29dKGJsb2I6aHR0cDovL2xvY2FsaG9zdC8zNTExYThiZWJkOGM4N2FhYzgzZjNkNjg5Y2QxYzA4MylcXG5cXG5bXShodHRwczovL3d3dy5jb29raWVib3QuY29tL2VuL3doYXQtaXMtYmVoaW5kLXBvd2VyZWQtYnktY29va2llYm90LylcXG5cXG4qICAgW0NvbnNlbnRdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpXFxuKiAgIFtEZXRhaWxzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVxcbiogICBbWyNJQUJWMlNFVFRJTkdTI11dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpXFxuKiAgIFtBYm91dF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylcXG5cXG5UaGlzIHdlYnNpdGUgdXNlcyBjb29raWVzXFxuXFxuV2UgdXNlIGNvb2tpZXMgYW5kIG90aGVyIHRyYWNraW5nIHRlY2hub2xvZ2llcyB0byBpbXByb3ZlIHlvdXIgYnJvd3NpbmcgZXhwZXJpZW5jZSwgc2hvdyB5b3UgcGVyc29uYWxpemVkIGNvbnRlbnQgYW5kIGFkcywgYW5kIGFuYWx5emUgeW91ciB1c2Ugb2YgdGhlIHdlYnNpdGUuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBTZWUgb3VyW1ByaXZhY3kgUG9saWN5XShodHRwczovL2VsZW1lbnRvci5jb20vYWJvdXQvcHJpdmFjeS8pLlxcblxcbkNvbnNlbnQgU2VsZWN0aW9uXFxuXFxuKipOZWNlc3NhcnkqKiBcXG5cXG4tIFt4XSBcXG5cXG4qKlByZWZlcmVuY2VzKiogXFxuXFxuLSBbeF0gXFxuXFxuKipTdGF0aXN0aWNzKiogXFxuXFxuLSBbeF0gXFxuXFxuKipNYXJrZXRpbmcqKiBcXG5cXG4tIFt4XSBcXG5cXG5bUHJpdmFjeSBQb2xpY3ldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpXFxuXFxuRGV0YWlsc1xcblxcbiogICBcXG5OZWNlc3NhcnkgIDY3LSBbeF0gICBOZWNlc3NhcnkgY29va2llcyBoZWxwIG1ha2UgYSB3ZWJzaXRlIHVzYWJsZSBieSBlbmFibGluZyBiYXNpYyBmdW5jdGlvbnMgbGlrZSBwYWdlIG5hdmlnYXRpb24gYW5kIGFjY2VzcyB0byBzZWN1cmUgYXJlYXMgb2YgdGhlIHdlYnNpdGUuIFRoZSB3ZWJzaXRlIGNhbm5vdCBmdW5jdGlvbiBwcm9wZXJseSB3aXRob3V0IHRoZXNlIGNvb2tpZXMuIFxcblxcbiAgICAqICAgW0F0bGFzc2lhbiAxXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDJdKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vd3d3LmF0bGFzc2lhbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3kgXFxcIkF0bGFzc2lhbidzIHByaXZhY3kgcG9saWN5XFxcIikqKmF0bGFzc2lhbi54c3JmLnRva2VuKipFbnN1cmVzIHZpc2l0b3IgYnJvd3Npbmctc2VjdXJpdHkgYnkgcHJldmVudGluZyBjcm9zcy1zaXRlIHJlcXVlc3QgZm9yZ2VyeS4gVGhpcyBjb29raWUgaXMgZXNzZW50aWFsIGZvciB0aGUgc2VjdXJpdHkgb2YgdGhlIHdlYnNpdGUgYW5kIHZpc2l0b3IuICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG4gICAgKiAgIFtDbG91ZGZsYXJlIDFdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpW0xlYXJuIG1vcmUgYWJvdXQgdGhpcyBwcm92aWRlciFbSW1hZ2UgM10oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly93d3cuY2xvdWRmbGFyZS5jb20vcHJpdmFjeXBvbGljeS8gXFxcIkNsb3VkZmxhcmUncyBwcml2YWN5IHBvbGljeVxcXCIpKipjZi50dXJuc3RpbGUudSoqVGhpcyBjb29raWUgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGh1bWFucyBhbmQgYm90cy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICBcXG4gICAgKiAgIFtDb29raWVib3QgMV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSA0XShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvN2MzN2Y2MTY1NDEwMmE4OGE5YmUyMDlmOTU2OWVmNzgpXShodHRwczovL3d3dy5jb29raWVib3QuY29tL2dvdG8vcHJpdmFjeS1wb2xpY3kvIFxcXCJDb29raWVib3QncyBwcml2YWN5IHBvbGljeVxcXCIpKioxLmdpZioqVXNlZCB0byBjb3VudCB0aGUgbnVtYmVyIG9mIHNlc3Npb25zIHRvIHRoZSB3ZWJzaXRlLCBuZWNlc3NhcnkgZm9yIG9wdGltaXppbmcgQ01QIHByb2R1Y3QgZGVsaXZlcnkuICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogUGl4ZWwgVHJhY2tlciAgIFxcbiAgICAqICAgW0VsZW1lbnRvciAxOF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSA1XShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvN2MzN2Y2MTY1NDEwMmE4OGE5YmUyMDlmOTU2OWVmNzgpXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpdmFjeS1wb2xpY3kvIFxcXCJFbGVtZW50b3IncyBwcml2YWN5IHBvbGljeVxcXCIpKipBU1BTRVNTSU9OSUQjKipQcmVzZXJ2ZXMgdXNlcnMgc3RhdGVzIGFjcm9zcyBwYWdlIHJlcXVlc3RzLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRUUCBDb29raWUgICoqZWxlbWVudG9yW3g4XSoqVXNlZCBpbiBjb250ZXh0IHdpdGggdGhlIHdlYnNpdGUncyBXb3JkUHJlc3MgdGhlbWUuIFRoZSBjb29raWUgYWxsb3dzIHRoZSB3ZWJzaXRlIG93bmVyIHRvIGltcGxlbWVudCBvciBjaGFuZ2UgdGhlIHdlYnNpdGUncyBjb250ZW50IGluIHJlYWwtdGltZS4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipwdXNoZXJUcmFuc3BvcnRUTFNbeDJdKipUZWNobmljYWwgY29va2llIHRoYXQgc3luY2hyb25pemVzIHRoZSB3ZWJzaXRlIGFuZCB0aGUgQ01TLiBUaGlzIGlzIHVzZWQgdG8gdXBkYXRlIHRoZSB3ZWJzaXRlLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKmNmX2NsZWFyYW5jZSoqVGhpcyBjb29raWUgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGh1bWFucyBhbmQgYm90cy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSB5ZWFyKipUeXBlKio6IEhUVFAgQ29va2llICAqKnJjOjpiKipUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gaHVtYW5zIGFuZCBib3RzLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipyYzo6ZioqVGhpcyBjb29raWUgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGh1bWFucyBhbmQgYm90cy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqd2NfY2FydF9oYXNoXyMqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKip3Y19mcmFnbWVudHNfIyoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKndwRW1vamlTZXR0aW5nc1N1cHBvcnRzW3gyXSoqVGhpcyBjb29raWUgaXMgcGFydCBvZiBhIGJ1bmRsZSBvZiBjb29raWVzIHdoaWNoIHNlcnZlIHRoZSBwdXJwb3NlIG9mIGNvbnRlbnQgZGVsaXZlcnkgYW5kIHByZXNlbnRhdGlvbi4gVGhlIGNvb2tpZXMga2VlcCB0aGUgY29ycmVjdCBzdGF0ZSBvZiBmb250LCBibG9nL3BpY3R1cmUgc2xpZGVycywgY29sb3IgdGhlbWVzIGFuZCBvdGhlciB3ZWJzaXRlIHNldHRpbmdzLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAgXFxuICAgICogICBbR29vZ2xlIDddKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpW0xlYXJuIG1vcmUgYWJvdXQgdGhpcyBwcm92aWRlciFbSW1hZ2UgNl0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly9idXNpbmVzcy5zYWZldHkuZ29vZ2xlL3ByaXZhY3kvIFxcXCJHb29nbGUncyBwcml2YWN5IHBvbGljeVxcXCIpU29tZSBvZiB0aGUgZGF0YSBjb2xsZWN0ZWQgYnkgdGhpcyBwcm92aWRlciBpcyBmb3IgdGhlIHB1cnBvc2VzIG9mIHBlcnNvbmFsaXphdGlvbiBhbmQgbWVhc3VyaW5nIGFkdmVydGlzaW5nIGVmZmVjdGl2ZW5lc3MuXFxuXFxuKip0ZXN0X2Nvb2tpZSoqVXNlZCB0byBjaGVjayBpZiB0aGUgdXNlcidzIGJyb3dzZXIgc3VwcG9ydHMgY29va2llcy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxIGRheSoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfX21wX29wdF9pbl9vdXRfIyoqU3RvcmVzIHRoZSB1c2VyJ3MgY29va2llIGNvbnNlbnQgc3RhdGUgZm9yIHRoZSBjdXJyZW50IGRvbWFpbioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRUUCBDb29raWUgICoqR0NMQlt4Ml0qKlRoaXMgY29va2llIGlzIHVzZWQgaW4gY29udGV4dCB3aXRoIGxvYWQgYmFsYW5jaW5nIC0gVGhpcyBvcHRpbWl6ZXMgdGhlIHJlc3BvbnNlIHJhdGUgYmV0d2VlbiB0aGUgdmlzaXRvciBhbmQgdGhlIHNpdGUsIGJ5IGRpc3RyaWJ1dGluZyB0aGUgdHJhZmZpYyBsb2FkIG9uIG11bHRpcGxlIG5ldHdvcmsgbGlua3Mgb3Igc2VydmVycy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfZ3JlY2FwdGNoYSoqVGhpcyBjb29raWUgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGh1bWFucyBhbmQgYm90cy4gVGhpcyBpcyBiZW5lZmljaWFsIGZvciB0aGUgd2Vic2l0ZSwgaW4gb3JkZXIgdG8gbWFrZSB2YWxpZCByZXBvcnRzIG9uIHRoZSB1c2Ugb2YgdGhlaXIgd2Vic2l0ZS4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipyYzo6YSoqVGhpcyBjb29raWUgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGh1bWFucyBhbmQgYm90cy4gVGhpcyBpcyBiZW5lZmljaWFsIGZvciB0aGUgd2Vic2l0ZSwgaW4gb3JkZXIgdG8gbWFrZSB2YWxpZCByZXBvcnRzIG9uIHRoZSB1c2Ugb2YgdGhlaXIgd2Vic2l0ZS4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipyYzo6YyoqVGhpcyBjb29raWUgaXMgdXNlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGh1bWFucyBhbmQgYm90cy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICBcXG4gICAgKiAgIFtMaW5rZWRJbiAyXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDddKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9sZWdhbC9wcml2YWN5LXBvbGljeSBcXFwiTGlua2VkSW4ncyBwcml2YWN5IHBvbGljeVxcXCIpKipiY29va2llKipVc2VkIGluIG9yZGVyIHRvIGRldGVjdCBzcGFtIGFuZCBpbXByb3ZlIHRoZSB3ZWJzaXRlJ3Mgc2VjdXJpdHkuICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgeWVhcioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipsaV9nYyoqU3RvcmVzIHRoZSB1c2VyJ3MgY29va2llIGNvbnNlbnQgc3RhdGUgZm9yIHRoZSBjdXJyZW50IGRvbWFpbioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDE4MCBkYXlzKipUeXBlKio6IEhUVFAgQ29va2llICAgXFxuICAgICogICBbTG9vbSA0XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDhdKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vd3d3Lmxvb20uY29tL3ByaXZhY3ktcG9saWN5IFxcXCJMb29tICdzIHByaXZhY3kgcG9saWN5XFxcIikqKmF3Yy50YXNrU2Vzc2lvbnMqKlRoaXMgY29va2llIGlzIG5lY2Vzc2FyeSBmb3IgdGhlIGxvZ2luIGZ1bmN0aW9uIG9uIHRoZSB3ZWJzaXRlLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKiphd2MudGFza1Nlc3Npb25zSW5pdCoqVGhpcyBjb29raWUgaXMgbmVjZXNzYXJ5IGZvciB0aGUgbG9naW4gZnVuY3Rpb24gb24gdGhlIHdlYnNpdGUuICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKl9fYXdjX3RsZF90ZXN0X18gW3gyXSoqTmVjZXNzYXJ5IGZvciB0aGUgZ2VuZXJhbCBmdW5jdGlvbmFsaXR5IG9mIHRoZSB3ZWJzaXRlLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAgXFxuICAgICogICBbYmUuZWxlbWVudG9yLmNvbSBjb25zZW50LmNvb2tpZWJvdC5jb20gMTFdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpKipDb29raWVDb25zZW50W3gxMV0qKlN0b3JlcyB0aGUgdXNlcidzIGNvb2tpZSBjb25zZW50IHN0YXRlIGZvciB0aGUgY3VycmVudCBkb21haW4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxIHllYXIqKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG4gICAgKiAgIFtjZG4uY29va2llbGF3Lm9yZyAxXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKSoqT3B0YW5vbkNvbnNlbnQqKkRldGVybWluZXMgd2hldGhlciB0aGUgdmlzaXRvciBoYXMgYWNjZXB0ZWQgdGhlIGNvb2tpZSBjb25zZW50IGJveC4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGNvb2tpZSBjb25zZW50IGJveCB3aWxsIG5vdCBiZSBwcmVzZW50ZWQgYWdhaW4gdXBvbiByZS1lbnRyeS4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSB5ZWFyKipUeXBlKio6IEhUVFAgQ29va2llICAgXFxuICAgICogICBbbG1udHIuY2xvdWRmbGFyZWFjY2Vzcy5jb20gMV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIykqKkNGX1Nlc3Npb24qKlRoaXMgY29va2llIGlzIGEgcGFydCBvZiB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgQ2xvdWRmbGFyZSAtIEluY2x1ZGluZyBsb2FkLWJhbGFuY2luZywgZGVsaXZlcmFuY2Ugb2Ygd2Vic2l0ZSBjb250ZW50IGFuZCBzZXJ2aW5nIEROUyBjb25uZWN0aW9uIGZvciB3ZWJzaXRlIG9wZXJhdG9ycy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG4gICAgKiAgIFtzdG9yYWdlLmdvb2dsZWFwaXMuY29tIGNoYWxsZW5nZXMuY2xvdWRmbGFyZS5jb20gaGVsbG90aGVtZS5lbGVtZW50b3IuY29tIHZpbWVvLmNvbSA4XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKSoqX2NmdXZpZFt4OF0qKlRoaXMgY29va2llIGlzIGEgcGFydCBvZiB0aGUgc2VydmljZXMgcHJvdmlkZWQgYnkgQ2xvdWRmbGFyZSAtIEluY2x1ZGluZyBsb2FkLWJhbGFuY2luZywgZGVsaXZlcmFuY2Ugb2Ygd2Vic2l0ZSBjb250ZW50IGFuZCBzZXJ2aW5nIEROUyBjb25uZWN0aW9uIGZvciB3ZWJzaXRlIG9wZXJhdG9ycy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVFRQIENvb2tpZSAgIFxcbiAgICAqICAgW3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20gZWxlbWVudG9yLmNsb3VkIGVsZW1lbnRvci5jb20gZWxlbWVudG9yLnJlZCBwbGF0Zm9ybS50d2l0dGVyLmNvbSB2aW1lby5jb20gMTFdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpKipfX2NmX2JtW3gxMV0qKlRoaXMgY29va2llIGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBodW1hbnMgYW5kIGJvdHMuIFRoaXMgaXMgYmVuZWZpY2lhbCBmb3IgdGhlIHdlYnNpdGUsIGluIG9yZGVyIHRvIG1ha2UgdmFsaWQgcmVwb3J0cyBvbiB0aGUgdXNlIG9mIHRoZWlyIHdlYnNpdGUuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG4gICAgKiAgIFt3d3cucmVjYXB0Y2hhLm5ldCAxXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKSoqX0dSRUNBUFRDSEEqKlRoaXMgY29va2llIGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBodW1hbnMgYW5kIGJvdHMuIFRoaXMgaXMgYmVuZWZpY2lhbCBmb3IgdGhlIHdlYnNpdGUsIGluIG9yZGVyIHRvIG1ha2UgdmFsaWQgcmVwb3J0cyBvbiB0aGUgdXNlIG9mIHRoZWlyIHdlYnNpdGUuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMTgwIGRheXMqKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG5cXG4qICAgXFxuUHJlZmVyZW5jZXMgIDMtIFt4XSAgIFByZWZlcmVuY2UgY29va2llcyBlbmFibGUgYSB3ZWJzaXRlIHRvIHJlbWVtYmVyIGluZm9ybWF0aW9uIHRoYXQgY2hhbmdlcyB0aGUgd2F5IHRoZSB3ZWJzaXRlIGJlaGF2ZXMgb3IgbG9va3MsIGxpa2UgeW91ciBwcmVmZXJyZWQgbGFuZ3VhZ2Ugb3IgdGhlIHJlZ2lvbiB0aGF0IHlvdSBhcmUgaW4uIFxcblxcbiAgICAqICAgW0VsZW1lbnRvciAxXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDldKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcml2YWN5LXBvbGljeS8gXFxcIkVsZW1lbnRvcidzIHByaXZhY3kgcG9saWN5XFxcIikqKndwLXdwbWxfY3VycmVudF9sYW5ndWFnZSoqRGVzaWduYXRlcyB0aGUgY291bnRyeSBjb2RlIHRoYXQgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdXNlcidzIElQIGFkZHJlc3MuIFVzZWQgdG8gZGV0ZXJtaW5lIHdoYXQgbGFuZ3VhZ2Ugc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSB2aXNpdG9yLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG4gICAgKiAgIFtMaW5rZWRJbiAxXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDEwXShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvN2MzN2Y2MTY1NDEwMmE4OGE5YmUyMDlmOTU2OWVmNzgpXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vbGVnYWwvcHJpdmFjeS1wb2xpY3kgXFxcIkxpbmtlZEluJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqbGlkYyoqUmVnaXN0ZXJzIHdoaWNoIHNlcnZlci1jbHVzdGVyIGlzIHNlcnZpbmcgdGhlIHZpc2l0b3IuIFRoaXMgaXMgdXNlZCBpbiBjb250ZXh0IHdpdGggbG9hZCBiYWxhbmNpbmcsIGluIG9yZGVyIHRvIG9wdGltaXplIHVzZXIgZXhwZXJpZW5jZS4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG4gICAgKiAgIFtMb29tIDFdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpW0xlYXJuIG1vcmUgYWJvdXQgdGhpcyBwcm92aWRlciFbSW1hZ2UgMTFdKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vd3d3Lmxvb20uY29tL3ByaXZhY3ktcG9saWN5IFxcXCJMb29tICdzIHByaXZhY3kgcG9saWN5XFxcIikqKmxvb21fYW5vbl9jb21tZW50KipUaGlzIGNvb2tpZSBzdG9yZXMgaW5mb3JtYXRpb24gZm9yIHRoZSB3aWRnZXQgc2V0dGluZ3Mgb24gdGhlIHdlYnNpdGUuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSB5ZWFyKipUeXBlKio6IEhUVFAgQ29va2llICAgXFxuXFxuKiAgIFxcblN0YXRpc3RpY3MgIDIzLSBbeF0gICBTdGF0aXN0aWMgY29va2llcyBoZWxwIHdlYnNpdGUgb3duZXJzIHRvIHVuZGVyc3RhbmQgaG93IHZpc2l0b3JzIGludGVyYWN0IHdpdGggd2Vic2l0ZXMgYnkgY29sbGVjdGluZyBhbmQgcmVwb3J0aW5nIGluZm9ybWF0aW9uIGFub255bW91c2x5LiBcXG5cXG4gICAgKiAgIFtFbGVtZW50b3IgNV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAxMl0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaXZhY3ktcG9saWN5LyBcXFwiRWxlbWVudG9yJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqRlBBVSoqQXNzaWducyBhIHNwZWNpZmljIElEIHRvIHRoZSB2aXNpdG9yLiBUaGlzIGFsbG93cyB0aGUgd2Vic2l0ZSB0byBkZXRlcm1pbmUgdGhlIG51bWJlciBvZiBzcGVjaWZpYyB1c2VyLXZpc2l0cyBmb3IgYW5hbHlzaXMgYW5kIHN0YXRpc3RpY3MuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMyBtb250aHMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqRlBHU0lEKipSZWdpc3RlcnMgc3RhdGlzdGljYWwgZGF0YSBvbiB1c2VycycgYmVoYXZpb3VyIG9uIHRoZSB3ZWJzaXRlLiBVc2VkIGZvciBpbnRlcm5hbCBhbmFseXRpY3MgYnkgdGhlIHdlYnNpdGUgb3BlcmF0b3IuICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgZGF5KipUeXBlKio6IEhUVFAgQ29va2llICAqKkZQSUQqKlJlZ2lzdGVycyBzdGF0aXN0aWNhbCBkYXRhIG9uIHVzZXJzJyBiZWhhdmlvdXIgb24gdGhlIHdlYnNpdGUuIFVzZWQgZm9yIGludGVybmFsIGFuYWx5dGljcyBieSB0aGUgd2Vic2l0ZSBvcGVyYXRvci4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogNDAwIGRheXMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqRlBMQyoqUmVnaXN0ZXJzIGEgdW5pcXVlIElEIHRoYXQgaXMgdXNlZCB0byBnZW5lcmF0ZSBzdGF0aXN0aWNhbCBkYXRhIG9uIGhvdyB0aGUgdmlzaXRvciB1c2VzIHRoZSB3ZWJzaXRlLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgZGF5KipUeXBlKio6IEhUVFAgQ29va2llICAqKmd0bUJyb3dzZXJJZCoqVGhpcyBjb29raWUgaXMgdXNlZCB0byBkZXRlcm1pbmUgaWYgdGhlIHZpc2l0b3IgaGFzIHZpc2l0ZWQgdGhlIHdlYnNpdGUgYmVmb3JlLCBvciBpZiBpdCBpcyBhIG5ldyB2aXNpdG9yIG9uIHRoZSB3ZWJzaXRlLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAgXFxuICAgICogICBbTG9vbSA4XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDEzXShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvN2MzN2Y2MTY1NDEwMmE4OGE5YmUyMDlmOTU2OWVmNzgpXShodHRwczovL3d3dy5sb29tLmNvbS9wcml2YWN5LXBvbGljeSBcXFwiTG9vbSAncyBwcml2YWN5IHBvbGljeVxcXCIpKiphanNfYW5vbnltb3VzX2lkKipUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGNvdW50IGhvdyBtYW55IHRpbWVzIGEgd2Vic2l0ZSBoYXMgYmVlbiB2aXNpdGVkIGJ5IGRpZmZlcmVudCB2aXNpdG9ycyAtIHRoaXMgaXMgZG9uZSBieSBhc3NpZ25pbmcgdGhlIHZpc2l0b3IgYW4gSUQsIHNvIHRoZSB2aXNpdG9yIGRvZXMgbm90IGdldCByZWdpc3RlcmVkIHR3aWNlLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnNlbnRyeVJlcGxheVNlc3Npb24qKlJlZ2lzdGVycyBkYXRhIG9uIHZpc2l0b3JzJyB3ZWJzaXRlLWJlaGF2aW91ci4gVGhpcyBpcyB1c2VkIGZvciBpbnRlcm5hbCBhbmFseXNpcyBhbmQgd2Vic2l0ZSBvcHRpbWl6YXRpb24uICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnZpZXdlcl9zZXNzaW9uX2RhdGEqKlVzZWQgaW4gY29ubmVjdGlvbiB3aXRoIEVuZCBVc2VyIEV4cGVyaWVuY2UgTW9uaXRvcmluZyAoRVVFTSkuIFRoZSBjb29raWUgY29sbGVjdHMgaW5mb3JtYXRpb24gb24gYXBwbGljYXRpb24vZGV2aWNlIHBlcmZvcm1hbmNlLCB3aGljaCBhbGxvd3Mgc3VwcG9ydC93ZWJzaXRlIHN0YWZmIHRvIG9wdGltaXplIHRoZWlyIHByb2R1Y3RzIGFuZCBzZXJ2aWNlcy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqYWpzX2Fub255bW91c19pZFt4Ml0qKlRoaXMgY29va2llIGlzIHVzZWQgdG8gaWRlbnRpZnkgYSBzcGVjaWZpYyB2aXNpdG9yIC0gdGhpcyBpbmZvcm1hdGlvbiBpcyB1c2VkIHRvIGlkZW50aWZ5IHRoZSBudW1iZXIgb2Ygc3BlY2lmaWMgdmlzaXRvcnMgb24gYSB3ZWJzaXRlLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgeWVhcioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfX0hvc3QtcHNpZmkuYW5hbHl0aWNzVHJhY2UqKlJlZ2lzdGVycyBzdGF0aXN0aWNhbCBkYXRhIG9uIHVzZXJzJyBiZWhhdmlvdXIgb24gdGhlIHdlYnNpdGUuIFVzZWQgZm9yIGludGVybmFsIGFuYWx5dGljcyBieSB0aGUgd2Vic2l0ZSBvcGVyYXRvci4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICoqX19Ib3N0LXBzaWZpLmFuYWx5dGljc1RyYWNlVjIqKlJlZ2lzdGVycyBzdGF0aXN0aWNhbCBkYXRhIG9uIHVzZXJzJyBiZWhhdmlvdXIgb24gdGhlIHdlYnNpdGUuIFVzZWQgZm9yIGludGVybmFsIGFuYWx5dGljcyBieSB0aGUgd2Vic2l0ZSBvcGVyYXRvci4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICoqZGRfY29va2llX3Rlc3RfIyoqUmVnaXN0ZXJzIGRhdGEgb24gdmlzaXRvcnMnIHdlYnNpdGUtYmVoYXZpb3VyLiBUaGlzIGlzIHVzZWQgZm9yIGludGVybmFsIGFuYWx5c2lzIGFuZCB3ZWJzaXRlIG9wdGltaXphdGlvbi4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICBcXG4gICAgKiAgIFtWV08gOV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAxNF0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly92d28uY29tL3ByaXZhY3ktcG9saWN5LyBcXFwiVldPJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqX3Zpc19vcHRfcyoqVXNlZCBieSBWaXN1YWwgV2Vic2l0ZSBPcHRpbWl6ZXIgdG8gZGV0ZXJtaW5lIGlmIHRoZSB2aXNpdG9yIGlzIHBhcnRpY2lwYXRpbmcgaW4gYSBkZXNpZ24gZXhwZXJpbWVudC4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxMDAgZGF5cyoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfdmlzX29wdF90ZXN0X2Nvb2tpZSoqVXNlZCB0byBjaGVjayBpZiB0aGUgdXNlcidzIGJyb3dzZXIgc3VwcG9ydHMgY29va2llcy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAqKl92d29fZHMqKkNvbGxlY3RzIGRhdGEgb24gdGhlIHVzZXIncyB2aXNpdHMgdG8gdGhlIHdlYnNpdGUsIHN1Y2ggYXMgdGhlIG51bWJlciBvZiB2aXNpdHMsIGF2ZXJhZ2UgdGltZSBzcGVudCBvbiB0aGUgd2Vic2l0ZSBhbmQgd2hhdCBwYWdlcyBoYXZlIGJlZW4gbG9hZGVkIHdpdGggdGhlIHB1cnBvc2Ugb2YgZ2VuZXJhdGluZyByZXBvcnRzIGZvciBvcHRpbWlzaW5nIHRoZSB3ZWJzaXRlIGNvbnRlbnQuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMzAgZGF5cyoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfdndvX3NuKipDb2xsZWN0cyBzdGF0aXN0aWNzIG9uIHRoZSB2aXNpdG9yJ3MgdmlzaXRzIHRvIHRoZSB3ZWJzaXRlLCBzdWNoIGFzIHRoZSBudW1iZXIgb2YgdmlzaXRzLCBhdmVyYWdlIHRpbWUgc3BlbnQgb24gdGhlIHdlYnNpdGUgYW5kIHdoYXQgcGFnZXMgaGF2ZSBiZWVuIHJlYWQuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICoqX3Z3b191dWlkKipVc2VkIGJ5IFZpc3VhbCBXZWJzaXRlIE9wdGltaXplciB0byBlbnN1cmUgdGhhdCB0aGUgc2FtZSB1c2VyIGludGVyZmFjZSB2YXJpYW50IGlzIGRpc3BsYXllZCBmb3IgZWFjaCB2aXNpdCwgaWYgdGhlIHVzZXIgaXMgcGFydGljaXBhdGluZyBpbiBhIGRlc2lnbiBleHBlcmltZW50LioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgeWVhcioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfdndvX3V1aWRfdjIqKlRoaXMgY29va2llIGlzIHNldCB0byBtYWtlIHNwbGl0LXRlc3RzIG9uIHRoZSB3ZWJzaXRlLCB3aGljaCBvcHRpbWl6ZXMgdGhlIHdlYnNpdGUncyByZWxldmFuY2UgdG93YXJkcyB0aGUgdmlzaXRvciDigJMgdGhlIGNvb2tpZSBjYW4gYWxzbyBiZSBzZXQgdG8gaW1wcm92ZSB0aGUgdmlzaXRvcidzIGV4cGVyaWVuY2Ugb24gYSB3ZWJzaXRlLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgeWVhcioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKip2LmdpZioqVGhpcyBjb29raWUgaXMgc2V0IHRvIG1ha2Ugc3BsaXQtdGVzdHMgb24gdGhlIHdlYnNpdGUsIHdoaWNoIG9wdGltaXplcyB0aGUgd2Vic2l0ZSdzIHJlbGV2YW5jZSB0b3dhcmRzIHRoZSB2aXNpdG9yIOKAkyB0aGUgY29va2llIGNhbiBhbHNvIGJlIHNldCB0byBpbXByb3ZlIHRoZSB2aXNpdG9yJ3MgZXhwZXJpZW5jZSBvbiBhIHdlYnNpdGUuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBQaXhlbCBUcmFja2VyICAqKnZ3b19hcG1fc2VudCoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnZ3b1NuKipUaGlzIGNvb2tpZSBpcyBzZXQgdG8gbWFrZSBzcGxpdC10ZXN0cyBvbiB0aGUgd2Vic2l0ZSwgd2hpY2ggb3B0aW1pemVzIHRoZSB3ZWJzaXRlJ3MgcmVsZXZhbmNlIHRvd2FyZHMgdGhlIHZpc2l0b3Ig4oCTIHRoZSBjb29raWUgY2FuIGFsc28gYmUgc2V0IHRvIGltcHJvdmUgdGhlIHZpc2l0b3IncyBleHBlcmllbmNlIG9uIGEgd2Vic2l0ZS4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgIFxcbiAgICAqICAgW1ZpbWVvIDFdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpW0xlYXJuIG1vcmUgYWJvdXQgdGhpcyBwcm92aWRlciFbSW1hZ2UgMTVdKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vdmltZW8uY29tL3ByaXZhY3kgXFxcIlZpbWVvJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqdnVpZCoqQ29sbGVjdHMgZGF0YSBvbiB0aGUgdXNlcidzIHZpc2l0cyB0byB0aGUgd2Vic2l0ZSwgc3VjaCBhcyB3aGljaCBwYWdlcyBoYXZlIGJlZW4gcmVhZC4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAyIHllYXJzKipUeXBlKio6IEhUVFAgQ29va2llICAgXFxuXFxuKiAgIFxcbk1hcmtldGluZyAgNzAtIFt4XSAgIE1hcmtldGluZyBjb29raWVzIGFyZSB1c2VkIHRvIHRyYWNrIHZpc2l0b3JzIGFjcm9zcyB3ZWJzaXRlcy4gVGhlIGludGVudGlvbiBpcyB0byBkaXNwbGF5IGFkcyB0aGF0IGFyZSByZWxldmFudCBhbmQgZW5nYWdpbmcgZm9yIHRoZSBpbmRpdmlkdWFsIHVzZXIgYW5kIHRoZXJlYnkgbW9yZSB2YWx1YWJsZSBmb3IgcHVibGlzaGVycyBhbmQgdGhpcmQgcGFydHkgYWR2ZXJ0aXNlcnMuIFxcblxcbiAgICAqICAgW01ldGEgUGxhdGZvcm1zLCBJbmMuNF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAxNl0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL3BvbGljeS5waHAvIFxcXCIgTWV0YSBQbGF0Zm9ybXMsIEluYy4ncyBwcml2YWN5IHBvbGljeVxcXCIpKipsYXN0RXh0ZXJuYWxSZWZlcnJlcioqRGV0ZWN0cyBob3cgdGhlIHVzZXIgcmVhY2hlZCB0aGUgd2Vic2l0ZSBieSByZWdpc3RlcmluZyB0aGVpciBsYXN0IFVSTC1hZGRyZXNzLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKmxhc3RFeHRlcm5hbFJlZmVycmVyVGltZSoqRGV0ZWN0cyBob3cgdGhlIHVzZXIgcmVhY2hlZCB0aGUgd2Vic2l0ZSBieSByZWdpc3RlcmluZyB0aGVpciBsYXN0IFVSTC1hZGRyZXNzLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnRvcGljc0xhc3RSZWZlcmVuY2VUaW1lKipDb2xsZWN0cyBkYXRhIG9uIHRoZSB1c2VyIGFjcm9zcyB3ZWJzaXRlcyAtIFRoaXMgZGF0YSBpcyB1c2VkIHRvIG1ha2UgYWR2ZXJ0aXNlbWVudCBtb3JlIHJlbGV2YW50LioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKl9mYnAqKlVzZWQgYnkgRmFjZWJvb2sgdG8gZGVsaXZlciBhIHNlcmllcyBvZiBhZHZlcnRpc2VtZW50IHByb2R1Y3RzIHN1Y2ggYXMgcmVhbCB0aW1lIGJpZGRpbmcgZnJvbSB0aGlyZCBwYXJ0eSBhZHZlcnRpc2Vycy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAzIG1vbnRocyoqVHlwZSoqOiBIVFRQIENvb2tpZSAgIFxcbiAgICAqICAgW0VsZW1lbnRvciA2XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDE3XShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvN2MzN2Y2MTY1NDEwMmE4OGE5YmUyMDlmOTU2OWVmNzgpXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpdmFjeS1wb2xpY3kvIFxcXCJFbGVtZW50b3IncyBwcml2YWN5IHBvbGljeVxcXCIpKiojR1VJRCMyMyoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDIgbW9udGhzKipUeXBlKio6IEhUVFAgQ29va2llICAqKl9nYSoqVXNlZCB0byBzZW5kIGRhdGEgdG8gR29vZ2xlIEFuYWx5dGljcyBhYm91dCB0aGUgdmlzaXRvcidzIGRldmljZSBhbmQgYmVoYXZpb3IuIFRyYWNrcyB0aGUgdmlzaXRvciBhY3Jvc3MgZGV2aWNlcyBhbmQgbWFya2V0aW5nIGNoYW5uZWxzLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDIgeWVhcnMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqX2dhXyMqKlVzZWQgdG8gc2VuZCBkYXRhIHRvIEdvb2dsZSBBbmFseXRpY3MgYWJvdXQgdGhlIHZpc2l0b3IncyBkZXZpY2UgYW5kIGJlaGF2aW9yLiBUcmFja3MgdGhlIHZpc2l0b3IgYWNyb3NzIGRldmljZXMgYW5kIG1hcmtldGluZyBjaGFubmVscy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAyIHllYXJzKipUeXBlKio6IEhUVFAgQ29va2llICAqKl9nY2xfYXUqKlVzZWQgYnkgR29vZ2xlIEFkU2Vuc2UgZm9yIGV4cGVyaW1lbnRpbmcgd2l0aCBhZHZlcnRpc2VtZW50IGVmZmljaWVuY3kgYWNyb3NzIHdlYnNpdGVzIHVzaW5nIHRoZWlyIHNlcnZpY2VzLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAzIG1vbnRocyoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfZ2NsX2xzKipUcmFja3MgdGhlIGNvbnZlcnNpb24gcmF0ZSBiZXR3ZWVuIHRoZSB1c2VyIGFuZCB0aGUgYWR2ZXJ0aXNlbWVudCBiYW5uZXJzIG9uIHRoZSB3ZWJzaXRlIC0gVGhpcyBzZXJ2ZXMgdG8gb3B0aW1pc2UgdGhlIHJlbGV2YW5jZSBvZiB0aGUgYWR2ZXJ0aXNlbWVudHMgb24gdGhlIHdlYnNpdGUuICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKl9fbXBxXyNfIyoqQ29sbGVjdHMgZGF0YSBvbiB1c2VyIGJlaGF2aW91ciBhbmQgaW50ZXJhY3Rpb24gaW4gb3JkZXIgdG8gb3B0aW1pemUgdGhlIHdlYnNpdGUgYW5kIG1ha2UgYWR2ZXJ0aXNlbWVudCBvbiB0aGUgd2Vic2l0ZSBtb3JlIHJlbGV2YW50LiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgIFxcbiAgICAqICAgW0dpcGh5IFN1cHBvcnQgMV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAxOF0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly9zdXBwb3J0LmdpcGh5LmNvbS9oYy9lbi11cy9hcnRpY2xlcy8zNjAwMjAwMjgzMzItR0lQSFktUHJpdmFjeS1Qb2xpY3kgXFxcIkdpcGh5IFN1cHBvcnQncyBwcml2YWN5IHBvbGljeVxcXCIpKipnaXBoeVBpbmdiYWNrSWQqKlVzZWQgdG8gdHJhY2sgdGhlIHZpc2l0b3IncyB1c2FnZSBvZiBHSUZzIC0gVGhpcyBzZXJ2ZXMgZm9yIGFuYWx5dGljYWwgYW5kIG1hcmtldGluZyBwdXJwb3Nlcy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgIFxcbiAgICAqICAgW0dvb2dsZSA4XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDE5XShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvN2MzN2Y2MTY1NDEwMmE4OGE5YmUyMDlmOTU2OWVmNzgpXShodHRwczovL2J1c2luZXNzLnNhZmV0eS5nb29nbGUvcHJpdmFjeS8gXFxcIkdvb2dsZSdzIHByaXZhY3kgcG9saWN5XFxcIilTb21lIG9mIHRoZSBkYXRhIGNvbGxlY3RlZCBieSB0aGlzIHByb3ZpZGVyIGlzIGZvciB0aGUgcHVycG9zZXMgb2YgcGVyc29uYWxpemF0aW9uIGFuZCBtZWFzdXJpbmcgYWR2ZXJ0aXNpbmcgZWZmZWN0aXZlbmVzcy5cXG5cXG4qKklERSoqVXNlZCBieSBHb29nbGUgRG91YmxlQ2xpY2sgdG8gcmVnaXN0ZXIgYW5kIHJlcG9ydCB0aGUgd2Vic2l0ZSB1c2VyJ3MgYWN0aW9ucyBhZnRlciB2aWV3aW5nIG9yIGNsaWNraW5nIG9uZSBvZiB0aGUgYWR2ZXJ0aXNlcidzIGFkcyB3aXRoIHRoZSBwdXJwb3NlIG9mIG1lYXN1cmluZyB0aGUgZWZmaWNhY3kgb2YgYW4gYWQgYW5kIHRvIHByZXNlbnQgdGFyZ2V0ZWQgYWRzIHRvIHRoZSB1c2VyLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDQwMCBkYXlzKipUeXBlKio6IEhUVFAgQ29va2llICAqKnBhZ2VhZC92aWV3dGhyb3VnaGNvbnZlcnNpb24vNzgzMTg5MDAwLyoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogUGl4ZWwgVHJhY2tlciAgKipwYWdlYWQvdmlld3Rocm91Z2hjb252ZXJzaW9uLzkzNjI3OTc0OC8qKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IFBpeGVsIFRyYWNrZXIgICoqX2dhdCoqVXNlZCB0byBzZW5kIGRhdGEgdG8gR29vZ2xlIEFuYWx5dGljcyBhYm91dCB0aGUgdmlzaXRvcidzIGRldmljZSBhbmQgYmVoYXZpb3IuIFRyYWNrcyB0aGUgdmlzaXRvciBhY3Jvc3MgZGV2aWNlcyBhbmQgbWFya2V0aW5nIGNoYW5uZWxzLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgZGF5KipUeXBlKio6IEhUVFAgQ29va2llICAqKl9naWQqKlVzZWQgdG8gc2VuZCBkYXRhIHRvIEdvb2dsZSBBbmFseXRpY3MgYWJvdXQgdGhlIHZpc2l0b3IncyBkZXZpY2UgYW5kIGJlaGF2aW9yLiBUcmFja3MgdGhlIHZpc2l0b3IgYWNyb3NzIGRldmljZXMgYW5kIG1hcmtldGluZyBjaGFubmVscy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxIGRheSoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKiphZHMvZ2EtYXVkaWVuY2VzKipVc2VkIGJ5IEdvb2dsZSBBZFdvcmRzIHRvIHJlLWVuZ2FnZSB2aXNpdG9ycyB0aGF0IGFyZSBsaWtlbHkgdG8gY29udmVydCB0byBjdXN0b21lcnMgYmFzZWQgb24gdGhlIHZpc2l0b3IncyBvbmxpbmUgYmVoYXZpb3VyIGFjcm9zcyB3ZWJzaXRlcy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IFBpeGVsIFRyYWNrZXIgICoqTklEKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogNiBtb250aHMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqcGFnZWFkLzFwLXVzZXItbGlzdC8jKipUcmFja3MgaWYgdGhlIHVzZXIgaGFzIHNob3duIGludGVyZXN0IGluIHNwZWNpZmljIHByb2R1Y3RzIG9yIGV2ZW50cyBhY3Jvc3MgbXVsdGlwbGUgd2Vic2l0ZXMgYW5kIGRldGVjdHMgaG93IHRoZSB1c2VyIG5hdmlnYXRlcyBiZXR3ZWVuIHNpdGVzLiBUaGlzIGlzIHVzZWQgZm9yIG1lYXN1cmVtZW50IG9mIGFkdmVydGlzZW1lbnQgZWZmb3J0cyBhbmQgZmFjaWxpdGF0ZXMgcGF5bWVudCBvZiByZWZlcnJhbC1mZWVzIGJldHdlZW4gd2Vic2l0ZXMuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBQaXhlbCBUcmFja2VyICAgXFxuICAgICogICBbTGlua2VkSW4gMV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAyMF0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlZ2FsL3ByaXZhY3ktcG9saWN5IFxcXCJMaW5rZWRJbidzIHByaXZhY3kgcG9saWN5XFxcIikqKmluc2lnaHRfdGFnX2Vycm9ycy5naWYqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IFBpeGVsIFRyYWNrZXIgICBcXG4gICAgKiAgIFtMb29tIDVdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpW0xlYXJuIG1vcmUgYWJvdXQgdGhpcyBwcm92aWRlciFbSW1hZ2UgMjFdKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vd3d3Lmxvb20uY29tL3ByaXZhY3ktcG9saWN5IFxcXCJMb29tICdzIHByaXZhY3kgcG9saWN5XFxcIikqKmFqc191c2VyX2lkKipDb2xsZWN0cyBkYXRhIG9uIHZpc2l0b3JzJyBwcmVmZXJlbmNlcyBhbmQgYmVoYXZpb3VyIG9uIHRoZSB3ZWJzaXRlIC0gVGhpcyBpbmZvcm1hdGlvbiBpcyB1c2VkIG1ha2UgY29udGVudCBhbmQgYWR2ZXJ0aXNlbWVudCBtb3JlIHJlbGV2YW50IHRvIHRoZSBzcGVjaWZpYyB2aXNpdG9yLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipfX3RsZF9fIFt4Ml0qKlVzZWQgdG8gdHJhY2sgdmlzaXRvcnMgb24gbXVsdGlwbGUgd2Vic2l0ZXMsIGluIG9yZGVyIHRvIHByZXNlbnQgcmVsZXZhbnQgYWR2ZXJ0aXNlbWVudCBiYXNlZCBvbiB0aGUgdmlzaXRvcidzIHByZWZlcmVuY2VzLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAqKmFqc191c2VyX2lkKipUaGlzIGNvb2tpZSBpcyB1c2VkIHRvIGNvbGxlY3QgZGF0YSBvbiB0aGUgdmlzaXRvcidzIGJlaGF2aW9yIG9uIHRoZSB3ZWJzaXRlIC0gdGhpcyBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0byBhc3NpZ24gdGhlIHZpc2l0b3IgdG8gYSB2aXNpdG9yIHNlZ21lbnQsIGJhc2VkIG9uIGNvbW1vbiBwcmVmZXJlbmNlcy4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAqKmxvb21fcmVmZXJyYWxfdmlkZW8qKlVzZWQgdG8gZGV0ZWN0IHJlZmVycmFscyBpbiByZWxhdGlvbiB0byB3ZWJzaXRlJ3MgZW1iZWRkZWQgdmlkZW8tcGxheWVyLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAgXFxuICAgICogICBbTWljcm9zb2Z0IDhdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpW0xlYXJuIG1vcmUgYWJvdXQgdGhpcyBwcm92aWRlciFbSW1hZ2UgMjJdKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vcHJpdmFjeS5taWNyb3NvZnQuY29tL2VuLVVTL3ByaXZhY3lzdGF0ZW1lbnQgXFxcIk1pY3Jvc29mdCdzIHByaXZhY3kgcG9saWN5XFxcIikqKl91ZXRzaWQqKlVzZWQgdG8gdHJhY2sgdmlzaXRvcnMgb24gbXVsdGlwbGUgd2Vic2l0ZXMsIGluIG9yZGVyIHRvIHByZXNlbnQgcmVsZXZhbnQgYWR2ZXJ0aXNlbWVudCBiYXNlZCBvbiB0aGUgdmlzaXRvcidzIHByZWZlcmVuY2VzLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipfdWV0c2lkX2V4cCoqQ29udGFpbnMgdGhlIGV4cGlyeS1kYXRlIGZvciB0aGUgY29va2llIHdpdGggY29ycmVzcG9uZGluZyBuYW1lLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipfdWV0dmlkKipVc2VkIHRvIHRyYWNrIHZpc2l0b3JzIG9uIG11bHRpcGxlIHdlYnNpdGVzLCBpbiBvcmRlciB0byBwcmVzZW50IHJlbGV2YW50IGFkdmVydGlzZW1lbnQgYmFzZWQgb24gdGhlIHZpc2l0b3IncyBwcmVmZXJlbmNlcy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqX3VldHZpZF9leHAqKkNvbnRhaW5zIHRoZSBleHBpcnktZGF0ZSBmb3IgdGhlIGNvb2tpZSB3aXRoIGNvcnJlc3BvbmRpbmcgbmFtZS4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqTVIqKlVzZWQgdG8gdHJhY2sgdmlzaXRvcnMgb24gbXVsdGlwbGUgd2Vic2l0ZXMsIGluIG9yZGVyIHRvIHByZXNlbnQgcmVsZXZhbnQgYWR2ZXJ0aXNlbWVudCBiYXNlZCBvbiB0aGUgdmlzaXRvcidzIHByZWZlcmVuY2VzLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiA3IGRheXMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqTVVJRCoqVXNlZCB3aWRlbHkgYnkgTWljcm9zb2Z0IGFzIGEgdW5pcXVlIHVzZXIgSUQuIFRoZSBjb29raWUgZW5hYmxlcyB1c2VyIHRyYWNraW5nIGJ5IHN5bmNocm9uaXNpbmcgdGhlIElEIGFjcm9zcyBtYW55IE1pY3Jvc29mdCBkb21haW5zLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgeWVhcioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfdWV0c2lkKipDb2xsZWN0cyBkYXRhIG9uIHZpc2l0b3IgYmVoYXZpb3VyIGZyb20gbXVsdGlwbGUgd2Vic2l0ZXMsIGluIG9yZGVyIHRvIHByZXNlbnQgbW9yZSByZWxldmFudCBhZHZlcnRpc2VtZW50IC0gVGhpcyBhbHNvIGFsbG93cyB0aGUgd2Vic2l0ZSB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoYXQgdGhleSBhcmUgc2hvd24gdGhlIHNhbWUgYWR2ZXJ0aXNlbWVudC4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSBkYXkqKlR5cGUqKjogSFRUUCBDb29raWUgICoqX3VldHZpZCoqVXNlZCB0byB0cmFjayB2aXNpdG9ycyBvbiBtdWx0aXBsZSB3ZWJzaXRlcywgaW4gb3JkZXIgdG8gcHJlc2VudCByZWxldmFudCBhZHZlcnRpc2VtZW50IGJhc2VkIG9uIHRoZSB2aXNpdG9yJ3MgcHJlZmVyZW5jZXMuICoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgeWVhcioqVHlwZSoqOiBIVFRQIENvb2tpZSAgIFxcbiAgICAqICAgW1JlZGRpdCA2XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVtMZWFybiBtb3JlIGFib3V0IHRoaXMgcHJvdmlkZXIhW0ltYWdlIDIzXShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvN2MzN2Y2MTY1NDEwMmE4OGE5YmUyMDlmOTU2OWVmNzgpXShodHRwczovL3d3dy5yZWRkaXRpbmMuY29tL3BvbGljaWVzL3ByaXZhY3ktcG9saWN5IFxcXCJSZWRkaXQncyBwcml2YWN5IHBvbGljeVxcXCIpKipycC5naWYqKk5lY2Vzc2FyeSBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBSZWRkaXQuY29tJ3Mgc2hhcmUtYnV0dG9uIGZ1bmN0aW9uLioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogUGl4ZWwgVHJhY2tlciAgKipfcmR0X3V1aWRbeDVdKipVc2VkIHRvIHRyYWNrIHZpc2l0b3JzIG9uIG11bHRpcGxlIHdlYnNpdGVzLCBpbiBvcmRlciB0byBwcmVzZW50IHJlbGV2YW50IGFkdmVydGlzZW1lbnQgYmFzZWQgb24gdGhlIHZpc2l0b3IncyBwcmVmZXJlbmNlcy4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVFRQIENvb2tpZSAgIFxcbiAgICAqICAgW1R3aXR0ZXIgSW5jLjFdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpW0xlYXJuIG1vcmUgYWJvdXQgdGhpcyBwcm92aWRlciFbSW1hZ2UgMjRdKGJsb2I6aHR0cDovL2xvY2FsaG9zdC83YzM3ZjYxNjU0MTAyYTg4YTliZTIwOWY5NTY5ZWY3OCldKGh0dHBzOi8vdHdpdHRlci5jb20vZW4vcHJpdmFjeSBcXFwiVHdpdHRlciBJbmMuJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqaS9qb3QvZW1iZWRzKipTZXRzIGEgdW5pcXVlIElEIGZvciB0aGUgdmlzaXRvciwgdGhhdCBhbGxvd3MgdGhpcmQgcGFydHkgYWR2ZXJ0aXNlcnMgdG8gdGFyZ2V0IHRoZSB2aXNpdG9yIHdpdGggcmVsZXZhbnQgYWR2ZXJ0aXNlbWVudC4gVGhpcyBwYWlyaW5nIHNlcnZpY2UgaXMgcHJvdmlkZWQgYnkgdGhpcmQgcGFydHkgYWR2ZXJ0aXNlbWVudCBodWJzLCB3aGljaCBmYWNpbGl0YXRlcyByZWFsLXRpbWUgYmlkZGluZyBmb3IgYWR2ZXJ0aXNlcnMuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBQaXhlbCBUcmFja2VyICAgXFxuICAgICogICBbWW91VHViZSAyN10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAyNV0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly9idXNpbmVzcy5zYWZldHkuZ29vZ2xlL3ByaXZhY3kvIFxcXCJZb3VUdWJlJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqTEFTVF9SRVNVTFRfRU5UUllfS0VZW3gyXSoqVXNlZCB0byB0cmFjayB1c2Vy4oCZcyBpbnRlcmFjdGlvbiB3aXRoIGVtYmVkZGVkIGNvbnRlbnQuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKip5dGlkYjo6TEFTVF9SRVNVTFRfRU5UUllfS0VZW3gyXSoqVXNlZCB0byB0cmFjayB1c2Vy4oCZcyBpbnRlcmFjdGlvbiB3aXRoIGVtYmVkZGVkIGNvbnRlbnQuKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqWXRJZGJNZXRhI2RhdGFiYXNlc1t4Ml0qKlVzZWQgdG8gdHJhY2sgdXNlcuKAmXMgaW50ZXJhY3Rpb24gd2l0aCBlbWJlZGRlZCBjb250ZW50LioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSW5kZXhlZERCICAqKl9fU2VjdXJlLVJPTExPVVRfVE9LRU4qKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxODAgZGF5cyoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfX1NlY3VyZS1ZRUMqKlN0b3JlcyB0aGUgdXNlcidzIHZpZGVvIHBsYXllciBwcmVmZXJlbmNlcyB1c2luZyBlbWJlZGRlZCBZb3VUdWJlIHZpZGVvKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipfX1NlY3VyZS1ZTklEKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMTgwIGRheXMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqTG9nc0RhdGFiYXNlVjI6ViN8fExvZ3NSZXF1ZXN0c1N0b3JlKipVc2VkIHRvIHRyYWNrIHVzZXLigJlzIGludGVyYWN0aW9uIHdpdGggZW1iZWRkZWQgY29udGVudC4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEluZGV4ZWREQiAgKipuZXh0SWQqKlVzZWQgdG8gdHJhY2sgdXNlcuKAmXMgaW50ZXJhY3Rpb24gd2l0aCBlbWJlZGRlZCBjb250ZW50LioqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRUUCBDb29raWUgICoqcmVtb3RlX3NpZCoqTmVjZXNzYXJ5IGZvciB0aGUgaW1wbGVtZW50YXRpb24gYW5kIGZ1bmN0aW9uYWxpdHkgb2YgWW91VHViZSB2aWRlby1jb250ZW50IG9uIHRoZSB3ZWJzaXRlLiAqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAqKnJlcXVlc3RzKipVc2VkIHRvIHRyYWNrIHVzZXLigJlzIGludGVyYWN0aW9uIHdpdGggZW1iZWRkZWQgY29udGVudC4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAqKlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UjU1dIZWFsdGhMb2cqKk5lY2Vzc2FyeSBmb3IgdGhlIGltcGxlbWVudGF0aW9uIGFuZCBmdW5jdGlvbmFsaXR5IG9mIFlvdVR1YmUgdmlkZW8tY29udGVudCBvbiB0aGUgd2Vic2l0ZS4gKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBJbmRleGVkREIgICoqVEVTVENPT0tJRVNFTkFCTEVEKipVc2VkIHRvIHRyYWNrIHVzZXLigJlzIGludGVyYWN0aW9uIHdpdGggZW1iZWRkZWQgY29udGVudC4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxIGRheSoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipWSVNJVE9SX0lORk8xX0xJVkUqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxODAgZGF5cyoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipZU0MqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAqKnl0LmlubmVydHViZTo6bmV4dElkKipSZWdpc3RlcnMgYSB1bmlxdWUgSUQgdG8ga2VlcCBzdGF0aXN0aWNzIG9mIHdoYXQgdmlkZW9zIGZyb20gWW91VHViZSB0aGUgdXNlciBoYXMgc2Vlbi4qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKip5dC1pY29ucy1sYXN0LXB1cmdlZCoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnl0LXBsYXllci11c2VyLXNldHRpbmdzKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqeXQtcmVtb3RlLWNhc3QtYXZhaWxhYmxlKipTdG9yZXMgdGhlIHVzZXIncyB2aWRlbyBwbGF5ZXIgcHJlZmVyZW5jZXMgdXNpbmcgZW1iZWRkZWQgWW91VHViZSB2aWRlbyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnl0LXJlbW90ZS1jYXN0LWluc3RhbGxlZCoqU3RvcmVzIHRoZSB1c2VyJ3MgdmlkZW8gcGxheWVyIHByZWZlcmVuY2VzIHVzaW5nIGVtYmVkZGVkIFlvdVR1YmUgdmlkZW8qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKip5dC1yZW1vdGUtY29ubmVjdGVkLWRldmljZXMqKlN0b3JlcyB0aGUgdXNlcidzIHZpZGVvIHBsYXllciBwcmVmZXJlbmNlcyB1c2luZyBlbWJlZGRlZCBZb3VUdWJlIHZpZGVvKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqeXQtcmVtb3RlLWRldmljZS1pZCoqU3RvcmVzIHRoZSB1c2VyJ3MgdmlkZW8gcGxheWVyIHByZWZlcmVuY2VzIHVzaW5nIGVtYmVkZGVkIFlvdVR1YmUgdmlkZW8qKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKip5dC1yZW1vdGUtZmFzdC1jaGVjay1wZXJpb2QqKlN0b3JlcyB0aGUgdXNlcidzIHZpZGVvIHBsYXllciBwcmVmZXJlbmNlcyB1c2luZyBlbWJlZGRlZCBZb3VUdWJlIHZpZGVvKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqeXQtcmVtb3RlLXNlc3Npb24tYXBwKipTdG9yZXMgdGhlIHVzZXIncyB2aWRlbyBwbGF5ZXIgcHJlZmVyZW5jZXMgdXNpbmcgZW1iZWRkZWQgWW91VHViZSB2aWRlbyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnl0LXJlbW90ZS1zZXNzaW9uLW5hbWUqKlN0b3JlcyB0aGUgdXNlcidzIHZpZGVvIHBsYXllciBwcmVmZXJlbmNlcyB1c2luZyBlbWJlZGRlZCBZb3VUdWJlIHZpZGVvKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICBcXG4gICAgKiAgIFtzdG9yYWdlLmdvb2dsZWFwaXMuY29tIHBsYXlncm91bmQuZWxlbWVudG9yLmNvbSAzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKSoqbXBfI19taXhwYW5lbFt4M10qKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAgXFxuXFxuKiAgIFVuY2xhc3NpZmllZCA0NCBVbmNsYXNzaWZpZWQgY29va2llcyBhcmUgY29va2llcyB0aGF0IHdlIGFyZSBpbiB0aGUgcHJvY2VzcyBvZiBjbGFzc2lmeWluZywgdG9nZXRoZXIgd2l0aCB0aGUgcHJvdmlkZXJzIG9mIGluZGl2aWR1YWwgY29va2llcy4gIFxcblxcbiAgICAqICAgW0VsZW1lbnRvciAyNl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAyNl0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaXZhY3ktcG9saWN5LyBcXFwiRWxlbWVudG9yJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqZWExMXktZ2xvYmFsLXN0YXRlW3gyXSoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKmVhMTF5LXNlc3Npb24tc3RhdGUqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipfZWxlbWVudG9yX3NpdGVfdXNlcl9jb3VudHJ5W3gyXSoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDMwIGRheXMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqQ0ZfQXV0aG9yaXphdGlvblt4Ml0qKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxIGRheSoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKiplbEdlb0xvY2F0aW9uQ29kZVt4Nl0qKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipjaGF0U2Vzc2lvbioqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKkNzZENvb2tpZUNvbnNlbnQqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAxIHllYXIqKlR5cGUqKjogSFRUUCBDb29raWUgICoqZWxlbWVudG9yX2xvY2FsZSoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRUUCBDb29raWUgICoqZ3RtSG9zdGluZ0FkZG9uRWxpZ2libGUqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiAyIG1vbnRocyoqVHlwZSoqOiBIVFRQIENvb2tpZSAgKipndG1JbmZvKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSB5ZWFyKipUeXBlKio6IEhUVFAgQ29va2llICAqKmd0bVV0bSoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDI4IGRheXMqKlR5cGUqKjogSFRUUCBDb29raWUgICoqXy9zZXRfY29va2llKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBQaXhlbCBUcmFja2VyICAqKiMtZXZlcmdyZWVuX2R1ZV9kYXRlKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqIy1ldmVyZ3JlZW5faW50ZXJ2YWwqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKip3b29jb21tZXJjZV9tdWx0aWN1cnJlbmN5X2ZvcmNlZF9jdXJyZW5jeSoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IDEgeWVhcioqVHlwZSoqOiBIVFRQIENvb2tpZSAgKip3b29jb21tZXJjZV9tdWx0aWN1cnJlbmN5X2xhbmd1YWdlKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogMSB5ZWFyKipUeXBlKio6IEhUVFAgQ29va2llICAqKmVfZ2xvYmFscyoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKmVfa2l0LWVsZW1lbnRzLWRlZmF1bHRzKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICBcXG4gICAgKiAgIFtHb29nbGUgOF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAyN10oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly9idXNpbmVzcy5zYWZldHkuZ29vZ2xlL3ByaXZhY3kvIFxcXCJHb29nbGUncyBwcml2YWN5IHBvbGljeVxcXCIpU29tZSBvZiB0aGUgZGF0YSBjb2xsZWN0ZWQgYnkgdGhpcyBwcm92aWRlciBpcyBmb3IgdGhlIHB1cnBvc2VzIG9mIHBlcnNvbmFsaXphdGlvbiBhbmQgbWVhc3VyaW5nIGFkdmVydGlzaW5nIGVmZmVjdGl2ZW5lc3MuXFxuXFxuKiplbGVtZW50b3JfdG9rZW4qKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBTZXNzaW9uKipUeXBlKio6IEhUVFAgQ29va2llICAqKm1wX29wdG91dCoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFNlc3Npb24qKlR5cGUqKjogSFRUUCBDb29raWUgICoqX19tcF9vcHRfaW5fb3V0XzE1MDYwNWIzYjlmOTc5OTIyZjJhYzVhNTJlMmRjZmU5KipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqZGxzX2FiX3Rlc3RpbmdfaWQqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipzdGF0c2lnLmNhY2hlZC5ldmFsdWF0aW9ucy4yMjA4MTYyOTUxKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqc3RhdHNpZy5sYXN0X21vZGlmaWVkX3RpbWUuZXZhbHVhdGlvbnMqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKipzdGF0c2lnLnNlc3Npb25faWQuMzU2MzE3NTY3OCoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKnN0YXRzaWcuc3RhYmxlX2lkLjM1NjMxNzU2NzgqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgIFxcbiAgICAqICAgW0xvb20gOF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylbTGVhcm4gbW9yZSBhYm91dCB0aGlzIHByb3ZpZGVyIVtJbWFnZSAyOF0oYmxvYjpodHRwOi8vbG9jYWxob3N0LzdjMzdmNjE2NTQxMDJhODhhOWJlMjA5Zjk1NjllZjc4KV0oaHR0cHM6Ly93d3cubG9vbS5jb20vcHJpdmFjeS1wb2xpY3kgXFxcIkxvb20gJ3MgcHJpdmFjeSBwb2xpY3lcXFwiKSoqYXdjLmxhc3Quc2NyZWVuLmV2ZW50KipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqYXdjLnNlc3Npb24uZXhwaXJ5KipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqYXdjLnNlc3Npb24uaWQqKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgKiphd2MudGFiLmlkKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogU2Vzc2lvbioqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqY29sb3JUaGVtZSoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKmVtb2ppLXJlYWN0aW9uLWxpc3QtdmFyaWFudCoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKmZyZXF1ZW50LXJlYWN0aW9ucyoqUGVuZGluZyoqTWF4aW11bSBTdG9yYWdlIER1cmF0aW9uKio6IFBlcnNpc3RlbnQqKlR5cGUqKjogSFRNTCBMb2NhbCBTdG9yYWdlICAqKmFuYWx5dGljcy13ZWItY2xpZW50I2FuYWx5dGljcy1yZXNpbGllbmNlKipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBJbmRleGVkREIgICBcXG4gICAgKiAgIFtzb2x2ZS13aWRnZXQuZm9yZXRob3VnaHQuYWkgMl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIykqKntcXFwiZGF0YS1hcGkta2V5XFxcIjpcXFwiMGZmZmIwOWQtNTEzMS00MmUyLWFlZGQtMzNlMzc0MGQ3OTI0XFxcIixcXFwiY29uZmlnLWZ0LXBlcnNpc3RlbmNlLWlkXFxcIjpcXFwicHJlc2FsZVxcXCJ9KipQZW5kaW5nKipNYXhpbXVtIFN0b3JhZ2UgRHVyYXRpb24qKjogUGVyc2lzdGVudCoqVHlwZSoqOiBIVE1MIExvY2FsIFN0b3JhZ2UgICoqe1xcXCJkYXRhLWFwaS1rZXlcXFwiOlxcXCIwZmZmYjA5ZC01MTMxLTQyZTItYWVkZC0zM2UzNzQwZDc5MjRcXFwiLFxcXCJkYXRhLWZ0LXdvcmtmbG93LXRhZ1xcXCI6XFxcIlByZXNhbGUgLSBDYXJlXFxcIn0qKlBlbmRpbmcqKk1heGltdW0gU3RvcmFnZSBEdXJhdGlvbioqOiBQZXJzaXN0ZW50KipUeXBlKio6IEhUTUwgTG9jYWwgU3RvcmFnZSAgIFxcblxcbltDcm9zcy1kb21haW4gY29uc2VudCAxMF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylZb3VyIGNvbnNlbnQgYXBwbGllcyB0byB0aGUgZm9sbG93aW5nIGRvbWFpbnM6XFxuXFxuTGlzdCBvZiBkb21haW5zIHlvdXIgY29uc2VudCBhcHBsaWVzIHRvOltiZS5lbGVtZW50b3IuY29tXShodHRwczovL2JlLmVsZW1lbnRvci5jb20vKVtkZXZlbG9wZXJzLmVsZW1lbnRvci5jb21dKGh0dHBzOi8vZGV2ZWxvcGVycy5lbGVtZW50b3IuY29tLylbZWxlbWVudG9yLmNvbV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tLylbZ28uZWxlbWVudG9yLmNvbV0oaHR0cHM6Ly9nby5lbGVtZW50b3IuY29tLylbaGVsbG90aGVtZS5lbGVtZW50b3IuY29tXShodHRwczovL2hlbGxvdGhlbWUuZWxlbWVudG9yLmNvbS8pW2xpYnJhcnkuZWxlbWVudG9yLmNvbV0oaHR0cHM6Ly9saWJyYXJ5LmVsZW1lbnRvci5jb20vKVtteS5lbGVtZW50b3IuY29tXShodHRwczovL215LmVsZW1lbnRvci5jb20vKVtwbGF5Z3JvdW5kLmVsZW1lbnRvci5jb21dKGh0dHBzOi8vcGxheWdyb3VuZC5lbGVtZW50b3IuY29tLylbcHJvbXB0cy5lbGVtZW50b3IuY29tXShodHRwczovL3Byb21wdHMuZWxlbWVudG9yLmNvbS8pW3Nob3dvZmYuZWxlbWVudG9yLmNvbV0oaHR0cHM6Ly9zaG93b2ZmLmVsZW1lbnRvci5jb20vKVxcblxcbkNvb2tpZSBkZWNsYXJhdGlvbiBsYXN0IHVwZGF0ZWQgb24gMTIvMTcvMjUgYnkgW0Nvb2tpZWJvdF0oaHR0cHM6Ly93d3cuY29va2llYm90LmNvbS8gXFxcIkNvb2tpZWJvdFxcXCIpXFxuXFxuWyNJQUJWMl9USVRMRSNdXFxuXFxuWyNJQUJWMl9CT0RZX0lOVFJPI11cXG5cXG5bI0lBQlYyX0JPRFlfTEVHSVRJTUFURV9JTlRFUkVTVF9JTlRSTyNdXFxuXFxuWyNJQUJWMl9CT0RZX1BSRUZFUkVOQ0VfSU5UUk8jXVxcblxcblsjSUFCVjJfTEFCRUxfUFVSUE9TRVMjXVxcblxcblsjSUFCVjJfQk9EWV9QVVJQT1NFU19JTlRSTyNdXFxuXFxuWyNJQUJWMl9CT0RZX1BVUlBPU0VTI11cXG5cXG5bI0lBQlYyX0xBQkVMX0ZFQVRVUkVTI11cXG5cXG5bI0lBQlYyX0JPRFlfRkVBVFVSRVNfSU5UUk8jXVxcblxcblsjSUFCVjJfQk9EWV9GRUFUVVJFUyNdXFxuXFxuWyNJQUJWMl9MQUJFTF9QQVJUTkVSUyNdXFxuXFxuWyNJQUJWMl9CT0RZX1BBUlRORVJTX0lOVFJPI11cXG5cXG5bI0lBQlYyX0JPRFlfUEFSVE5FUlMjXVxcblxcbkFib3V0XFxuXFxuQ29va2llcyBhcmUgc21hbGwgdGV4dCBmaWxlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHdlYnNpdGVzIHRvIG1ha2UgYSB1c2VyJ3MgZXhwZXJpZW5jZSBtb3JlIGVmZmljaWVudC5cXG5cXG5UaGUgbGF3IHN0YXRlcyB0aGF0IHdlIGNhbiBzdG9yZSBjb29raWVzIG9uIHlvdXIgZGV2aWNlIGlmIHRoZXkgYXJlIHN0cmljdGx5IG5lY2Vzc2FyeSBmb3IgdGhlIG9wZXJhdGlvbiBvZiB0aGlzIHNpdGUuIEZvciBhbGwgb3RoZXIgdHlwZXMgb2YgY29va2llcyB3ZSBuZWVkIHlvdXIgcGVybWlzc2lvbi5cXG5cXG5UaGlzIHNpdGUgdXNlcyBkaWZmZXJlbnQgdHlwZXMgb2YgY29va2llcy4gU29tZSBjb29raWVzIGFyZSBwbGFjZWQgYnkgdGhpcmQgcGFydHkgc2VydmljZXMgdGhhdCBhcHBlYXIgb24gb3VyIHBhZ2VzLlxcblxcbllvdSBjYW4gYXQgYW55IHRpbWUgY2hhbmdlIG9yIHdpdGhkcmF3IHlvdXIgY29uc2VudCBmcm9tIHRoZSBDb29raWUgRGVjbGFyYXRpb24gb24gb3VyIHdlYnNpdGUuXFxuXFxuTGVhcm4gbW9yZSBhYm91dCB3aG8gd2UgYXJlLCBob3cgeW91IGNhbiBjb250YWN0IHVzIGFuZCBob3cgd2UgcHJvY2VzcyBwZXJzb25hbCBkYXRhIGluIG91ciBQcml2YWN5IFBvbGljeS5cXG5cXG4gUGxlYXNlIHN0YXRlIHlvdXIgY29uc2VudCBJRCBhbmQgZGF0ZSB3aGVuIHlvdSBjb250YWN0IHVzIHJlZ2FyZGluZyB5b3VyIGNvbnNlbnQuXFxuXFxuLSBbeF0gKipEbyBub3Qgc2VsbCBvciBzaGFyZSBteSBwZXJzb25hbCBpbmZvcm1hdGlvbioqIFxcblxcbkRlbnkgQWxsb3cgc2VsZWN0aW9uIEN1c3RvbWl6ZSBPS1xcblxcbiogICAgQ2xvc2UgT3BlbiAgXFxuXFxuICAgICogICBbUHJvZHVjdHNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpXFxuICAgICAgICAqICAgW1BhZ2UgQnVpbGRlciBQbHVnaW5dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9wYWdlLWJ1aWxkZXItcGx1Z2luLylcXG4gICAgICAgICogICBbSG9zdGluZyBmb3IgV29yZFByZXNzXShodHRwczovL2VsZW1lbnRvci5jb20vd29yZHByZXNzLWhvc3RpbmcvKVxcbiAgICAgICAgKiAgIFtIb3N0aW5nIGZvciBXb29Db21tZXJjZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL2Vjb21tZXJjZS1ob3N0aW5nLylcXG4gICAgICAgICogICBbRWxlbWVudG9yIEFJXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvYWkvKVxcbiAgICAgICAgKiAgIFtBSSBTaXRlIFBsYW5uZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9haS1zaXRlLXBsYW5uZXIvKVxcbiAgICAgICAgKiAgIFtJbWFnZSBPcHRpbWl6ZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9pbWFnZS1vcHRpbWl6ZXIvKVxcbiAgICAgICAgKiAgIFtTaXRlIE1haWxlcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL3NpdGUtbWFpbGVyLylcXG4gICAgICAgICogICBbSGVsbG8gQml6XShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvaGVsbG8tYml6LylcXG4gICAgICAgICogICBbSGVsbG8gVGhlbWVdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9oZWxsby10aGVtZS8pXFxuXFxuICAgICogICBbSG9zdGluZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylcXG4gICAgICAgICogICBbSG9zdGluZyBmb3IgV29yZFByZXNzXShodHRwczovL2VsZW1lbnRvci5jb20vd29yZHByZXNzLWhvc3RpbmcvKVxcbiAgICAgICAgKiAgIFtIb3N0aW5nIGZvciBXb29Db21tZXJjZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL2Vjb21tZXJjZS1ob3N0aW5nLylcXG5cXG4gICAgKiAgIFtXZWIgQ3JlYXRpb25dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpXFxuICAgICAgICAqICAgW0VsZW1lbnRvciArIFdvcmRQcmVzc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzL3dvcmRwcmVzcy8pXFxuICAgICAgICAqICAgW0VsZW1lbnRvciArIFdvb0NvbW1lcmNlXShodHRwczovL2VsZW1lbnRvci5jb20vZmVhdHVyZXMvd29vY29tbWVyY2UtYnVpbGRlci8pXFxuICAgICAgICAqICAgW1dlYiBEZXNpZ25dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mb3IvZGVzaWduZXIvKVxcbiAgICAgICAgKiAgIFtXaWRnZXRzXShodHRwczovL2VsZW1lbnRvci5jb20vd2lkZ2V0cy8pXFxuICAgICAgICAqICAgW0FsbCBGZWF0dXJlc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzLylcXG4gICAgICAgICogICBbS2l0cyBMaWJyYXJ5XShodHRwczovL2VsZW1lbnRvci5jb20vbGlicmFyeS8pXFxuXFxuICAgICogICBbUmVzb3VyY2VzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVxcbiAgICAgICAgKiAgIFtCbG9nXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy8pXFxuICAgICAgICAqICAgW0hlbHAgQ2VudGVyXShodHRwczovL2VsZW1lbnRvci5jb20vaGVscC8pXFxuICAgICAgICAqICAgW0NvbW11bml0eV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2NvbW11bml0eS8pXFxuICAgICAgICAqICAgW1JvYWRtYXBdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9yb2FkbWFwLylcXG4gICAgICAgICogICBbRWxlbWVudG9yIFNob3dvZmZdKGh0dHBzOi8vc2hvd29mZi5lbGVtZW50b3IuY29tLylcXG4gICAgICAgICogICBbRGV2ZWxvcGVycyBXZWJzaXRlXShodHRwczovL2RldmVsb3BlcnMuZWxlbWVudG9yLmNvbS8pXFxuICAgICAgICAqICAgW1N1cHBvcnRdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9jYXJlLylcXG4gICAgICAgICogICBbQWRkLW9uc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2FkZG9ucy8pXFxuICAgICAgICAqICAgW0FJIFByb21wdCBMaWJyYXJ5XShodHRwczovL3Byb21wdHMuZWxlbWVudG9yLmNvbS8pXFxuXFxuICAgICogICBbRW50ZXJwcmlzZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3NvbHV0aW9ucy9lbnRlcnByaXNlLylcXG4gICAgKiAgIFtQcmljaW5nXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVxcbiAgICAgICAgKiAgIFtIb3N0aW5nIGZvciBXb3JkUHJlc3NdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLylcXG4gICAgICAgICogICBbSG9zdGluZyBmb3IgV29vQ29tbWVyY2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLWVjb21tZXJjZS1ob3N0aW5nLylcXG4gICAgICAgICogICBbUGFnZSBCdWlsZGVyIFBybyBQbHVnaW5dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLXBsdWdpbi8pXFxuXFxuW10oaHR0cHM6Ly9lbGVtZW50b3IuY29tLylcXG5cXG5bYmxvZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cpXFxuXFxuKiAgIFtDYXRlZ29yaWVzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy8pXFxuICAgICogICBbRWxlbWVudG9yXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVxcbiAgICAgICAgKiAgIFtOZXcgRmVhdHVyZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L25ldy1mZWF0dXJlcy8pXFxuICAgICAgICAqICAgW0VsZW1lbnRvciBUZWFtIFdyaXRlc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvZWxlbWVudG9yLXRlYW0td3JpdGVzLylcXG4gICAgICAgICogICBbU2hvd2Nhc2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L3Nob3djYXNlLylcXG4gICAgICAgICogICBbTmV3c10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvbmV3cy8pXFxuICAgICAgICAqICAgW0Nhc2UgU3R1ZGllc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvc3Rvcmllcy8pXFxuICAgICAgICAqICAgW0NvbW11bml0eV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvY29tbXVuaXR5LylcXG5cXG4gICAgKiAgIFtEZXNpZ25dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2Rlc2lnbi8pXFxuICAgICogICBbTWFya2V0aW5nXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9tYXJrZXRpbmcvKVxcbiAgICAqICAgW0RldmVsb3BtZW50XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9kZXZlbG9wbWVudC8pXFxuICAgICogICBbQnVzaW5lc3NdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2J1c2luZXNzLylcXG4gICAgKiAgIFtXb3JkUHJlc3NdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L3dvcmRwcmVzcy8pXFxuICAgICogICBbSG9zdGluZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvaG9zdGluZy8pXFxuICAgICogICBbQWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvYWNjZXNzaWJpbGl0eS8pXFxuICAgICogICBbUmVzb3VyY2VzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9yZXNvdXJjZXMvKVxcblxcbiogICBbQ2F0ZWdvcmllc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvKVxcbiAgICAqICAgW0VsZW1lbnRvcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylcXG4gICAgICAgICogICBbTmV3IEZlYXR1cmVzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9uZXctZmVhdHVyZXMvKVxcbiAgICAgICAgKiAgIFtFbGVtZW50b3IgVGVhbSBXcml0ZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2VsZW1lbnRvci10ZWFtLXdyaXRlcy8pXFxuICAgICAgICAqICAgW1Nob3djYXNlXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9zaG93Y2FzZS8pXFxuICAgICAgICAqICAgW05ld3NdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L25ld3MvKVxcbiAgICAgICAgKiAgIFtDYXNlIFN0dWRpZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L3N0b3JpZXMvKVxcbiAgICAgICAgKiAgIFtDb21tdW5pdHldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2NvbW11bml0eS8pXFxuXFxuICAgICogICBbRGVzaWduXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9kZXNpZ24vKVxcbiAgICAqICAgW01hcmtldGluZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvbWFya2V0aW5nLylcXG4gICAgKiAgIFtEZXZlbG9wbWVudF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvZGV2ZWxvcG1lbnQvKVxcbiAgICAqICAgW0J1c2luZXNzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9idXNpbmVzcy8pXFxuICAgICogICBbV29yZFByZXNzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS93b3JkcHJlc3MvKVxcbiAgICAqICAgW0hvc3RpbmddKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2hvc3RpbmcvKVxcbiAgICAqICAgW0FjY2Vzc2liaWxpdHldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2FjY2Vzc2liaWxpdHkvKVxcbiAgICAqICAgW1Jlc291cmNlc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvcmVzb3VyY2VzLylcXG5cXG7inJVcXG5cXG5bXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jISlcXG5cXG5bTG9naW5dKGh0dHBzOi8vbXkuZWxlbWVudG9yLmNvbS93ZWJzaXRlcy8pXFxuXFxuW0dldCBTdGFydGVkXShodHRwczovL2VsZW1lbnRvci5jb20vd2VsY29tZS1jbG91ZC9jaG9vc2UtZGVzaWduLylcXG5cXG4qICAgIENsb3NlIE9wZW4gIFxcblxcbiAgICAqICAgW1Byb2R1Y3RzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVxcbiAgICAgICAgKiAgIFtQYWdlIEJ1aWxkZXIgUGx1Z2luXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvcGFnZS1idWlsZGVyLXBsdWdpbi8pXFxuICAgICAgICAqICAgW0hvc3RpbmcgZm9yIFdvcmRQcmVzc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3dvcmRwcmVzcy1ob3N0aW5nLylcXG4gICAgICAgICogICBbSG9zdGluZyBmb3IgV29vQ29tbWVyY2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9lY29tbWVyY2UtaG9zdGluZy8pXFxuICAgICAgICAqICAgW0VsZW1lbnRvciBBSV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL2FpLylcXG4gICAgICAgICogICBbQUkgU2l0ZSBQbGFubmVyXShodHRwczovL2VsZW1lbnRvci5jb20vYWktc2l0ZS1wbGFubmVyLylcXG4gICAgICAgICogICBbSW1hZ2UgT3B0aW1pemVyXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvaW1hZ2Utb3B0aW1pemVyLylcXG4gICAgICAgICogICBbU2l0ZSBNYWlsZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9zaXRlLW1haWxlci8pXFxuICAgICAgICAqICAgW0hlbGxvIEJpel0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL2hlbGxvLWJpei8pXFxuICAgICAgICAqICAgW0hlbGxvIFRoZW1lXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvaGVsbG8tdGhlbWUvKVxcblxcbiAgICAqICAgW0hvc3RpbmddKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpXFxuICAgICAgICAqICAgW0hvc3RpbmcgZm9yIFdvcmRQcmVzc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3dvcmRwcmVzcy1ob3N0aW5nLylcXG4gICAgICAgICogICBbSG9zdGluZyBmb3IgV29vQ29tbWVyY2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9lY29tbWVyY2UtaG9zdGluZy8pXFxuXFxuICAgICogICBbV2ViIENyZWF0aW9uXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jKVxcbiAgICAgICAgKiAgIFtFbGVtZW50b3IgKyBXb3JkUHJlc3NdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mZWF0dXJlcy93b3JkcHJlc3MvKVxcbiAgICAgICAgKiAgIFtFbGVtZW50b3IgKyBXb29Db21tZXJjZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzL3dvb2NvbW1lcmNlLWJ1aWxkZXIvKVxcbiAgICAgICAgKiAgIFtXZWIgRGVzaWduXShodHRwczovL2VsZW1lbnRvci5jb20vZm9yL2Rlc2lnbmVyLylcXG4gICAgICAgICogICBbV2lkZ2V0c10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3dpZGdldHMvKVxcbiAgICAgICAgKiAgIFtBbGwgRmVhdHVyZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mZWF0dXJlcy8pXFxuICAgICAgICAqICAgW0tpdHMgTGlicmFyeV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2xpYnJhcnkvKVxcblxcbiAgICAqICAgW1Jlc291cmNlc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylcXG4gICAgICAgICogICBbQmxvZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvKVxcbiAgICAgICAgKiAgIFtIZWxwIENlbnRlcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2hlbHAvKVxcbiAgICAgICAgKiAgIFtDb21tdW5pdHldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9jb21tdW5pdHkvKVxcbiAgICAgICAgKiAgIFtSb2FkbWFwXShodHRwczovL2VsZW1lbnRvci5jb20vcm9hZG1hcC8pXFxuICAgICAgICAqICAgW0VsZW1lbnRvciBTaG93b2ZmXShodHRwczovL3Nob3dvZmYuZWxlbWVudG9yLmNvbS8pXFxuICAgICAgICAqICAgW0RldmVsb3BlcnMgV2Vic2l0ZV0oaHR0cHM6Ly9kZXZlbG9wZXJzLmVsZW1lbnRvci5jb20vKVxcbiAgICAgICAgKiAgIFtTdXBwb3J0XShodHRwczovL2VsZW1lbnRvci5jb20vY2FyZS8pXFxuICAgICAgICAqICAgW0FkZC1vbnNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9hZGRvbnMvKVxcbiAgICAgICAgKiAgIFtBSSBQcm9tcHQgTGlicmFyeV0oaHR0cHM6Ly9wcm9tcHRzLmVsZW1lbnRvci5jb20vKVxcblxcbiAgICAqICAgW0VudGVycHJpc2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9zb2x1dGlvbnMvZW50ZXJwcmlzZS8pXFxuICAgICogICBbUHJpY2luZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylcXG4gICAgICAgICogICBbSG9zdGluZyBmb3IgV29yZFByZXNzXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpY2luZy8pXFxuICAgICAgICAqICAgW0hvc3RpbmcgZm9yIFdvb0NvbW1lcmNlXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpY2luZy1lY29tbWVyY2UtaG9zdGluZy8pXFxuICAgICAgICAqICAgW1BhZ2UgQnVpbGRlciBQcm8gUGx1Z2luXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpY2luZy1wbHVnaW4vKVxcblxcbltdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS8pXFxuXFxuW2Jsb2ddKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nKVxcblxcbiogICBbQ2F0ZWdvcmllc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvKVxcbiAgICAqICAgW0VsZW1lbnRvcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIylcXG4gICAgICAgICogICBbTmV3IEZlYXR1cmVzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9uZXctZmVhdHVyZXMvKVxcbiAgICAgICAgKiAgIFtFbGVtZW50b3IgVGVhbSBXcml0ZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2VsZW1lbnRvci10ZWFtLXdyaXRlcy8pXFxuICAgICAgICAqICAgW1Nob3djYXNlXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9zaG93Y2FzZS8pXFxuICAgICAgICAqICAgW05ld3NdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L25ld3MvKVxcbiAgICAgICAgKiAgIFtDYXNlIFN0dWRpZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L3N0b3JpZXMvKVxcbiAgICAgICAgKiAgIFtDb21tdW5pdHldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2NvbW11bml0eS8pXFxuXFxuICAgICogICBbRGVzaWduXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9kZXNpZ24vKVxcbiAgICAqICAgW01hcmtldGluZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvbWFya2V0aW5nLylcXG4gICAgKiAgIFtEZXZlbG9wbWVudF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvZGV2ZWxvcG1lbnQvKVxcbiAgICAqICAgW0J1c2luZXNzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9idXNpbmVzcy8pXFxuICAgICogICBbV29yZFByZXNzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS93b3JkcHJlc3MvKVxcbiAgICAqICAgW0hvc3RpbmddKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2hvc3RpbmcvKVxcbiAgICAqICAgW0FjY2Vzc2liaWxpdHldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2FjY2Vzc2liaWxpdHkvKVxcbiAgICAqICAgW1Jlc291cmNlc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvcmVzb3VyY2VzLylcXG5cXG4qICAgW0NhdGVnb3JpZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nLylcXG4gICAgKiAgIFtFbGVtZW50b3JdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyMpXFxuICAgICAgICAqICAgW05ldyBGZWF0dXJlc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvbmV3LWZlYXR1cmVzLylcXG4gICAgICAgICogICBbRWxlbWVudG9yIFRlYW0gV3JpdGVzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9lbGVtZW50b3ItdGVhbS13cml0ZXMvKVxcbiAgICAgICAgKiAgIFtTaG93Y2FzZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvc2hvd2Nhc2UvKVxcbiAgICAgICAgKiAgIFtOZXdzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9uZXdzLylcXG4gICAgICAgICogICBbQ2FzZSBTdHVkaWVzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9zdG9yaWVzLylcXG4gICAgICAgICogICBbQ29tbXVuaXR5XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9jb21tdW5pdHkvKVxcblxcbiAgICAqICAgW0Rlc2lnbl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvZGVzaWduLylcXG4gICAgKiAgIFtNYXJrZXRpbmddKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L21hcmtldGluZy8pXFxuICAgICogICBbRGV2ZWxvcG1lbnRdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L2RldmVsb3BtZW50LylcXG4gICAgKiAgIFtCdXNpbmVzc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvYnVzaW5lc3MvKVxcbiAgICAqICAgW1dvcmRQcmVzc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2F0ZWdvcnkvd29yZHByZXNzLylcXG4gICAgKiAgIFtIb3N0aW5nXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9ob3N0aW5nLylcXG4gICAgKiAgIFtBY2Nlc3NpYmlsaXR5XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9hY2Nlc3NpYmlsaXR5LylcXG4gICAgKiAgIFtSZXNvdXJjZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L3Jlc291cmNlcy8pXFxuXFxu4pyVXFxuXFxuW10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vIyEpXFxuXFxuW0xvZ2luXShodHRwczovL215LmVsZW1lbnRvci5jb20vd2Vic2l0ZXMvKVxcblxcbltHZXQgU3RhcnRlZF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3dlbGNvbWUtY2xvdWQvY2hvb3NlLWRlc2lnbi8pXFxuXFxuV2hhdCBpcyBuOG4/IEFuIEluLURlcHRoIEd1aWRlIHRvIFdvcmtmbG93IEF1dG9tYXRpb25cXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxcblxcbiogICBbSXRhbWFyIEhhaW1dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2F1dGhvci9pdGFtYXJoYS8pXFxuKiAgICBvbltSZXNvdXJjZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NhdGVnb3J5L3Jlc291cmNlcy8pXFxuKiAgICBOb3YgMTIsIDIwMjUgXFxuKiAgIDAgQ29tbWVudHNcXG5cXG4gSW4gdG9kYXkncyBkaWdpdGFsIGxhbmRzY2FwZSwgYnVzaW5lc3NlcyByZWx5IG9uIGEgZGl6enlpbmcgYXJyYXkgb2Ygc3BlY2lhbGl6ZWQgYXBwbGljYXRpb25zIHRvIGZ1bmN0aW9uLiBZb3UgaGF2ZSBhIENSTSBmb3IgY3VzdG9tZXIgcmVsYXRpb25zaGlwcywgYW4gZW1haWwgcGxhdGZvcm0gZm9yIG1hcmtldGluZywgYSBwcm9qZWN0IG1hbmFnZW1lbnQgdG9vbCBmb3IgdGFza3MsIGFuZCBhIGRvemVuIG90aGVycywgZWFjaCBoYW5kbGluZyBhIGNyaXRpY2FsIHBpZWNlIG9mIHRoZSBwdXp6bGUuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlc2UgYXBwbGljYXRpb25zIG9mdGVuIGV4aXN0IGluIHRoZWlyIG93biBzaWxvcywgY3JlYXRpbmcgZGlnaXRhbCBpc2xhbmRzIHRoYXQgcmVxdWlyZSBjb25zdGFudCBtYW51YWwgZWZmb3J0IHRvIGJyaWRnZS4gVGhpcyBpcyB3aGVyZSB3b3JrZmxvdyBhdXRvbWF0aW9uIGJlY29tZXMgZXNzZW50aWFsLiBcXG5cXG4hW0ltYWdlIDI5XShodHRwczovL2VsZW1lbnRvci5jb20vY2RuLWNnaS9pbWFnZS9mPWF1dG8sdz0xMjAwLGg9NjMwL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjUvMTAvaW1naV8yM18yMDIxXzExX0hlcmRpbmctQ2F0cy0lRTIlODAlOTQtTGVzc29ucy1MZWFybmVkLVdoaWxlLURldmVsb3BpbmctZm9yLXRoZS1Xb3JkUHJlc3MtRW52aXJvbm1lbnQtMDEuanBlZylcXG5cXG4gVGFibGUgb2YgQ29udGVudHMgXFxuXFxuKiAgIFtLZXkgVGFrZWF3YXlzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8ja2V5LXRha2Vhd2F5cylcXG4qICAgW1RoZSBNb2Rlcm4gQ2hhbGxlbmdlOiBBIERpc2Nvbm5lY3RlZCBEaWdpdGFsIFdvcmxkXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jdGhlLW1vZGVybi1jaGFsbGVuZ2UtYS1kaXNjb25uZWN0ZWQtZGlnaXRhbC13b3JsZClcXG4qICAgK1tXaGF0IGlzIG44biBhbmQgSG93IERvZXMgSXQgU29sdmUgVGhpcyBQcm9ibGVtP10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vI3doYXQtaXMtbjhuLWFuZC1ob3ctZG9lcy1pdC1zb2x2ZS10aGlzLXByb2JsZW0pIFxcbiAgICAqICAgW0EgVmlzdWFsIEFwcHJvYWNoIHRvIEF1dG9tYXRpb25dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyNhLXZpc3VhbC1hcHByb2FjaC10by1hdXRvbWF0aW9uKVxcbiAgICAqICAgW1RoZSBDb3JlIENvbXBvbmVudHMgb2YgbjhuXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jdGhlLWNvcmUtY29tcG9uZW50cy1vZi1uOG4pXFxuICAgICogICArW1RoZSDigJxTb3VyY2UtQXZhaWxhYmxl4oCdIEFkdmFudGFnZTogRmxleGliaWxpdHkgYW5kIENvbnRyb2xdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyN0aGUtc291cmNlLWF2YWlsYWJsZS1hZHZhbnRhZ2UtZmxleGliaWxpdHktYW5kLWNvbnRyb2wpIFxcbiAgICAgICAgKiAgIFtTZWxmLUhvc3RpbmcgbjhuXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jc2VsZi1ob3N0aW5nLW44bilcXG4gICAgICAgICogICBbbjhuIENsb3VkXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jbjhuLWNsb3VkKVxcblxcbiogICArW1doeSBTaG91bGQgYSBXZWIgQ3JlYXRvciBvciBNYXJrZXRlciBDYXJlIEFib3V0IG44bj9dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyN3aHktc2hvdWxkLWEtd2ViLWNyZWF0b3Itb3ItbWFya2V0ZXItY2FyZS1hYm91dC1uOG4pIFxcbiAgICAqICAgK1tTdXBlcmNoYXJnaW5nIFlvdXIgRWxlbWVudG9yIEZvcm1zXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jc3VwZXJjaGFyZ2luZy15b3VyLWVsZW1lbnRvci1mb3JtcykgXFxuICAgICAgICAqICAgW1VzZSBDYXNlIDE6IEFkdmFuY2VkIExlYWQgTWFuYWdlbWVudF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vI3VzZS1jYXNlLTEtYWR2YW5jZWQtbGVhZC1tYW5hZ2VtZW50KVxcbiAgICAgICAgKiAgIFtVc2UgQ2FzZSAyOiBBdXRvbWF0aW5nIENsaWVudCBTdXBwb3J0XShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jdXNlLWNhc2UtMi1hdXRvbWF0aW5nLWNsaWVudC1zdXBwb3J0KVxcblxcbiAgICAqICAgK1tBdXRvbWF0aW5nIFlvdXIgV29vQ29tbWVyY2UgU3RvcmVdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyNhdXRvbWF0aW5nLXlvdXItd29vY29tbWVyY2Utc3RvcmUpIFxcbiAgICAgICAgKiAgIFtVc2UgQ2FzZSAzOiBPcmRlciBGdWxmaWxsbWVudCBhbmQgSW52b2ljaW5nXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jdXNlLWNhc2UtMy1vcmRlci1mdWxmaWxsbWVudC1hbmQtaW52b2ljaW5nKVxcblxcbiAgICAqICAgK1tTdHJlYW1saW5pbmcgQ29udGVudCBNYXJrZXRpbmcgV29ya2Zsb3dzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jc3RyZWFtbGluaW5nLWNvbnRlbnQtbWFya2V0aW5nLXdvcmtmbG93cykgXFxuICAgICAgICAqICAgW1VzZSBDYXNlIDQ6IENvbnRlbnQgUHJvbW90aW9uIEVuZ2luZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vI3VzZS1jYXNlLTQtY29udGVudC1wcm9tb3Rpb24tZW5naW5lKVxcblxcbiAgICAqICAgK1tBdXRvbWF0aW5nIEFnZW5jeSBPcGVyYXRpb25zIGFuZCBDbGllbnQgUmVwb3J0aW5nXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jYXV0b21hdGluZy1hZ2VuY3ktb3BlcmF0aW9ucy1hbmQtY2xpZW50LXJlcG9ydGluZykgXFxuICAgICAgICAqICAgW1VzZSBDYXNlIDU6IEF1dG9tYXRlZCBDbGllbnQgUmVwb3J0c10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vI3VzZS1jYXNlLTUtYXV0b21hdGVkLWNsaWVudC1yZXBvcnRzKVxcblxcbiogICArW0dldHRpbmcgU3RhcnRlZCB3aXRoIG44bjogQSBQcmFjdGljYWwgR3VpZGVdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyNnZXR0aW5nLXN0YXJ0ZWQtd2l0aC1uOG4tYS1wcmFjdGljYWwtZ3VpZGUpIFxcbiAgICAqICAgW09wdGlvbiAxOiBTZXR0aW5nIHVwIG44biBDbG91ZF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vI29wdGlvbi0xLXNldHRpbmctdXAtbjhuLWNsb3VkKVxcbiAgICAqICAgW09wdGlvbiAyOiBTZWxmLUhvc3RpbmcgbjhuXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jb3B0aW9uLTItc2VsZi1ob3N0aW5nLW44bilcXG4gICAgKiAgIFtCdWlsZGluZyBZb3VyIEZpcnN0IFdvcmtmbG93OiBFbGVtZW50b3IgRm9ybSB0byBHb29nbGUgU2hlZXRzICYgU2xhY2tdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyNidWlsZGluZy15b3VyLWZpcnN0LXdvcmtmbG93LWVsZW1lbnRvci1mb3JtLXRvLWdvb2dsZS1zaGVldHMtc2xhY2spXFxuXFxuKiAgICtbbjhuIHZzLiBUaGUgQ29tcGV0aXRpb246IEEgTmV1dHJhbCBMb29rXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jbjhuLXZzLXRoZS1jb21wZXRpdGlvbi1hLW5ldXRyYWwtbG9vaykgXFxuICAgICogICBbbjhuIHZzLiBaYXBpZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyNuOG4tdnMtemFwaWVyKVxcbiAgICAqICAgW244biB2cy4gTWFrZSAoZm9ybWVybHkgSW50ZWdyb21hdCldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuLyNuOG4tdnMtbWFrZS1mb3JtZXJseS1pbnRlZ3JvbWF0KVxcbiAgICAqICAgW1doZW4gdG8gQ2hvb3NlIG44bl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vI3doZW4tdG8tY2hvb3NlLW44bilcXG5cXG4qICAgW1RoZSBGdXR1cmUgb2YgQXV0b21hdGlvbiBhbmQgV2ViIENyZWF0aW9uXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi8jdGhlLWZ1dHVyZS1vZi1hdXRvbWF0aW9uLWFuZC13ZWItY3JlYXRpb24pXFxuKiAgIFtGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyAoRkFRKV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vI2ZyZXF1ZW50bHktYXNrZWQtcXVlc3Rpb25zLWZhcSlcXG5cXG5Xb3JrZmxvdyBhdXRvbWF0aW9uIHRvb2xzIGFjdCBhcyB0aGUgY2VudHJhbCBuZXJ2b3VzIHN5c3RlbSBmb3IgeW91ciBkaWdpdGFsIG9wZXJhdGlvbnMsIGNvbm5lY3RpbmcgeW91ciBhcHBzIGFuZCBsZXR0aW5nIHRoZW0gdGFsayB0byBlYWNoIG90aGVyIGF1dG9tYXRpY2FsbHkuIFRoZXkgaGFuZGxlIHRoZSByZXBldGl0aXZlLCBtYW51YWwgdGFza3MgdGhhdCBjb25zdW1lIHlvdXIgdGltZSwgZnJlZWluZyB5b3UgdG8gZm9jdXMgb24gc3RyYXRlZ3ksIGNyZWF0aXZpdHksIGFuZCBncm93dGguIE9uZSBvZiB0aGUgbW9zdCBwb3dlcmZ1bCBhbmQgZmxleGlibGUgcGxheWVycyBpbiB0aGlzIHNwYWNlIGlzIG44biwgYSB0b29sIHRoYXQgZ2l2ZXMgd2ViIGNyZWF0b3JzIGFuZCBidXNpbmVzcyBvd25lcnMgdW5wYXJhbGxlbGVkIGNvbnRyb2wgb3ZlciB0aGVpciBhdXRvbWF0ZWQgcHJvY2Vzc2VzLlxcblxcbiMjIyAqKktleSBUYWtlYXdheXMqKlxcblxcbiogICAqKldoYXQgbjhuIElzOioqIG44biAocHJvbm91bmNlZCDigJxuLWVpZ2h0LW7igJ0pIGlzIGEgc291cmNlLWF2YWlsYWJsZSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgdGhhdCBlbXBvd2VycyB5b3UgdG8gY29ubmVjdCBkaWZmZXJlbnQgYXBwbGljYXRpb25zIGFuZCBzZXJ2aWNlcyB0byBhdXRvbWF0ZSByZXBldGl0aXZlIHRhc2tzIHdpdGhvdXQgZXh0ZW5zaXZlIGNvZGluZy5cXG4qICAgKipWaXN1YWwsIE5vZGUtQmFzZWQgU3lzdGVtOioqIEl0IHVzZXMgYSB2aXN1YWwgY2FudmFzIHdoZXJlIHlvdSBjb25uZWN0IOKAnG5vZGVz4oCdIChyZXByZXNlbnRpbmcgYXBwcyBvciBmdW5jdGlvbnMpIHRvIGJ1aWxkIHdvcmtmbG93cywgbWFraW5nIGNvbXBsZXggYXV0b21hdGlvbnMgdW5kZXJzdGFuZGFibGUgYW5kIG1hbmFnZWFibGUuXFxuKiAgICoqVWx0aW1hdGUgRmxleGliaWxpdHkgd2l0aCBIb3N0aW5nOioqIG44biBvZmZlcnMgYSBtYW5hZ2VkIFtDbG91ZF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY2xvdWQtaG9zdGluZy8gXFxcIkNsb3VkXFxcIikgdmVyc2lvbiBmb3IgZWFzZSBvZiB1c2UgYW5kIGEgc2VsZi1ob3N0YWJsZSB2ZXJzaW9uIGZvciBjb21wbGV0ZSBkYXRhIGNvbnRyb2wsIHByaXZhY3ksIGFuZCBjb3N0LWVmZmVjdGl2ZW5lc3MgYXQgc2NhbGUuIFRoaXMgaXMgYSBrZXkgZGlmZmVyZW50aWF0b3IgZnJvbSBpdHMgY29tcGV0aXRvcnMuXFxuKiAgICoqQ29yZSBDb25jZXB0czoqKiBVbmRlcnN0YW5kaW5nIHRyaWdnZXJzICh3aGF0IHN0YXJ0cyBhIHdvcmtmbG93KSwgbm9kZXMgKHRoZSBhY3Rpb24gc3RlcHMpLCBjb25uZWN0aW9ucyAodGhlIGZsb3cgb2YgZGF0YSksIGFuZCBjcmVkZW50aWFscyAoc2VjdXJlIGFwcCBsb2dpbnMpIGlzIGtleSB0byBtYXN0ZXJpbmcgdGhlIHBsYXRmb3JtLlxcbiogICAqKlBvd2VyZnVsIGZvciBXZWIgQ3JlYXRvcnM6KiogbjhuIGlzIGV4Y2VwdGlvbmFsbHkgdXNlZnVsIGZvciBhdXRvbWF0aW5nIHRhc2tzIG9yaWdpbmF0aW5nIGZyb20gYSB3ZWJzaXRlLCBzdWNoIGFzIG1hbmFnaW5nIGxlYWRzIGZyb20gYW4gRWxlbWVudG9yIGZvcm0sIHByb2Nlc3NpbmcgV29vQ29tbWVyY2Ugb3JkZXJzLCBhbmQgc3RyZWFtbGluaW5nIFtjb250ZW50IG1hcmtldGluZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvY29udGVudC1tYXJrZXRpbmctc3RyYXRlZ3kvIFxcXCJjb250ZW50IG1hcmtldGluZ1xcXCIpIGVmZm9ydHMuXFxuKiAgICoqQSBTdHJvbmcgQ29tcGV0aXRvcjoqKiBJdCBzdGFuZHMgYXMgYSBwb3dlcmZ1bCBhbHRlcm5hdGl2ZSB0byB0b29scyBsaWtlIFphcGllciBhbmQgTWFrZSwgcGFydGljdWxhcmx5IGZvciB1c2VycyB3aG8gbmVlZCBtb3JlIGNvbXBsZXggbG9naWMsIGN1c3RvbSBicmFuY2hpbmcsIGFuZCB0aGUgYWJpbGl0eSB0byBydW4gaGlnaC12b2x1bWUgdGFza3Mgd2l0aG91dCBwZXItdHJhbnNhY3Rpb24gZmVlcy5cXG5cXG4qKlRoZSBNb2Rlcm4gQ2hhbGxlbmdlOiBBIERpc2Nvbm5lY3RlZCBEaWdpdGFsIFdvcmxkKipcXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5UaGluayBhYm91dCB0aGUgbGFzdCB0aW1lIHlvdSByZWNlaXZlZCBhIG5ldyBsZWFkIGZyb20geW91ciB3ZWJzaXRl4oCZcyBjb250YWN0IGZvcm0uIFdoYXQgaGFwcGVuZWQgbmV4dD8gUGVyaGFwcyB5b3UgbWFudWFsbHkgY29waWVkIHRoYXQgcGVyc29u4oCZcyBpbmZvcm1hdGlvbiBpbnRvIGEgR29vZ2xlIFNoZWV0LiBUaGVuLCB5b3UgYWRkZWQgdGhlaXIgZW1haWwgYWRkcmVzcyB0byB5b3VyIG1hcmtldGluZyBsaXN0IGluIE1haWxjaGltcC4gQWZ0ZXIgdGhhdCwgeW91IHNlbnQgYSBtZXNzYWdlIHRvIHlvdXIgc2FsZXMgdGVhbSBvbiBTbGFjayB0byBsZXQgdGhlbSBrbm93IGEgbmV3IGxlYWQgY2FtZSBpbi4gRmluYWxseSwgeW91IGNyZWF0ZWQgYSBuZXcgY29udGFjdCBjYXJkIGluIHlvdXIgQ1JNLlxcblxcbkVhY2ggb2YgdGhlc2Ugc3RlcHMgaXMgc2ltcGxlIG9uIGl0cyBvd24sIGJ1dCB0b2dldGhlciB0aGV5IHJlcHJlc2VudCBhIHNpZ25pZmljYW50IHRpbWUgaW52ZXN0bWVudC4gTm93IG11bHRpcGx5IHRoYXQgYnkgdGVuLCBmaWZ0eSwgb3IgYSBodW5kcmVkIGxlYWRzIHBlciB3ZWVrLiBUaGlzIG1hbnVhbCBkYXRhIGVudHJ5IGlzIG5vdCBqdXN0IHRlZGlvdXM7IGl0IGlzIGEgcmVjaXBlIGZvciBodW1hbiBlcnJvciwgbG9zdCBwcm9kdWN0aXZpdHksIGFuZCBtaXNzZWQgb3Bwb3J0dW5pdGllcy4gQSBkZXRhaWwgZ2V0cyBtaXN0eXBlZCwgYSBsZWFkIGdldHMgZm9yZ290dGVuLCBvciBhIGZvbGxvdy11cCBpcyBkZWxheWVkLCBhbmQgYSBwb3RlbnRpYWwgY3VzdG9tZXIgaXMgbG9zdC4gVGhpcyBpcyB0aGUgZnJpY3Rpb24gb2YgYSBkaXNjb25uZWN0ZWQgZGlnaXRhbCBlY29zeXN0ZW0sIGEgcHJvYmxlbSB0aGF0IG5lYXJseSBldmVyeSBtb2Rlcm4gYnVzaW5lc3MgZmFjZXMuXFxuXFxuV29ya2Zsb3cgYXV0b21hdGlvbiBwbGF0Zm9ybXMgd2VyZSBjcmVhdGVkIHRvIHNvbHZlIHRoaXMgZXhhY3QgcHJvYmxlbS4gVGhleSBzZXJ2ZSBhcyB1bml2ZXJzYWwgdHJhbnNsYXRvcnMsIGFsbG93aW5nIHlvdXIgZGl2ZXJzZSBjb2xsZWN0aW9uIG9mIHNvZnR3YXJlIHRvb2xzIHRvIGNvbW11bmljYXRlIGFuZCBhY3QgaW4gY29uY2VydC4gQnkgY3JlYXRpbmcgYXV0b21hdGVkIOKAnGlmIHRoaXMsIHRoZW4gdGhhdOKAnSBzZXF1ZW5jZXMsIHlvdSBjYW4gZW5zdXJlIHRoYXQgdGhlIHJpZ2h0IGRhdGEgbW92ZXMgdG8gdGhlIHJpZ2h0IHBsYWNlIGF0IHRoZSByaWdodCB0aW1lLCBldmVyeSBzaW5nbGUgdGltZS5cXG5cXG5bZWNvbW1lcmNlIGhvc3RpbmcgQnVpbGQgR3JlYXQgU3RvcmVzLCBHcm93IFlvdXIgU2FsZXMgKiBJbmNyZWRpYmx5IEZhc3QgU3RvcmUgKiBTYWxlcyBPcHRpbWl6YXRpb24gKiBFbnRlcnByaXNlLUdyYWRlIFNlY3VyaXR5ICogMjQvNyBFeHBlcnQgU2VydmljZSBGcm9tICQxNC45OSAhW0ltYWdlIDMwXShodHRwczovL2VsZW1lbnRvci5jb20vY2RuLWNnaS9pbWFnZS9mPWF1dG8sdz02NTIsaD00ODAvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wNy9GcmFtZS0xMDg4NjQ3NC5wbmcpXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpY2luZy1lY29tbWVyY2UtaG9zdGluZy8pW2Vjb21tZXJjZSBob3N0aW5nIEJ1aWxkIEdyZWF0IFN0b3JlcywgR3JvdyBZb3VyIFNhbGVzICogSW5jcmVkaWJseSBGYXN0IFN0b3JlICogU2FsZXMgT3B0aW1pemF0aW9uICogRW50ZXJwcmlzZS1HcmFkZSBTZWN1cml0eSAqIDI0LzcgRXhwZXJ0IFNlcnZpY2UgRnJvbSAkMTQuOTldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLWVjb21tZXJjZS1ob3N0aW5nLylcXG5cXG5bSW1hZ2Ugb3B0aW1pemVyIFNwZWVkIFVwIFlvdXIgV2Vic2l0ZSAqIFVubGltaXRlZCBXZWJzaXRlcyAqIFVubGltaXRlZCBVcGxvYWQgU2l6ZSAqIEJ1bGsgT3B0aW1pemF0aW9uICogV2ViUCBDb252ZXJzaW9uIFN0YXJ0IEZyZWUgVHJpYWwgIVtJbWFnZSAzMV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Nkbi1jZ2kvaW1hZ2UvZj1hdXRvLHc9NzM2LGg9NDc4L2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDcvR3JvdXAtMTA4ODI2MzgucG5nKV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL2ltYWdlLW9wdGltaXplci8pW0ltYWdlIG9wdGltaXplciBTcGVlZCBVcCBZb3VyIFdlYnNpdGUgKiBVbmxpbWl0ZWQgV2Vic2l0ZXMgKiBVbmxpbWl0ZWQgVXBsb2FkIFNpemUgKiBCdWxrIE9wdGltaXphdGlvbiAqIFdlYlAgQ29udmVyc2lvbiBTdGFydCBhIEZyZWUgVHJpYWxdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9pbWFnZS1vcHRpbWl6ZXIvKVxcblxcbltFbGVtZW50b3IgQUkgRGlzY292ZXIgeW91ciBOZXcgU3VwZXJwb3dlcnMgKiBQcm9tcHQgeW91ciBDb2RlICYgQWRkIEN1c3RvbSBDb2RlLCBIVE1MLCBvciBDU1Mgd2l0aCBlYXNlICogR2VuZXJhdGUgb3IgZWRpdCB3aXRoIEFJIGZvciBUYWlsb3JlZCBJbWFnZXMgKiBVc2UgQ29waWxvdCBmb3IgcHJlZGljdGl2ZSBzdHlsaXplZCBjb250YWluZXIgbGF5b3V0cyBTdGFydCBGcmVlIFRyaWFsIE5vIENyZWRpdCBDYXJkIFJlcXVpcmVkLiAhW0ltYWdlIDMyXShodHRwczovL2VsZW1lbnRvci5jb20vY2RuLWNnaS9pbWFnZS9mPWF1dG8sdz02MTgsaD00ODAvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wNy9Hcm91cC0xMDg4MjUyNS5wbmcpXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpY2luZy1haS8pW0VsZW1lbnRvciBBSSBEaXNjb3ZlciB5b3VyIE5ldyBTdXBlcnBvd2VycyAqIFByb21wdCB5b3VyIENvZGUgJiBBZGQgQ3VzdG9tIENvZGUsIEhUTUwsIG9yIENTUyB3aXRoIGVhc2UgKiBHZW5lcmF0ZSBvciBlZGl0IHdpdGggQUkgZm9yIFRhaWxvcmVkIEltYWdlcyAqIFVzZSBDb3BpbG90IGZvciBwcmVkaWN0aXZlIHN0eWxpemVkIGNvbnRhaW5lciBsYXlvdXRzICogQ3JhZnQgb3IgVHJhbnNsYXRlIENvbnRlbnQgYXQgTGlnaHRuaW5nIFNwZWVkIFN0YXJ0IEZyZWUgVHJpYWwgTm8gQ3JlZGl0IENhcmQgUmVxdWlyZWQuXShodHRwczovL2VsZW1lbnRvci5jb20vcHJpY2luZy1haS8pXFxuXFxuW1dvcmRwcmVzcyBIb3N0aW5nIFRoZSBGYXN0ZXN0IFRyYWNrIHRvIGEgVG9wLVBlcmZvcm1pbmcgV2Vic2l0ZSAqIFN1cGVyLUZhc3QgV2Vic2l0ZXMgKiBFbnRlcnByaXNlLUdyYWRlIFNlY3VyaXR5ICogQW55IFNpdGUsIEV2ZXJ5IEJ1c2luZXNzICogMjQvNyBFeHBlcnQgU2VydmljZSBGcm9tICQ4Ljk5ICFbSW1hZ2UgMzNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9jZG4tY2dpL2ltYWdlL2Y9YXV0byx3PTY5NixoPTQzMi9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzA3L0dyb3VwLTEwODgyNjM3LnBuZyldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLylbV29yZHByZXNzIEhvc3RpbmcgVGhlIEZhc3Rlc3QgVHJhY2sgdG8gYSBUb3AtUGVyZm9ybWluZyBXZWJzaXRlICogU3VwZXItRmFzdCBXZWJzaXRlcyAqIEVudGVycHJpc2UtR3JhZGUgU2VjdXJpdHkgKiBBbnkgU2l0ZSwgRXZlcnkgQnVzaW5lc3MgKiAyNC83IEV4cGVydCBTZXJ2aWNlIEZyb20gJDguOTldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLylcXG5cXG5bUHJvIFdlYnNpdGUgYnVpbGRlciBCdWlsZCBBbnkgVHlwZSBvZiBXZWJzaXRlICogRHJhZyAmIERyb3AgV2Vic2l0ZSBCdWlsZGVyLCBObyBDb2RlIFJlcXVpcmVkICogT3ZlciAxMDAgV2lkZ2V0cywgZm9yIEV2ZXJ5IFB1cnBvc2UgKiBQcm9mZXNzaW9uYWwgRGVzaWduIEZlYXR1cmVzIGZvciBQaXhlbCBQZXJmZWN0IERlc2lnbiBGcm9tICQ0Ljk5ICFbSW1hZ2UgMzRdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9jZG4tY2dpL2ltYWdlL2Y9YXV0byx3PTc0OCxoPTQ4MC9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzA3L2N0YS1iYW5uZXItcGx1Z2luLnBuZyldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLXBsdWdpbi8pW1BybyBXZWJzaXRlIGJ1aWxkZXIgQnVpbGQgQW55IFR5cGUgb2YgV2Vic2l0ZSAqIERyYWcgJiBEcm9wIFdlYnNpdGUgQnVpbGRlciwgTm8gQ29kZSBSZXF1aXJlZCAqIE92ZXIgMTAwIFdpZGdldHMsIGZvciBFdmVyeSBQdXJwb3NlICogUHJvZmVzc2lvbmFsIERlc2lnbiBGZWF0dXJlcyBmb3IgUGl4ZWwgUGVyZmVjdCBEZXNpZ24gKiBNYXJrZXRpbmcgJiBlQ29tbWVyY2UgRmVhdHVyZXMgdG8gSW5jcmVhc2UgQ29udmVyc2lvbiBGcm9tICQ0Ljk5XShodHRwczovL2VsZW1lbnRvci5jb20vcHJpY2luZy1wbHVnaW4vKVxcblxcbltzaXRlIG1haWxlciBJbXByb3ZlIFlvdXIgRW1haWwgRGVsaXZlcmFiaWxpdHkgKiBFbnN1cmUgUmVsaWFibGUgRW1haWwgRGVsaXZlcnkgZm9yIFlvdXIgV2Vic2l0ZSAqIFNpbXBsZSBTZXR1cCwgTm8gU01UUCBDb25maWd1cmF0aW9uIE5lZWRlZCAqIENlbnRyYWxpemVkIEVtYWlsIEluc2lnaHRzIGZvciBCZXR0ZXIgVHJhY2tpbmcgVHJ5IEl0IEZvciBGcmVlICFbSW1hZ2UgMzVdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9jZG4tY2dpL2ltYWdlL2Y9YXV0byx3PTY4MCxoPTQ0Ni9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzEwL0dyb3VwLTEwMDAwMDQ3MTYucG5nKV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL3NpdGUtbWFpbGVyLylbc2l0ZSBtYWlsZXIgSW1wcm92ZSBZb3VyIEVtYWlsIERlbGl2ZXJhYmlsaXR5ICogRW5zdXJlIFJlbGlhYmxlIEVtYWlsIERlbGl2ZXJ5IGZvciBZb3VyIFdlYnNpdGUgKiBTaW1wbGUgU2V0dXAsIE5vIFNNVFAgQ29uZmlndXJhdGlvbiBOZWVkZWQgKiBDZW50cmFsaXplZCBFbWFpbCBJbnNpZ2h0cyBmb3IgQmV0dGVyIFRyYWNraW5nIFRyeSBJdCBGb3IgRnJlZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL3NpdGUtbWFpbGVyLylcXG5cXG4qKldoYXQgaXMgbjhuIGFuZCBIb3cgRG9lcyBJdCBTb2x2ZSBUaGlzIFByb2JsZW0/KipcXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5cXG5uOG4gaXMgYSB3b3JrZmxvdyBhdXRvbWF0aW9uIHRvb2wgdGhhdCBnaXZlcyB5b3UgdGhlIGJ1aWxkaW5nIGJsb2NrcyB0byBkZXNpZ24gdGhlc2UgYXV0b21hdGVkIHByb2Nlc3NlcyBpbiBhIGhpZ2hseSB2aXN1YWwgYW5kIGZsZXhpYmxlIHdheS4gSW5zdGVhZCBvZiBiZWluZyBhIHJpZ2lkLCBibGFjay1ib3ggc29sdXRpb24sIGl0IHByb3ZpZGVzIGEgY2FudmFzIHdoZXJlIHlvdSBjYW4gbWFwIG91dCB5b3VyIGJ1c2luZXNzIGxvZ2ljIGV4YWN0bHkgYXMgeW91IGVudmlzaW9uIGl0LiBJdCBjb25uZWN0cyB0byBodW5kcmVkcyBvZiBhcHBzIGFuZCBzZXJ2aWNlcywgYWxsb3dpbmcgeW91IHRvIGNyZWF0ZSBjaGFpbnMgb2YgYWN0aW9ucyB0aGF0IGFyZSB0cmlnZ2VyZWQgYnkgc3BlY2lmaWMgZXZlbnRzLlxcblxcbiMjIyAqKkEgVmlzdWFsIEFwcHJvYWNoIHRvIEF1dG9tYXRpb24qKlxcblxcblRoZSBoZWFydCBvZiBuOG4gaXMgaXRzIHZpc3VhbCB3b3JrZmxvdyBlZGl0b3IuIEltYWdpbmUgYSBkaWdpdGFsIHdoaXRlYm9hcmQgd2hlcmUgZWFjaCBvZiB5b3VyIGFwcGxpY2F0aW9ucyBpcyBhIGJsb2NrLCBvciBhIOKAnG5vZGUu4oCdIFlvdSBwbGFjZSBhIG5vZGUgZm9yIHlvdXIgd2Vic2l0ZSBmb3JtLCBhbm90aGVyIGZvciB5b3VyIENSTSwgYW5kIGFub3RoZXIgZm9yIHlvdXIgZW1haWwgc2VydmljZS4gWW91IHRoZW4gZHJhdyBsaW5lcywgb3Ig4oCcY29ubmVjdGlvbnMs4oCdIGJldHdlZW4gdGhlbSB0byBkaWN0YXRlIGhvdyBkYXRhIHNob3VsZCBmbG93LlxcblxcblRoaXMgbm9kZS1iYXNlZCBhcHByb2FjaCBpcyBpbmNyZWRpYmx5IGludHVpdGl2ZS4gSXQgdHVybnMgYW4gYWJzdHJhY3QgcHJvY2VzcyBpbnRvIGEgY29uY3JldGUgZmxvd2NoYXJ0IHRoYXQgYW55b25lIG9uIHlvdXIgdGVhbSBjYW4gdW5kZXJzdGFuZC4gWW91IGNhbiBzZWUgdGhlIGVudGlyZSBqb3VybmV5IHlvdXIgZGF0YSB0YWtlcywgZnJvbSB0aGUgaW5pdGlhbCB0cmlnZ2VyIHRvIHRoZSBmaW5hbCBhY3Rpb24sIG1ha2luZyBpdCBlYXN5IHRvIGJ1aWxkLCB0cm91Ymxlc2hvb3QsIGFuZCBtb2RpZnkgeW91ciBhdXRvbWF0aW9ucyBhcyB5b3VyIGJ1c2luZXNzIG5lZWRzIGV2b2x2ZS4gVGhpcyBpcyBhIHdvcmxkIGF3YXkgZnJvbSB3cml0aW5nIGNvbXBsZXggaW50ZWdyYXRpb24gY29kZSwgbWFraW5nIHBvd2VyZnVsIGF1dG9tYXRpb24gYWNjZXNzaWJsZSB0byBhIG11Y2ggYnJvYWRlciBhdWRpZW5jZSBvZiBjcmVhdG9ycywgbWFya2V0ZXJzLCBhbmQgZW50cmVwcmVuZXVycy5cXG5cXG4jIyMgKipUaGUgQ29yZSBDb21wb25lbnRzIG9mIG44bioqXFxuXFxuVG8gZ2V0IHN0YXJ0ZWQgd2l0aCBuOG4sIHlvdSBvbmx5IG5lZWQgdG8gdW5kZXJzdGFuZCBhIGZldyBrZXkgY29uY2VwdHMuIFRoZXNlIGFyZSB0aGUgZnVuZGFtZW50YWwgYnVpbGRpbmcgYmxvY2tzIG9mIGV2ZXJ5IGF1dG9tYXRpb24geW914oCZbGwgY3JlYXRlLlxcblxcbiogICAqKk5vZGVzOioqIEEgbm9kZSBpcyB0aGUgcHJpbWFyeSBidWlsZGluZyBibG9jayBpbiBuOG4uIEVhY2ggbm9kZSByZXByZXNlbnRzIGVpdGhlciBhbiBhcHBsaWNhdGlvbiAobGlrZSBHb29nbGUgU2hlZXRzLCBTbGFjaywgb3IgV29yZFByZXNzKSwgYSBjb3JlIHV0aWxpdHkgKGxpa2UgYSBmdW5jdGlvbiB0byBlZGl0IGRhdGEgb3IgYWRkIGNvbmRpdGlvbmFsIGxvZ2ljKSwgb3IgYSB0cmlnZ2VyLiBZb3UgYWRkIG5vZGVzIHRvIHlvdXIgd29ya2Zsb3cgdG8gcGVyZm9ybSBzcGVjaWZpYyBhY3Rpb25zLlxcbiogICAqKkNvbm5lY3Rpb25zOioqIFRoZXNlIGFyZSB0aGUgbGluZXMgeW91IGRyYXcgYmV0d2VlbiBub2Rlcy4gVGhleSBkZWZpbmUgdGhlIHBhdGggdGhhdCB5b3VyIGRhdGEgZm9sbG93cy4gRGF0YSBmbG93cyBvdXQgb2Ygb25lIG5vZGUgYW5kIGJlY29tZXMgdGhlIGlucHV0IGZvciB0aGUgbmV4dCwgYWxsb3dpbmcgeW91IHRvIGNoYWluIGFjdGlvbnMgdG9nZXRoZXIuXFxuKiAgICoqV29ya2Zsb3dzOioqIEEgd29ya2Zsb3cgaXMgdGhlIGVudGlyZSBjYW52YXMgY29udGFpbmluZyB5b3VyIGNvbGxlY3Rpb24gb2Ygbm9kZXMgYW5kIGNvbm5lY3Rpb25zLiBJdCByZXByZXNlbnRzIGEgY29tcGxldGUgYXV0b21hdGVkIHByb2Nlc3MgZnJvbSBzdGFydCB0byBmaW5pc2guIFlvdSBjYW4gaGF2ZSBtYW55IGRpZmZlcmVudCB3b3JrZmxvd3MgcnVubmluZyBpbiB5b3VyIG44biBpbnN0YW5jZSwgZWFjaCBoYW5kbGluZyBhIGRpZmZlcmVudCB0YXNrLlxcbiogICAqKlRyaWdnZXJzOioqIEEgdHJpZ2dlciBub2RlIGlzIHRoZSBzdGFydGluZyBwb2ludCBvZiBhIHdvcmtmbG93LiBJdOKAmXMgdGhlIGV2ZW50IHRoYXQga2lja3MgZXZlcnl0aGluZyBvZmYuIENvbW1vbiB0cmlnZ2VycyBpbmNsdWRlIGEgc2NoZWR1bGUgKGUuZy4sIOKAnHJ1biB0aGlzIHdvcmtmbG93IGV2ZXJ5IE1vbmRheSBhdCA5IEFN4oCdKSwgYSBuZXcgZW50cnkgaW4gYSBkYXRhYmFzZSwgb3IgcmVjZWl2aW5nIGRhdGEgZnJvbSBhIHdlYmhvb2ssIHdoaWNoIGlzIGEgc3BlY2lhbCBbVVJMXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy91cmwvIFxcXCJVUkxcXFwiKSB0aGF0IGFwcGxpY2F0aW9ucyBjYW4gc2VuZCBpbmZvcm1hdGlvbiB0by5cXG4qICAgKipDcmVkZW50aWFsczoqKiBUbyBhbGxvdyBuOG4gdG8gYWNjZXNzIHlvdXIgZGF0YSBpbiBvdGhlciBhcHBsaWNhdGlvbnMgKGxpa2UgcG9zdGluZyB0byB5b3VyIFNsYWNrIGNoYW5uZWwgb3IgYWRkaW5nIGEgcm93IHRvIHlvdXIgcHJpdmF0ZSBHb29nbGUgU2hlZXQpLCB5b3UgbmVlZCB0byBwcm92aWRlIGl0IHdpdGggc2VjdXJlIGFjY2Vzcy4gbjhuIHN0b3JlcyB0aGVzZSBBUEkga2V5cyBhbmQgbG9naW4gZGV0YWlscyBhcyBlbmNyeXB0ZWQgY3JlZGVudGlhbHMsIHdoaWNoIHlvdSBjYW4gdGhlbiByZXVzZSBhY3Jvc3MgYWxsIHlvdXIgd29ya2Zsb3dzLlxcblxcbiMjIyAqKlRoZSDigJxTb3VyY2UtQXZhaWxhYmxl4oCdIEFkdmFudGFnZTogRmxleGliaWxpdHkgYW5kIENvbnRyb2wqKlxcblxcbk9uZSBvZiB0aGUgbW9zdCBzaWduaWZpY2FudCB0aGluZ3MgdGhhdCBzZXRzIG44biBhcGFydCBmcm9tIGl0cyBjb21wZXRpdG9ycyBpcyBpdHMgbGljZW5zaW5nIG1vZGVsLiBJdCBpcyDigJxzb3VyY2UtYXZhaWxhYmxl4oCdIHVuZGVyIGEgZmFpci1jb2RlIGxpY2Vuc2UuIFdoaWxlIHRoaXMgaXNu4oCZdCB0aGUgc2FtZSBhcyBwdXJlIG9wZW4tc291cmNlLCBpdCBtZWFucyB5b3UgY2FuIHZpZXcgdGhlIHNvdXJjZSBjb2RlIGFuZCwgbW9zdCBpbXBvcnRhbnRseSwgaG9zdCB0aGUgZW50aXJlIHBsYXRmb3JtIHlvdXJzZWxmLiBUaGlzIG9wZW5zIHVwIHR3byBkaXN0aW5jdCB3YXlzIHRvIHVzZSB0aGUgdG9vbCwgZWFjaCB3aXRoIGl0cyBvd24gYWR2YW50YWdlcy5cXG5cXG4jIyMjICoqU2VsZi1Ib3N0aW5nIG44bioqXFxuXFxuRm9yIHRob3NlIHdpdGggYSBiaXQgb2YgdGVjaG5pY2FsIGNvbWZvcnQsIHlvdSBjYW4gcnVuIG44biBvbiB5b3VyIG93biBzZXJ2ZXIgb3IgcHJpdmF0ZSBbY2xvdWRdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wYWdlcy9zZW8vY2xvdWQtYmFzZWQtd2ViLWhvc3RpbmcvIFxcXCJCZXN0IENsb3VkLUJhc2VkIFdlYiBIb3N0aW5nXFxcIikgaW5mcmFzdHJ1Y3R1cmUuIFRoaXMgaXMgdGhlIHVsdGltYXRlIG9wdGlvbiBmb3IgY29udHJvbCBhbmQgY29zdC1lZmZlY3RpdmVuZXNzLlxcblxcbiogICAqKkRhdGEgUHJpdmFjeToqKiBXaGVuIHlvdSBzZWxmLWhvc3QsIHlvdXIgZGF0YSBuZXZlciBsZWF2ZXMgeW91ciBpbmZyYXN0cnVjdHVyZS4gWW91ciBjcmVkZW50aWFscywgY3VzdG9tZXIgaW5mb3JtYXRpb24sIGFuZCBidXNpbmVzcyBsb2dpYyByZW1haW4gZW50aXJlbHkgdW5kZXIgeW91ciBjb250cm9sLCB3aGljaCBpcyBhIGNyaXRpY2FsIHJlcXVpcmVtZW50IGZvciBidXNpbmVzc2VzIGluIHJlZ3VsYXRlZCBpbmR1c3RyaWVzIGxpa2UgaGVhbHRoY2FyZSBvciBmaW5hbmNlLlxcbiogICAqKkNvc3QgQ29udHJvbDoqKiBXaXRoIHNlbGYtaG9zdGluZywgeW91IGFyZSBub3QgcGF5aW5nIHBlciB3b3JrZmxvdyBvciBwZXIgZXhlY3V0aW9uLiBZb3VyIG9ubHkgY29zdCBpcyB0aGUgc2VydmVyIGl0c2VsZi4gVGhpcyBtZWFucyB5b3UgY2FuIHJ1biBtaWxsaW9ucyBvZiB0YXNrcyB3aXRob3V0IHNlZWluZyB5b3VyIGJpbGwgc2t5cm9ja2V0LCBtYWtpbmcgaXQgaW5jcmVkaWJseSBlY29ub21pY2FsIGZvciBoaWdoLXZvbHVtZSBhdXRvbWF0aW9uLlxcbiogICAqKlVubGltaXRlZCBDdXN0b21pemF0aW9uOioqIFlvdSBoYXZlIGZ1bGwgY29udHJvbCBvdmVyIHlvdXIgbjhuIGluc3RhbmNlLCBhbGxvd2luZyB5b3UgdG8gdGFpbG9yIGl0IHRvIHlvdXIgc3BlY2lmaWMgbmVlZHMuXFxuXFxuIyMjIyAqKm44biBDbG91ZCoqXFxuXFxuSWYgbWFuYWdpbmcgc2VydmVycyBpc27igJl0IHlvdXIgY3VwIG9mIHRlYSwgbjhuIGFsc28gb2ZmZXJzIGEgbWFuYWdlZCBDbG91ZCB2ZXJzaW9uLiBUaGlzIGlzIHRoZSBmYXN0ZXN0IGFuZCBlYXNpZXN0IHdheSB0byBnZXQgc3RhcnRlZC4gWW91IHNpbXBseSBzaWduIHVwIGZvciBhbiBhY2NvdW50LCBhbmQgbjhuIGhhbmRsZXMgYWxsIHRoZSB0ZWNobmljYWwgb3ZlcmhlYWQgb2YgaG9zdGluZywgbWFpbnRlbmFuY2UsIGFuZCBzZWN1cml0eS4gWW91IGdldCB0aGUgc2FtZSBwb3dlcmZ1bCB3b3JrZmxvdyBlZGl0b3IgYW5kIGFsbCB0aGUgY29yZSBmZWF0dXJlcyB3aXRob3V0IG5lZWRpbmcgdG8gd29ycnkgYWJvdXQgdGhlIHVuZGVybHlpbmcgaW5mcmFzdHJ1Y3R1cmUuIFRoaXMgb3B0aW9uIGlzIHBlcmZlY3QgZm9yIHVzZXJzIHdobyB3YW50IHRvIGZvY3VzIHB1cmVseSBvbiBidWlsZGluZyBhdXRvbWF0aW9ucy5cXG5cXG4qKldoeSBTaG91bGQgYSBXZWIgQ3JlYXRvciBvciBNYXJrZXRlciBDYXJlIEFib3V0IG44bj8qKlxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuQXMgYSBwcm9mZXNzaW9uYWwgd2hvIGJ1aWxkcyB3ZWJzaXRlcywgeW91IGFyZSBjcmVhdGluZyB0aGUgZGlnaXRhbCBmcm9udCBkb29yIGZvciBhIGJ1c2luZXNzLiBCdXQgd2hhdCBoYXBwZW5zIGFmdGVyIHNvbWVvbmUgcmluZ3MgdGhlIGJlbGw/IEEgd2Vic2l0ZSB0aGF0IGlzIGRpc2Nvbm5lY3RlZCBmcm9tIHRoZSByZXN0IG9mIHRoZSBidXNpbmVzc+KAmXMgb3BlcmF0aW9ucyBpcyBvbmx5IGRvaW5nIGhhbGYgaXRzIGpvYi4gVGhpcyBpcyB3aGVyZSBuOG4gYmVjb21lcyBhIHN1cGVycG93ZXIgZm9yIHdlYiBjcmVhdG9ycy4gSXQgYWxsb3dzIHlvdSB0byBidWlsZCB0aGUgYnJpZGdlcyB0aGF0IGNvbm5lY3QgdGhlIHdlYnNpdGUgdG8gdGhlIHZpdGFsIGJhY2stZW5kIHByb2Nlc3NlcyB0aGF0IGRyaXZlIHRoZSBidXNpbmVzcyBmb3J3YXJkLlxcblxcbuKAnEFzIHdlYiBjcmVhdG9ycywgb3VyIGpvYiBleHRlbmRzIGJleW9uZCBqdXN0IGRlc2lnbi4gV2UgYnVpbGQgdGhlIGVuZ2luZXMgZm9yIG91ciBjbGllbnRz4oCZIGJ1c2luZXNzZXMuIFRvb2xzIGxpa2UgbjhuIGFsbG93IHVzIHRvIGNvbm5lY3QgdGhhdCBlbmdpbmUgdG8gdGhlIHJlc3Qgb2YgdGhlaXIgb3BlcmF0aW9ucywgdHVybmluZyBhIGJlYXV0aWZ1bCB3ZWJzaXRlIGludG8gYSBsZWFkLWdlbmVyYXRpbmcsIHNhbGVzLWRyaXZpbmcsIGF1dG9tYXRlZCBwb3dlcmhvdXNlLuKAnSDigJMgSXRhbWFyIEhhaW0sIFdlYiBEZXZlbG9wbWVudCBFeHBlcnRcXG5cXG5CeSBpbnRlZ3JhdGluZyBhdXRvbWF0aW9uIGRpcmVjdGx5IGludG8gdGhlIHNvbHV0aW9ucyB5b3UgcHJvdmlkZSwgeW91IGNhbiBvZmZlciBzaWduaWZpY2FudGx5IG1vcmUgdmFsdWUgdG8geW91ciBjbGllbnRzLCBzdHJlYW1saW5lIHlvdXIgb3duIG9wZXJhdGlvbnMsIGFuZCBjcmVhdGUgdHJ1bHkgaW50ZWxsaWdlbnQsIFtyZXNwb25zaXZlXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9yZXNwb25zaXZlLXdlYnNpdGUvIFxcXCJyZXNwb25zaXZlXFxcIikgZGlnaXRhbCBleHBlcmllbmNlcy5cXG5cXG4jIyMgKipTdXBlcmNoYXJnaW5nIFlvdXIgRWxlbWVudG9yIEZvcm1zKipcXG5cXG5BIGZvcm0gb24gYSB3ZWJzaXRlIGlzIHRoZSBiZWdpbm5pbmcgb2YgYSBjb252ZXJzYXRpb24uIFdoZXRoZXIgaXTigJlzIGEgc2ltcGxlIGNvbnRhY3QgZm9ybSwgYSBkZXRhaWxlZCBxdW90ZSByZXF1ZXN0LCBvciBhIHN1cHBvcnQgdGlja2V0LCB0aGUgaW5mb3JtYXRpb24gc3VibWl0dGVkIGlzIHZhbHVhYmxlIGFuZCB0aW1lLXNlbnNpdGl2ZS4gQSBwb3dlcmZ1bCB0b29sIGxpa2UgdGhlW0VsZW1lbnRvciBQcm9dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm8pIEZvcm0gQnVpbGRlciBnaXZlcyB5b3UgdGhlIGZsZXhpYmlsaXR5IHRvIGRlc2lnbiBhbnkga2luZCBvZiBmb3JtIGltYWdpbmFibGUuIFdpdGggbjhuLCB5b3UgY2FuIGVuc3VyZSB0aGUgZGF0YSBmcm9tIHRoYXQgZm9ybSBpbnN0YW50bHkgYW5kIGF1dG9tYXRpY2FsbHkgdHJpZ2dlcnMgdGhlIHJpZ2h0IGFjdGlvbnMuXFxuXFxuIyMjIyAqKlVzZSBDYXNlIDE6IEFkdmFuY2VkIExlYWQgTWFuYWdlbWVudCoqXFxuXFxuSW1hZ2luZSBhIHBvdGVudGlhbCBjbGllbnQgZmlsbHMgb3V0IGEg4oCcUmVxdWVzdCBhIFF1b3Rl4oCdIGZvcm0gb24gYSB3ZWJzaXRlIHlvdSBidWlsdCB3aXRoIEVsZW1lbnRvci4gSW5zdGVhZCBvZiB0aGF0IHN1Ym1pc3Npb24ganVzdCBzaXR0aW5nIGluIGFuIGVtYWlsIGluYm94LCBuOG4gY2FuIG9yY2hlc3RyYXRlIGEgc2VyaWVzIG9mIGltbWVkaWF0ZSBhY3Rpb25zLlxcblxcbiogICAqKlRyaWdnZXI6KiogQSBuZXcgRWxlbWVudG9yIGZvcm0gc3VibWlzc2lvbiBpcyBzZW50IHRvIGFuIG44biB3ZWJob29rIFVSTC5cXG4qICAgKipuOG4gV29ya2Zsb3c6KipcXG4gICAgMS4gICBUaGUgd2ViaG9vayBub2RlIHJlY2VpdmVzIHRoZSBsZWFk4oCZcyBpbmZvcm1hdGlvbiAobmFtZSwgZW1haWwsIHByb2plY3QgZGV0YWlscykuXFxuICAgIDIuICAgQW4gKipBc2FuYSBub2RlKiogY3JlYXRlcyBhIG5ldyB0YXNrIGluIHRoZSDigJxOZXcgTGVhZHPigJ0gcHJvamVjdCBhbmQgYXNzaWducyBpdCB0byBhIHNhbGVzIHJlcHJlc2VudGF0aXZlLlxcbiAgICAzLiAgIEEgKipIdWJTcG90IG5vZGUqKiBjcmVhdGVzIGEgbmV3IGNvbnRhY3QgYW5kIGEgbmV3IGRlYWwgaW4gdGhlIHNhbGVzIHBpcGVsaW5lLlxcbiAgICA0LiAgIEEgKipNYWlsY2hpbXAgbm9kZSoqIGFkZHMgdGhlIGNvbnRhY3QgdG8gYSDigJxQcm9zcGVjdGl2ZSBDbGllbnRz4oCdIGVtYWlsIGxpc3QgZm9yIGEgbG9uZy10ZXJtIG51cnR1cmUgc2VxdWVuY2UuXFxuICAgIDUuICAgQSAqKlNsYWNrIG5vZGUqKiBzZW5kcyBhbiBpbnN0YW50IG5vdGlmaWNhdGlvbiB0byB0aGUgI3NhbGVzIGNoYW5uZWwgd2l0aCB0aGUgbGVhZOKAmXMga2V5IGRldGFpbHMgYW5kIGEgbGluayB0byB0aGUgQ1JNIHJlY29yZC5cXG5cXG5UaGlzIGVudGlyZSBwcm9jZXNzIGhhcHBlbnMgaW4gc2Vjb25kcywgZW5zdXJpbmcgZmxhd2xlc3MgZGF0YSBlbnRyeSBhbmQgaW1tZWRpYXRlIGZvbGxvdy11cCwgZHJhbWF0aWNhbGx5IGluY3JlYXNpbmcgdGhlIGNoYW5jZSBvZiBjb252ZXJ0aW5nIHRoYXQgbGVhZCBpbnRvIGEgY3VzdG9tZXIuXFxuXFxuIyMjIyAqKlVzZSBDYXNlIDI6IEF1dG9tYXRpbmcgQ2xpZW50IFN1cHBvcnQqKlxcblxcbkZvciBidXNpbmVzc2VzIHRoYXQgdXNlIHRoZWlyIHdlYnNpdGUgZm9yIGN1c3RvbWVyIHN1cHBvcnQsIG44biBjYW4gYXV0b21hdGUgdGhlIGVudGlyZSB0aWNrZXRpbmcgYW5kIHRyaWFnZSBwcm9jZXNzLlxcblxcbiogICAqKlRyaWdnZXI6KiogQSB1c2VyIHN1Ym1pdHMgYSDigJxTdXBwb3J0IFJlcXVlc3TigJ0gZm9ybSBvbiB0aGUgd2Vic2l0ZS5cXG4qICAgKipuOG4gV29ya2Zsb3c6KipcXG4gICAgMS4gICBUaGUgd29ya2Zsb3cgaXMgdHJpZ2dlcmVkIGJ5IHRoZSBmb3JtIHN1Ym1pc3Npb24uXFxuICAgIDIuICAgQSAqKkNvbmRpdGlvbmFsIE5vZGUqKiAoYW4g4oCcSUbigJ0gbm9kZSkgY2hlY2tzIHRoZSDigJxDYXRlZ29yeeKAnSBmaWVsZCBvZiB0aGUgZm9ybS4gSWYgdGhlIGNhdGVnb3J5IGlzIOKAnEJpbGxpbmcs4oCdIHRoZSB3b3JrZmxvdyBwcm9jZWVkcyBkb3duIG9uZSBwYXRoLiBJZiBpdOKAmXMg4oCcVGVjaG5pY2FsIFN1cHBvcnQs4oCdIGl0IGdvZXMgZG93biBhbm90aGVyLlxcbiAgICAzLiAgIEZvciBiaWxsaW5nLCBhICoqRnJlc2hkZXNrIG5vZGUqKiBjcmVhdGVzIGEgbmV3IHRpY2tldCBhbmQgYXNzaWducyBpdCB0byB0aGUgZmluYW5jZSBkZXBhcnRtZW50LlxcbiAgICA0LiAgIEZvciB0ZWNobmljYWwgaXNzdWVzLCBhICoqSmlyYSBub2RlKiogY3JlYXRlcyBhIG5ldyBpc3N1ZSBpbiB0aGUgZGV2ZWxvcG1lbnQgdGVhbeKAmXMgcHJvamVjdC5cXG4gICAgNS4gICBGaW5hbGx5LCBhICoqR21haWwgbm9kZSoqIHNlbmRzIGEgcGVyc29uYWxpemVkIGNvbmZpcm1hdGlvbiBlbWFpbCBiYWNrIHRvIHRoZSB1c2VyLCBsZXR0aW5nIHRoZW0ga25vdyB0aGVpciB0aWNrZXQgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHJvdXRlZCB0byB0aGUgY29ycmVjdCB0ZWFtLlxcblxcbiMjIyAqKkF1dG9tYXRpbmcgWW91ciBXb29Db21tZXJjZSBTdG9yZSoqXFxuXFxuRm9yIFtlQ29tbWVyY2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mZWF0dXJlcy9lY29tbWVyY2UvIFxcXCJlQ29tbWVyY2VcXFwiKSBidXNpbmVzc2VzLCBlZmZpY2llbmN5IGlzIGV2ZXJ5dGhpbmcuIFVzaW5nIGEgdG9vbCBsaWtlW0VsZW1lbnRvcuKAmXMgV29vQ29tbWVyY2UgQnVpbGRlcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzL3dvb2NvbW1lcmNlLWJ1aWxkZXIpIGFsbG93cyB5b3UgdG8gY3JlYXRlIGEgY29tcGxldGVseSBjdXN0b20gYW5kIGJlYXV0aWZ1bCBzaG9wcGluZyBleHBlcmllbmNlLiBuOG4gY2FuIGhhbmRsZSB0aGUgY3J1Y2lhbCBwb3N0LXB1cmNoYXNlIGxvZ2lzdGljcyBhdXRvbWF0aWNhbGx5LCBlbnN1cmluZyBhIHNtb290aCBwcm9jZXNzIGZvciBib3RoIHRoZSBidXNpbmVzcyBhbmQgdGhlIGN1c3RvbWVyLlxcblxcbiMjIyMgKipVc2UgQ2FzZSAzOiBPcmRlciBGdWxmaWxsbWVudCBhbmQgSW52b2ljaW5nKipcXG5cXG5XaGVuIGEgY3VzdG9tZXIgcGxhY2VzIGEgbmV3IG9yZGVyLCBhIGNvbXBsZXggc2VyaWVzIG9mIGV2ZW50cyBuZWVkcyB0byBoYXBwZW4gYmVoaW5kIHRoZSBzY2VuZXMuIG44biBjYW4gbWFuYWdlIHRoaXMgZW50aXJlIGNoYWluLlxcblxcbiogICAqKlRyaWdnZXI6KiogVGhlIFdvb0NvbW1lcmNlIG5vZGUgZGV0ZWN0cyBhIG5ldyBvcmRlci5cXG4qICAgKipuOG4gV29ya2Zsb3c6KipcXG4gICAgMS4gICBUaGUgdHJpZ2dlciBub2RlIGZldGNoZXMgYWxsIHRoZSBvcmRlciBkZXRhaWxzLCBpbmNsdWRpbmcgdGhlIHByb2R1Y3RzIHB1cmNoYXNlZCwgc2hpcHBpbmcgYWRkcmVzcywgYW5kIGN1c3RvbWVyIGluZm9ybWF0aW9uLlxcbiAgICAyLiAgIEEgKipHb29nbGUgU2hlZXRzIG5vZGUqKiBhZGRzIGEgbmV3IHJvdyB0byBhbiDigJxPcmRlcnPigJ0gc3ByZWFkc2hlZXQgZm9yIGhpc3RvcmljYWwgdHJhY2tpbmcgYW5kIGFuYWx5c2lzLlxcbiAgICAzLiAgIEEgKipRdWlja0Jvb2tzIG5vZGUqKiBnZW5lcmF0ZXMgYSBuZXcgaW52b2ljZSBhbmQgbWFya3MgaXQgYXMgcGFpZC5cXG4gICAgNC4gICBBICoqU2hpcFN0YXRpb24gbm9kZSoqIHNlbmRzIHRoZSBzaGlwcGluZyBkZXRhaWxzIHRvIHRoZSBmdWxmaWxsbWVudCBjZW50ZXIgdG8gYmVnaW4gdGhlIHBhY2tpbmcgYW5kIHNoaXBwaW5nIHByb2Nlc3MuXFxuICAgIDUuICAgQW4gKipTTVMgbm9kZSoqIChsaWtlIFR3aWxpbykgc2VuZHMgYSB0ZXh0IG1lc3NhZ2UgdG8gdGhlIGN1c3RvbWVyIGNvbmZpcm1pbmcgdGhlaXIgb3JkZXIgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIGlzIGJlaW5nIHByb2Nlc3NlZC5cXG5cXG4jIyMgKipTdHJlYW1saW5pbmcgQ29udGVudCBNYXJrZXRpbmcgV29ya2Zsb3dzKipcXG5cXG5DcmVhdGluZyBncmVhdCBjb250ZW50IGlzIG9ubHkgaGFsZiB0aGUgYmF0dGxlOyBwcm9tb3RpbmcgaXQgZWZmZWN0aXZlbHkgaXMganVzdCBhcyBpbXBvcnRhbnQuIG44biBjYW4gYnVpbGQgYSBjb250ZW50IHByb21vdGlvbiBlbmdpbmUgdGhhdCBydW5zIGF1dG9tYXRpY2FsbHkgZXZlcnkgdGltZSB5b3UgaGl0IOKAnFB1Ymxpc2gu4oCdXFxuXFxuIyMjIyAqKlVzZSBDYXNlIDQ6IENvbnRlbnQgUHJvbW90aW9uIEVuZ2luZSoqXFxuXFxuKiAgICoqVHJpZ2dlcjoqKiBUaGUgV29yZFByZXNzIG5vZGUgZGV0ZWN0cyBhIG5ldyBwb3N0IGhhcyBiZWVuIHB1Ymxpc2hlZC5cXG4qICAgKipuOG4gV29ya2Zsb3c6KipcXG4gICAgMS4gICBUaGUgd29ya2Zsb3cgZmV0Y2hlcyB0aGUgbmV3IHBvc3TigJlzIHRpdGxlLCBVUkwsIGV4Y2VycHQsIGFuZCBmZWF0dXJlZCBpbWFnZS5cXG4gICAgMi4gICBBICoqVHdpdHRlciBub2RlKiogY29tcG9zZXMgYW5kIHBvc3RzIGEgdHdlZXQgd2l0aCB0aGUgcG9zdCB0aXRsZSBhbmQgYSBsaW5rLlxcbiAgICAzLiAgIEEgKipMaW5rZWRJbiBub2RlKiogc2hhcmVzIHRoZSBhcnRpY2xlIHdpdGggYSBwcm9mZXNzaW9uYWwgYXVkaWVuY2UuXFxuICAgIDQuICAgQW4gKipJbWFnZSBFZGl0b3Igbm9kZSoqIGNhbiBldmVuIGNyZWF0ZSBhIHNpbXBsZSBncmFwaGljIGZvciBvdGhlciBzb2NpYWwgcGxhdGZvcm1zIGJ5IG92ZXJsYXlpbmcgdGhlIHBvc3QgdGl0bGUgb24gdGhlIGZlYXR1cmVkIGltYWdlLlxcbiAgICA1LiAgIEEgKipCdWZmZXIgbm9kZSoqIHNjaGVkdWxlcyBzZXZlcmFsIGZvbGxvdy11cCBwb3N0cyBvdmVyIHRoZSBuZXh0IGZldyB3ZWVrcyB0byBwcm9tb3RlIHRoZSBhcnRpY2xlIGFnYWluLlxcblxcbiMjIyAqKkF1dG9tYXRpbmcgQWdlbmN5IE9wZXJhdGlvbnMgYW5kIENsaWVudCBSZXBvcnRpbmcqKlxcblxcbkZvciBkaWdpdGFsIGFnZW5jaWVzIGFuZCBmcmVlbGFuY2VycywgbjhuIGNhbiBiZSBhIHNlY3JldCB3ZWFwb24gZm9yIGltcHJvdmluZyBlZmZpY2llbmN5IGFuZCBkZWxpdmVyaW5nIGJldHRlciBzZXJ2aWNlIHRvIGNsaWVudHMuXFxuXFxuIyMjIyAqKlVzZSBDYXNlIDU6IEF1dG9tYXRlZCBDbGllbnQgUmVwb3J0cyoqXFxuXFxuTWFudWFsbHkgY29tcGlsaW5nIG1vbnRobHkgcmVwb3J0cyBmb3IgY2xpZW50cyBpcyBhIHRpbWUtY29uc3VtaW5nIGJ1dCBuZWNlc3NhcnkgdGFzay4gV2l0aCBuOG4sIHlvdSBjYW4gYnVpbGQgYSB3b3JrZmxvdyB0aGF0IGRvZXMgaXQgZm9yIHlvdS5cXG5cXG4qICAgKipUcmlnZ2VyOioqIEEgQ3JvbiBub2RlIGlzIHNjaGVkdWxlZCB0byBydW4gb24gdGhlIGZpcnN0IGRheSBvZiBldmVyeSBtb250aC5cXG4qICAgKipuOG4gV29ya2Zsb3c6KipcXG4gICAgMS4gICBUaGUgd29ya2Zsb3cgc3RhcnRzIGF1dG9tYXRpY2FsbHkgb24gc2NoZWR1bGUuXFxuICAgIDIuICAgQSAqKkdvb2dsZSBBbmFseXRpY3Mgbm9kZSoqIHB1bGxzIGtleSB3ZWJzaXRlIG1ldHJpY3MgZm9yIHRoZSBwcmV2aW91cyBtb250aCAoc2Vzc2lvbnMsIHVzZXJzLCBjb252ZXJzaW9uIHJhdGUpLlxcbiAgICAzLiAgIEEgKipHb29nbGUgQWRzIG5vZGUqKiBmZXRjaGVzIGRhdGEgb24gYWQgc3BlbmQsIGNsaWNrcywgYW5kIGNvc3QtcGVyLWNvbnZlcnNpb24uXFxuICAgIDQuICAgQWxsIHRoaXMgZGF0YSBpcyBjb21waWxlZCBhbmQgZm9ybWF0dGVkLlxcbiAgICA1LiAgIEEgKipHb29nbGUgU2hlZXRzIG5vZGUqKiBwb3B1bGF0ZXMgYSBwcmUtbWFkZSByZXBvcnQgW3RlbXBsYXRlXShodHRwczovL2VsZW1lbnRvci5jb20vbGlicmFyeS9hbGwtY2F0ZWdvcmllcy8gXFxcInRlbXBsYXRlXFxcIikgd2l0aCB0aGUgbmV3IG1vbnRo4oCZcyBkYXRhLlxcbiAgICA2LiAgIEFuICoqRW1haWwgbm9kZSoqIHNlbmRzIGEgbWVzc2FnZSB0byB0aGUgY2xpZW50IHdpdGggYSBzdW1tYXJ5IG9mIHRoZSBtb250aOKAmXMgcGVyZm9ybWFuY2UgYW5kIGEgbGluayB0byB0aGVpciB1cGRhdGVkIGRhc2hib2FyZC5cXG5cXG4qKkdldHRpbmcgU3RhcnRlZCB3aXRoIG44bjogQSBQcmFjdGljYWwgR3VpZGUqKlxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuSnVtcGluZyBpbnRvIG44biBpcyBlYXNpZXIgdGhhbiB5b3UgbWlnaHQgdGhpbmsuIFdoZXRoZXIgeW91IG9wdCBmb3IgdGhlIHNpbXBsaWNpdHkgb2YgdGhlIENsb3VkIHZlcnNpb24gb3IgdGhlIGNvbnRyb2wgb2Ygc2VsZi1ob3N0aW5nLCB5b3UgY2FuIGhhdmUgeW91ciBmaXJzdCB3b3JrZmxvdyBydW5uaW5nIGluIHVuZGVyIGFuIGhvdXIuXFxuXFxuIyMjICoqT3B0aW9uIDE6IFNldHRpbmcgdXAgbjhuIENsb3VkKipcXG5cXG5UaGlzIGlzIHRoZSByZWNvbW1lbmRlZCBwYXRoIGZvciBtb3N0IG5ldyB1c2Vycy5cXG5cXG4xLiAgICoqU2lnbiBVcDoqKiBHbyB0byB0aGUgbjhuIHdlYnNpdGUgYW5kIHNpZ24gdXAgZm9yIGEgY2xvdWQgYWNjb3VudC4gVGhleSB0eXBpY2FsbHkgb2ZmZXIgYSBmcmVlIHRyaWFsIHRvIGdldCB5b3Ugc3RhcnRlZC5cXG4yLiAgICoqTG9nIEluOioqIE9uY2UgeW914oCZdmUgY3JlYXRlZCB5b3VyIGFjY291bnQsIHlvdeKAmWxsIGJlIHRha2VuIGRpcmVjdGx5IHRvIHlvdXIgbjhuIGRhc2hib2FyZC5cXG4zLiAgICoqU3RhcnQgQnVpbGRpbmc6KiogVGhhdOKAmXMgaXQuIFlvdeKAmXJlIHJlYWR5IHRvIGNyZWF0ZSB5b3VyIGZpcnN0IHdvcmtmbG93IGJ5IGNsaWNraW5nIHRoZSDigJwr4oCdIGJ1dHRvbiBhbmQgYWRkaW5nIHlvdXIgZmlyc3Qgbm9kZS5cXG5cXG4jIyMgKipPcHRpb24gMjogU2VsZi1Ib3N0aW5nIG44bioqXFxuXFxuVGhpcyBvcHRpb24gaXMgZm9yIHVzZXJzIHdobyB3YW50IGZ1bGwgY29udHJvbCBvdmVyIHRoZWlyIGRhdGEgYW5kIGVudmlyb25tZW50LiBJZiB5b3XigJlyZSBhbHJlYWR5IG1hbmFnaW5nIGEgc2VydmVyIGZvciBzb21ldGhpbmcgbGlrZVtFbGVtZW50b3IgSG9zdGluZ10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2hvc3RpbmcpLCB5b3UgbGlrZWx5IGhhdmUgdGhlIHNraWxscyBuZWVkZWQuXFxuXFxuMS4gICAqKkNob29zZSBZb3VyIEVudmlyb25tZW50OioqIFlvdeKAmWxsIG5lZWQgYSBzZXJ2ZXIuIFRoaXMgY291bGQgYmUgYSB2aXJ0dWFsIHByaXZhdGUgc2VydmVyIChbVlBTXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy92cHMvIFxcXCJWUFNcXFwiKSkgZnJvbSBwcm92aWRlcnMgbGlrZSBEaWdpdGFsT2NlYW4gb3IgVnVsdHIsIG9yIGV2ZW4gYSBtYWNoaW5lIHJ1bm5pbmcgb24geW91ciBvd24gcHJlbWlzZXMuXFxuMi4gICAqKlVzZSBEb2NrZXI6KiogVGhlIGVhc2llc3QgYW5kIG1vc3QgcmVjb21tZW5kZWQgd2F5IHRvIGluc3RhbGwgYW5kIG1hbmFnZSBuOG4gaXMgd2l0aCBEb2NrZXIuIEl0IHBhY2thZ2VzIHRoZSBhcHBsaWNhdGlvbiBhbmQgYWxsIGl0cyBkZXBlbmRlbmNpZXMgaW50byBhIHNpbmdsZSwgZWFzeS10by1ydW4gY29udGFpbmVyLlxcbjMuICAgKipSdW4gdGhlIENvbW1hbmQ6KiogVGhlIG44biBkb2N1bWVudGF0aW9uIHByb3ZpZGVzIGEgc2ltcGxlIERvY2tlciBjb21tYW5kIHRoYXQgeW91IGNhbiBjb3B5IGFuZCBwYXN0ZSBpbnRvIHlvdXIgc2VydmVy4oCZcyB0ZXJtaW5hbCB0byBbZG93bmxvYWRdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS93b3JkcHJlc3MvIFxcXCJkb3dubG9hZFxcXCIpIGFuZCBzdGFydCBuOG4uXFxuNC4gICAqKkFjY2VzcyBZb3VyIEluc3RhbmNlOioqIE9uY2UgaXTigJlzIHJ1bm5pbmcsIHlvdSBjYW4gYWNjZXNzIHlvdXIgcHJpdmF0ZSBuOG4gaW5zdGFuY2UgYnkgbmF2aWdhdGluZyB0byB5b3VyIFtzZXJ2ZXLigJlzIElQIGFkZHJlc3MgaW4gYSB3ZWJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtYS13ZWItc2VydmVyLyBcXFwiV2hhdCBJcyBhIFdlYiBTZXJ2ZXI/IEEgQ29tcGxldGUgMjAyNSBHdWlkZSBvbiBIb3cgVGhleSBXb3JrXFxcIikgYnJvd3Nlci5cXG5cXG4jIyMgKipCdWlsZGluZyBZb3VyIEZpcnN0IFdvcmtmbG93OiBFbGVtZW50b3IgRm9ybSB0byBHb29nbGUgU2hlZXRzICYgU2xhY2sqKlxcblxcbkxldOKAmXMgd2FsayB0aHJvdWdoIGEgdGFuZ2libGUgZXhhbXBsZTogYXV0b21hdGljYWxseSBzYXZpbmcgbmV3IEVsZW1lbnRvciBmb3JtIHN1Ym1pc3Npb25zIHRvIGEgR29vZ2xlIFNoZWV0IGFuZCBzZW5kaW5nIGEgU2xhY2sgbm90aWZpY2F0aW9uLlxcblxcbjEuICAgKipTZXQgdXAgdGhlIFRyaWdnZXIgTm9kZToqKiBJbiB5b3VyIG44biBjYW52YXMsIGFkZCBhIG5ldyBub2RlIGFuZCBzZWFyY2ggZm9yIOKAnFdlYmhvb2su4oCdIFRoaXMgbm9kZSB3aWxsIGdlbmVyYXRlIGEgdW5pcXVlIFVSTC4gVGhpcyBpcyB3aGVyZSBFbGVtZW50b3Igd2lsbCBzZW5kIHRoZSBmb3JtIGRhdGEuIENvcHkgdGhlIOKAnFRlc3QgVVJMLuKAnVxcbjIuICAgKipDb25uZWN0IFlvdXIgRWxlbWVudG9yIEZvcm06KiogSW4geW91ciBXb3JkUHJlc3MgZGFzaGJvYXJkLCBlZGl0IHRoZSBFbGVtZW50b3IgcGFnZSB3aXRoIHlvdXIgZm9ybS4gVW5kZXIgdGhlIGZvcm3igJlzIOKAnEFjdGlvbnMgQWZ0ZXIgU3VibWl04oCdIHNldHRpbmdzLCBhZGQg4oCcV2ViaG9vay7igJ0gUGFzdGUgdGhlIFRlc3QgVVJMIHlvdSBjb3BpZWQgZnJvbSBuOG4gaW50byB0aGUgV2ViaG9vayBVUkwgZmllbGQuIFNhdmUgeW91ciBwYWdlLlxcbjMuICAgKipMaXN0ZW4gZm9yIERhdGE6KiogQmFjayBpbiBuOG4sIGNsaWNrIHRoZSDigJxMaXN0ZW4gZm9yIFRlc3QgRXZlbnTigJ0gYnV0dG9uIG9uIHlvdXIgV2ViaG9vayBub2RlLiBOb3csIGdvIHRvIHlvdXIgbGl2ZSB3ZWJzaXRlIGFuZCBzdWJtaXQgeW91ciBFbGVtZW50b3IgZm9ybSBvbmNlIHdpdGggc29tZSBzYW1wbGUgZGF0YS4gWW91IHNob3VsZCBzZWUgdGhlIGRhdGEgYXBwZWFyIGluIG44biwgY29uZmlybWluZyB0aGUgY29ubmVjdGlvbiBpcyB3b3JraW5nLlxcbjQuICAgKipBZGQgYSBHb29nbGUgU2hlZXRzIE5vZGU6KiogQ2xpY2sgdGhlIOKAnCvigJ0gaWNvbiBvbiB0aGUgV2ViaG9vayBub2RlIGFuZCBzZWFyY2ggZm9yIOKAnEdvb2dsZSBTaGVldHMu4oCdIFNlbGVjdCB0aGUg4oCcQXBwZW5kIG9yIFVwZGF0ZSBSb3figJ0gb3B0aW9uLlxcbjUuICAgKipBdXRoZW50aWNhdGUgd2l0aCBHb29nbGU6KiogSW4gdGhlIEdvb2dsZSBTaGVldHMgbm9kZSBzZXR0aW5ncywgeW914oCZbGwgbmVlZCB0byBjcmVhdGUgYSBuZXcgY3JlZGVudGlhbC4gQ2xpY2sg4oCcQ3JlYXRlIE5ldyzigJ0gc2lnbiBpbiB3aXRoIHlvdXIgR29vZ2xlIGFjY291bnQsIGFuZCBncmFudCBuOG4gcGVybWlzc2lvbi4gVGhpcyBpcyBhIG9uZS10aW1lIHNldHVwLlxcbjYuICAgKipNYXAgdGhlIERhdGE6KiogTm93LCB5b3UgbmVlZCB0byB0ZWxsIG44biB3aGljaCBmb3JtIGZpZWxkIGdvZXMgaW50byB3aGljaCBjb2x1bW4uIFxcbiAgICAqICAgSW4gdGhlIOKAnFNoZWV0IE5hbWXigJ0gZmllbGQsIHNlbGVjdCB5b3VyIHNwcmVhZHNoZWV0LlxcbiAgICAqICAgSW4gdGhlIOKAnENvbHVtbnPigJ0gc2VjdGlvbiwgeW91IHdpbGwgbWFwIHRoZSBkYXRhLiBGb3IgeW91ciDigJxOYW1l4oCdIGNvbHVtbiBpbiBHb29nbGUgU2hlZXRzLCB5b3XigJlsbCBkcmFnIHRoZSBuYW1lIGZpZWxkIGZyb20gdGhlIFdlYmhvb2sgbm9kZeKAmXMgb3V0cHV0LiBEbyB0aGUgc2FtZSBmb3IgZW1haWwsIHBob25lLCBhbmQgYW55IG90aGVyIGZpZWxkcy4gVGhpcyB2aXN1YWwgbWFwcGluZyBwcm9jZXNzIGlzIGNhbGxlZCB1c2luZyDigJxleHByZXNzaW9ucy7igJ1cXG5cXG43LiAgICoqQWRkIGEgU2xhY2sgTm9kZToqKiBDbGljayB0aGUg4oCcK+KAnSBvbiB0aGUgR29vZ2xlIFNoZWV0cyBub2RlIGFuZCBhZGQgYSDigJxTbGFja+KAnSBub2RlLiBBdXRoZW50aWNhdGUgeW91ciBTbGFjayBhY2NvdW50IGp1c3QgYXMgeW91IGRpZCB3aXRoIEdvb2dsZS5cXG44LiAgICoqQ29tcG9zZSB0aGUgTWVzc2FnZToqKiBJbiB0aGUg4oCcVGV4dOKAnSBmaWVsZCBvZiB0aGUgU2xhY2sgbm9kZSwgd3JpdGUgeW91ciBub3RpZmljYXRpb24gbWVzc2FnZS4gWW91IGNhbiBwdWxsIGluIGRhdGEgZnJvbSB0aGUgZm9ybSBkeW5hbWljYWxseS4gRm9yIGV4YW1wbGU6IOKAnPCfmoAgTmV3IExlYWQhIE5hbWU6IHt7JGpzb25b4oCcZm9ybV9maWVsZHPigJ1dW+KAnG5hbWXigJ1dfX0sIEVtYWlsOiB7eyRqc29uW+KAnGZvcm1fZmllbGRz4oCdXVvigJxlbWFpbOKAnV19feKAnS5cXG45LiAgICoqVGVzdCBhbmQgQWN0aXZhdGU6KiogWW91IGNhbiB0ZXN0IGVhY2ggc3RlcCBieSBjbGlja2luZyB0aGUgcGxheSBpY29uLiBPbmNlIHlvdeKAmXJlIGhhcHB5IHdpdGggdGhlIHJlc3VsdCwgc2F2ZSB5b3VyIHdvcmsgYW5kIGNsaWNrIHRoZSB0b2dnbGUgYXQgdGhlIHRvcCBvZiB0aGUgc2NyZWVuIHRvIOKAnEFjdGl2YXRl4oCdIHRoZSB3b3JrZmxvdy4gTm93LCBldmVyeSByZWFsIGZvcm0gc3VibWlzc2lvbiB3aWxsIHJ1biB0aHJvdWdoIHRoaXMgYXV0b21hdGlvbi5cXG5cXG4qKm44biB2cy4gVGhlIENvbXBldGl0aW9uOiBBIE5ldXRyYWwgTG9vayoqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbm44biBvcGVyYXRlcyBpbiBhIGNvbXBldGl0aXZlIHNwYWNlIHdpdGggd2VsbC1lc3RhYmxpc2hlZCBwbGF5ZXJzLiBIZXJl4oCZcyBhIGZhY3R1YWwsIG5ldXRyYWwgY29tcGFyaXNvbiB0byBoZWxwIHlvdSB1bmRlcnN0YW5kIHdoZXJlIGl0IGZpdHMuXFxuXFxuIyMjICoqbjhuIHZzLiBaYXBpZXIqKlxcblxcbiogICAqKlphcGllcjoqKiBaYXBpZXIgaXMgdGhlIG1hcmtldCBsZWFkZXIgaW4gdGhlIG5vLWNvZGUgYXV0b21hdGlvbiBzcGFjZS4gSXRzIGJpZ2dlc3Qgc3RyZW5ndGhzIGFyZSBpdHMgbWFzc2l2ZSBsaWJyYXJ5IG9mIG92ZXIgNSwwMDAgb2ZmaWNpYWwgYXBwIGludGVncmF0aW9ucyBhbmQgaXRzIGV4dHJlbWVseSB1c2VyLWZyaWVuZGx5IGludGVyZmFjZSwgd2hpY2ggaXMgZGVzaWduZWQgZm9yIG5vbi10ZWNobmljYWwgdXNlcnMuIEl0IG9wZXJhdGVzIG9uIGEgdGFzay1iYXNlZCBwcmljaW5nIG1vZGVsLCB3aGVyZSB5b3UgcGF5IGJhc2VkIG9uIGhvdyBtYW55IHRpbWVzIHlvdXIgYXV0b21hdGlvbnMgcnVuLlxcbiogICAqKm44bjoqKiBuOG4gaGFzIGZld2VyIHByZS1idWlsdCBhcHAgaW50ZWdyYXRpb25zLCBidXQgaXRzIHBvd2VyZnVsIEhUVFAgUmVxdWVzdCBub2RlIGFsbG93cyBpdCB0byBjb25uZWN0IHRvIHZpcnR1YWxseSBhbnkgc2VydmljZSB3aXRoIGFuIEFQSS4gSXRzIHZpc3VhbCBlZGl0b3IgYWxsb3dzIGZvciBtb3JlIGNvbXBsZXggbG9naWMsIGluY2x1ZGluZyBicmFuY2hpbmcgcGF0aHMgYW5kIG1lcmdpbmcgZGF0YSwgd2hpY2ggY2FuIGJlIG1vcmUgZGlmZmljdWx0IGluIFphcGllci4gVGhlIHByaW1hcnkgYWR2YW50YWdlIGlzIHRoZSBzZWxmLWhvc3Rpbmcgb3B0aW9uLCB3aGljaCBtYWtlcyBpdCBmYXIgbW9yZSBjb3N0LWVmZmVjdGl2ZSBmb3IgaGlnaC12b2x1bWUgdGFza3MgYW5kIHByb3ZpZGVzIGNvbXBsZXRlIGRhdGEgcHJpdmFjeS4gbjhuIGlzIGdlbmVyYWxseSBiZXR0ZXIgc3VpdGVkIGZvciBkZXZlbG9wZXJzLCBwb3dlciB1c2Vycywgb3IgYnVzaW5lc3NlcyB3aXRoIHNwZWNpZmljIGRhdGEgb3IgY29zdCBjb25zdHJhaW50cy5cXG5cXG4jIyMgKipuOG4gdnMuIE1ha2UgKGZvcm1lcmx5IEludGVncm9tYXQpKipcXG5cXG4qICAgKipNYWtlOioqIE1ha2UgaXMgYWxzbyBrbm93biBmb3IgaXRzIGhpZ2hseSB2aXN1YWwgYW5kIGRldGFpbGVkIGludGVyZmFjZSwgd2hpY2ggbWFueSB1c2VycyBmaW5kIHBvd2VyZnVsIGZvciB2aXN1YWxpemluZyBjb21wbGV4IHNjZW5hcmlvcy4gSXQgb2ZmZXJzIGEgaGlnaCBkZWdyZWUgb2YgY29udHJvbCBvdmVyIGRhdGEgbWFuaXB1bGF0aW9uIGFuZCBpcyB2ZXJ5IGNhcGFibGUuIEl0cyBwcmljaW5nIGlzIGJhc2VkIG9uIHRoZSBudW1iZXIgb2Yg4oCcb3BlcmF0aW9ucyzigJ0gb3Igc3RlcHMsIHlvdXIgd29ya2Zsb3dzIGV4ZWN1dGUuXFxuKiAgICoqbjhuOioqIFRoZSBjb3JlIGRpZmZlcmVudGlhdG9ycyBmb3IgbjhuIHJlbWFpbiBpdHMgc291cmNlLWF2YWlsYWJsZSBuYXR1cmUgYW5kIHNlbGYtaG9zdGluZyBjYXBhYmlsaXRpZXMuIFRoZSBkYXRhIGZsb3cgaW4gbjhuLCBtb3ZpbmcgbGluZWFybHkgZnJvbSBub2RlIHRvIG5vZGUsIGNhbiBmZWVsIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIHNvbWUgdGhhbiBNYWtl4oCZcyBtb3JlIGZyZWUtZm9ybSBjYW52YXMuIEJvdGggYXJlIHBvd2VyZnVsIHRvb2xzLCBidXQgbjhu4oCZcyBtb2RlbCBwcm92aWRlcyBhIHVuaXF1ZSBhZHZhbnRhZ2UgZm9yIHRob3NlIHByaW9yaXRpemluZyBjb250cm9sLCBwcml2YWN5LCBhbmQgY29zdCBhdCBzY2FsZS5cXG5cXG4jIyMgKipXaGVuIHRvIENob29zZSBuOG4qKlxcblxcbllvdSBzaG91bGQgc2VyaW91c2x5IGNvbnNpZGVyIG44biBpZjpcXG5cXG4qICAgKipZb3UgbmVlZCBjb21wbGV4IGxvZ2ljOioqIFlvdXIgd29ya2Zsb3cgcmVxdWlyZXMgbXVsdGlwbGUg4oCcaWYvZWxzZeKAnSBicmFuY2hlcywgbG9vcHMsIG9yIGN1c3RvbSBkYXRhIHRyYW5zZm9ybWF0aW9ucy5cXG4qICAgKipEYXRhIHByaXZhY3kgaXMgYSB0b3AgcHJpb3JpdHk6KiogWW91IG5lZWQgdG8ga2VlcCBhbGwgeW91ciBjdXN0b21lciBhbmQgYnVzaW5lc3MgZGF0YSB3aXRoaW4geW91ciBvd24gc2VjdXJlIGluZnJhc3RydWN0dXJlLlxcbiogICAqKllvdSBoYXZlIGhpZ2gtdm9sdW1lIGF1dG9tYXRpb25zOioqIFlvdXIgd29ya2Zsb3dzIHdpbGwgcnVuIHRob3VzYW5kcyBvciBtaWxsaW9ucyBvZiB0aW1lcyBhIG1vbnRoLCBhbmQgcGVyLXRhc2sgcHJpY2luZyBtb2RlbHMgYXJlIG5vdCBlY29ub21pY2FsLlxcbiogICAqKllvdSB3YW50IHRvIGNvbm5lY3QgdG8gYSBjdXN0b20gb3IgbmljaGUgQVBJOioqIFlvdSBuZWVkIHRoZSBmbGV4aWJpbGl0eSBvZiB0aGUgSFRUUCBSZXF1ZXN0IG5vZGUgdG8gaW50ZWdyYXRlIHdpdGggc2VydmljZXMgdGhhdCBkb27igJl0IGhhdmUgYW4gb2ZmaWNpYWwgaW50ZWdyYXRpb24gb24gb3RoZXIgcGxhdGZvcm1zLlxcblxcbioqVGhlIEZ1dHVyZSBvZiBBdXRvbWF0aW9uIGFuZCBXZWIgQ3JlYXRpb24qKlxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcblRoZSBpbnRlZ3JhdGlvbiBvZiBhdXRvbWF0aW9uIGlzIG5vIGxvbmdlciBhIGx1eHVyeTsgaXTigJlzIGJlY29taW5nIGEgc3RhbmRhcmQgY29tcG9uZW50IG9mIHRoZSBtb2Rlcm4gd2ViIGNyZWF0b3LigJlzIHRvb2xraXQuIEFzIGNsaWVudHMgZXhwZWN0IG1vcmUgdGhhbiBqdXN0IGEgc3RhdGljIGJyb2NodXJlIHdlYnNpdGUsIHByb2Zlc3Npb25hbHMgd2hvIGNhbiBkZWxpdmVyIGZ1bGx5IGludGVncmF0ZWQsIGF1dG9tYXRlZCBidXNpbmVzcyBzb2x1dGlvbnMgd2lsbCBoYXZlIGEgc2lnbmlmaWNhbnQgY29tcGV0aXRpdmUgZWRnZS5cXG5cXG5XZSBhcmUgYWxzbyBzZWVpbmcgdGhlIHJpc2Ugb2YgYXJ0aWZpY2lhbCBpbnRlbGxpZ2VuY2Ugd2l0aGluIHRoZXNlIHBsYXRmb3Jtcy4gVG9vbHMgbGlrZVtFbGVtZW50b3IgQUldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9haSkgYXJlIGFscmVhZHkgaGVscGluZyBjcmVhdG9ycyBnZW5lcmF0ZSBjb250ZW50IGFuZCBjb2RlIG1vcmUgZWZmaWNpZW50bHkgZGlyZWN0bHkgd2l0aGluIHRoZSB3ZWJzaXRlIGJ1aWxkaW5nIGV4cGVyaWVuY2UuIFNpbWlsYXJseSwgYXV0b21hdGlvbiBwbGF0Zm9ybXMgYXJlIGJlZ2lubmluZyB0byBpbmNvcnBvcmF0ZSBBSSB0byBoZWxwIHVzZXJzIGJ1aWxkIHdvcmtmbG93cyBtb3JlIGludGVsbGlnZW50bHkuXFxuXFxuVGhlIGNvbnZlcmdlbmNlIG9mIHBvd2VyZnVsIHdlYnNpdGUgY3JlYXRpb24gcGxhdGZvcm1zIGxpa2VbRWxlbWVudG9yXShodHRwczovL2VsZW1lbnRvci5jb20vKSBhbmQgZmxleGlibGUgYXV0b21hdGlvbiBlbmdpbmVzIGxpa2UgbjhuIGlzIGVtcG93ZXJpbmcgYSBuZXcgZXJhIG9mIHdlYiBjcmVhdGlvbi4gV2UgYXJlIG1vdmluZyBiZXlvbmQgYnVpbGRpbmcgd2Vic2l0ZXMgYW5kIGFyZSBub3cgZW5naW5lZXJpbmcgY29tcHJlaGVuc2l2ZSBkaWdpdGFsIHN5c3RlbXMgdGhhdCBoZWxwIGJ1c2luZXNzZXMgcnVuIHNtYXJ0ZXIsIGZhc3RlciwgYW5kIG1vcmUgZWZmaWNpZW50bHkuXFxuXFxuKipGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyAoRkFRKSoqXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXFxuXFxuKioxLiBJcyBuOG4gZnJlZT8qKiBuOG4gaGFzIGEg4oCcc291cmNlLWF2YWlsYWJsZeKAnSB2ZXJzaW9uIHRoYXQgaXMgZnJlZSB0byB1c2UgaWYgeW91IGhvc3QgaXQgeW91cnNlbGYuIFlvdSBvbmx5IHBheSBmb3IgeW91ciBzZXJ2ZXIgY29zdHMuIFRoZXkgYWxzbyBvZmZlciBhIHBhaWQgQ2xvdWQgdmVyc2lvbiwgd2hpY2ggaW5jbHVkZXMgaG9zdGluZyBhbmQgbWFuYWdlbWVudCwgd2l0aCBwcmljaW5nIGJhc2VkIG9uIHRoZSBudW1iZXIgb2Ygd29ya2Zsb3cgZXhlY3V0aW9ucy5cXG5cXG4qKjIuIFdoYXTigJlzIHRoZSBtYWluIGRpZmZlcmVuY2UgYmV0d2VlbiBuOG4gYW5kIFphcGllcj8qKiBUaGUgYmlnZ2VzdCBkaWZmZXJlbmNlcyBhcmUgaG9zdGluZyBhbmQgY29tcGxleGl0eS4gWmFwaWVyIGlzIGEgZnVsbHkgbWFuYWdlZCBTYWFTIHByb2R1Y3Qgd2l0aCBtb3JlIHByZS1idWlsdCBpbnRlZ3JhdGlvbnMgYW5kIGEgc2ltcGxlciBpbnRlcmZhY2UuIG44biBhbGxvd3MgZm9yIHNlbGYtaG9zdGluZyAoZ2l2aW5nIHlvdSBkYXRhIHByaXZhY3kgYW5kIGxvd2VyIGNvc3RzIGF0IHNjYWxlKSBhbmQgaXMgZGVzaWduZWQgdG8gaGFuZGxlIG1vcmUgY29tcGxleCwgbXVsdGktcGF0aCB3b3JrZmxvd3Mgd2l0aCBjdXN0b20gbG9naWMuXFxuXFxuKiozLiBEbyBJIG5lZWQgdG8ga25vdyBob3cgdG8gY29kZSB0byB1c2UgbjhuPyoqIE5vLCB5b3UgZG8gbm90IG5lZWQgdG8gYmUgYSBwcm9ncmFtbWVyIHRvIHVzZSBuOG4uIFRoZSB2aXN1YWwsIG5vZGUtYmFzZWQgZWRpdG9yIGlzIGRlc2lnbmVkIGZvciB1c2VycyBvZiBhbGwgc2tpbGwgbGV2ZWxzLiBIb3dldmVyLCBzb21lIGZhbWlsaWFyaXR5IHdpdGggY29uY2VwdHMgbGlrZSBBUElzIGFuZCBKU09OIGRhdGEgc3RydWN0dXJlcyBjYW4gYmUgdmVyeSBoZWxwZnVsIGZvciBidWlsZGluZyBtb3JlIGFkdmFuY2VkIHdvcmtmbG93cywgYW5kIHlvdSBjYW4gdXNlIEphdmFTY3JpcHQgaW4gdGhlIEZ1bmN0aW9uIG5vZGUgZm9yIGN1c3RvbSBjb2RlIGlmIHlvdSB3aXNoLlxcblxcbioqNC4gSG93IG1hbnkgYXBwcyBjYW4gSSBjb25uZWN0IHdpdGggbjhuPyoqIG44biBoYXMgaHVuZHJlZHMgb2YgcHJlLWJ1aWx0IG5vZGVzIGZvciBwb3B1bGFyIGFwcGxpY2F0aW9ucy4gQ3J1Y2lhbGx5LCBpdCBhbHNvIGhhcyBhIGdlbmVyaWMgSFRUUCBSZXF1ZXN0IG5vZGUsIHdoaWNoIGFsbG93cyB5b3UgdG8gY29ubmVjdCB0byB0aG91c2FuZHMgb2Ygb3RoZXIgYXBwbGljYXRpb25zIHRoYXQgaGF2ZSBhIFJFU1QgQVBJLCBtYWtpbmcgaXRzIGludGVncmF0aW9uIHBvdGVudGlhbCBuZWFybHkgbGltaXRsZXNzLlxcblxcbioqNS4gV2hhdCBpcyBhIOKAnHdlYmhvb2vigJ0gYW5kIGhvdyBkbyBJIHVzZSBpdCB3aXRoIG44bj8qKiBBIHdlYmhvb2sgaXMgYSBzcGVjaWFsIFVSTCB0aGF0IGFuIGFwcGxpY2F0aW9uIGNhbiBzZW5kIGRhdGEgdG8gd2hlbmV2ZXIgYW4gZXZlbnQgaGFwcGVucy4gSW4gbjhuLCB0aGUgV2ViaG9vayBub2RlIGdpdmVzIHlvdSBhIFVSTC4gWW91IGNhbiBwYXN0ZSB0aGlzIFVSTCBpbnRvIGFub3RoZXIgYXBwbGljYXRpb24gKGxpa2UgYW4gRWxlbWVudG9yIGZvcm3igJlzIHNldHRpbmdzKS4gV2hlbiB0aGUgZXZlbnQgb2NjdXJzIChhIGZvcm0gaXMgc3VibWl0dGVkKSwgdGhlIGFwcGxpY2F0aW9uIHNlbmRzIHRoZSBkYXRhIHRvIHlvdXIgbjhuIFVSTCwgdHJpZ2dlcmluZyB5b3VyIHdvcmtmbG93LlxcblxcbioqNi4gQ2FuIEkgaG9zdCBuOG4gb24gbXkgb3duIHNlcnZlcj8qKiBZZXMuIFRoaXMgaXMgb25lIG9mIG44buKAmXMga2V5IGZlYXR1cmVzLiBZb3UgY2FuIGluc3RhbGwgYW5kIHJ1biB0aGUgZW50aXJlIG44biBwbGF0Zm9ybSBvbiB5b3VyIG93biBpbmZyYXN0cnVjdHVyZSB1c2luZyBEb2NrZXIgb3IgbnBtLCBnaXZpbmcgeW91IGZ1bGwgY29udHJvbCBvdmVyIHlvdXIgZGF0YSBhbmQgY29zdHMuXFxuXFxuKio3LiBJcyBuOG4gc2VjdXJlPyoqIFllcy4gV2hlbiB1c2luZyBuOG4gQ2xvdWQsIHRoZXkgbWFuYWdlIHNlY3VyaXR5IGZvciB5b3UuIFdoZW4gc2VsZi1ob3N0aW5nLCB5b3UgYXJlIHJlc3BvbnNpYmxlIGZvciBzZWN1cmluZyB5b3VyIHNlcnZlciwgYnV0IG44biBpdHNlbGYgaGFuZGxlcyBjcmVkZW50aWFscyBzZWN1cmVseSBieSBlbmNyeXB0aW5nIHRoZW0gaW4geW91ciBkYXRhYmFzZS5cXG5cXG4qKjguIFdoYXQgYXJlIHNvbWUgb2YgdGhlIG1vc3QgcG9wdWxhciBuOG4gaW50ZWdyYXRpb25zPyoqIFNvbWUgb2YgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBub2RlcyBpbmNsdWRlIEdvb2dsZSBTaGVldHMsIFNsYWNrLCBEaXNjb3JkLCBPcGVuQUksIEh1YlNwb3QsIFNhbGVzZm9yY2UsIFdvcmRQcmVzcywgV29vQ29tbWVyY2UsIGFuZCBkYXRhYmFzZSBub2RlcyBsaWtlIFBvc3RncmVTUUwgYW5kIE15U1FMLlxcblxcbioqOS4gSG93IGRvZXMgbjhu4oCZcyBwcmljaW5nIHdvcms/KiogSWYgeW91IHNlbGYtaG9zdCwgaXTigJlzIGZyZWUsIGFuZCB5b3UganVzdCBwYXkgZm9yIHlvdXIgc2VydmVyLiBUaGUgbjhuIENsb3VkIHByaWNpbmcgaXMgYmFzZWQgb24gYSB0aWVyZWQgc3Vic2NyaXB0aW9uIG1vZGVsIHRoYXQgZ2l2ZXMgeW91IGEgY2VydGFpbiBudW1iZXIgb2Ygd29ya2Zsb3cgZXhlY3V0aW9ucyBwZXIgbW9udGguIFRoaXMgaXMgb2Z0ZW4gbW9yZSBnZW5lcm91cyB0aGFuIHRoZSDigJxwZXItdGFza+KAnSBwcmljaW5nIG9mIHNvbWUgY29tcGV0aXRvcnMuXFxuXFxuKioxMC4gQ2FuIG44biBoYW5kbGUgY29tcGxleCwgbXVsdGktc3RlcCB3b3JrZmxvd3M/KiogQWJzb2x1dGVseS4gVGhpcyBpcyBvbmUgb2YgaXRzIGNvcmUgc3RyZW5ndGhzLiBuOG7igJlzIHZpc3VhbCBlZGl0b3IgbWFrZXMgaXQgZWFzeSB0byBidWlsZCB3b3JrZmxvd3Mgd2l0aCBtdWx0aXBsZSBicmFuY2hlcyB1c2luZyDigJxJRuKAnSBub2RlcywgbWVyZ2UgZGF0YSBmcm9tIGRpZmZlcmVudCBzb3VyY2VzLCBhbmQgY3JlYXRlIGN1c3RvbSBsb2dpYyB0aGF0IGNhbiBoYW5kbGUgdmVyeSBzb3BoaXN0aWNhdGVkIGF1dG9tYXRpb24gc2NlbmFyaW9zLlxcblxcblNoYXJlXFxuXFxuIyMjIyMgTG9va2luZyBmb3IgZnJlc2ggY29udGVudD9cXG5cXG4gR2V0IGFydGljbGVzIGFuZCBpbnNpZ2h0cyBmcm9tIG91ciB3ZWVrbHkgbmV3c2xldHRlci4gXFxuXFxuIEVtYWlsICBcXG5cXG5TdWJzY3JpYmVcXG5cXG5CeSBlbnRlcmluZyB5b3VyIGVtYWlsLCB5b3UgYWdyZWUgdG8gcmVjZWl2ZSBFbGVtZW50b3IgZW1haWxzLCBpbmNsdWRpbmcgbWFya2V0aW5nIGVtYWlscyxcXG5cXG5hbmQgYWdyZWUgdG8gb3VyIFtUZXJtcyAmIENvbmRpdGlvbnNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3Rlcm1zLyBcXFwiaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvdGVybXMvXFxcIikgYW5kIFtQcml2YWN5IFBvbGljeV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvYWJvdXQvcHJpdmFjeS8gXFxcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2Fib3V0L3ByaXZhY3kvXFxcIikuXFxuXFxuWyFbSW1hZ2UgMzY6IFBpY3R1cmUgb2YgSXRhbWFyIEhhaW1dKGh0dHBzOi8vc2VjdXJlLmdyYXZhdGFyLmNvbS9hdmF0YXIvODMwMTc0MDY4NTM4NjMzYzgzZmQ3MzJjNTgzZWExZmU5ZDRjODEzMzE0MDc1NjQwYmY3OGQ1YTYyMTk4Mjg0OD9zPTMwMCZkPW1tJnI9ZyldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2F1dGhvci9pdGFtYXJoYS8pXFxuXFxuW0l0YW1hciBIYWltXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9hdXRob3IvaXRhbWFyaGEvKVxcblxcbiBJdGFtYXIgSGFpbSwgU0VPIFRlYW0gTGVhZCBhdCBFbGVtZW50b3IsIGlzIGEgZGlnaXRhbCBzdHJhdGVnaXN0IG1lcmdpbmcgU0VPICYgQUVPIC8gR0VPLCBhbmQgd2ViIGRldmVsb3BtZW50LiBIZSBsZXZlcmFnZXMgZGVlcCBXb3JkUHJlc3MgZXhwZXJ0aXNlIHRvIGRyaXZlIGdsb2JhbCBvcmdhbmljIGdyb3d0aCwgZW1wb3dlcmluZyBidXNpbmVzc2VzIHRvIG5hdmlnYXRlIHRoZSBBSSBlcmEgYW5kIGVuc3VyaW5nIHRvcC10aWVyIHNlYXJjaCBwZXJmb3JtYW5jZSBmb3IgbWlsbGlvbnMgb2Ygd2Vic2l0ZXMuIFxcblxcbiMjIyMjIFlvdSBtaWdodCBhbHNvIGxpa2VcXG5cXG5bIVtJbWFnZSAzN10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Nkbi1jZ2kvaW1hZ2UvZj1hdXRvLHc9MTIwMSxoPTYzMS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI1LzEyL2ltZ2lfMzBfUmVkZXNpZ24tWW91ci1XZWJzaXRlXzYuanBlZyldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2hvdy10by11c2UtYW4tYWktd2Vic2l0ZS1idWlsZGVyLylcXG5cXG5bSG93IHRvIFVzZSBhbiBBSSBXZWJzaXRlIEJ1aWxkZXI6IFRoZSBDb21wbGV0ZSBFeHBlcnQgR3VpZGUgKDIwMjUpXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9ob3ctdG8tdXNlLWFuLWFpLXdlYnNpdGUtYnVpbGRlci8pXFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbiBUaGUgbGFuZHNjYXBlIG9mIHdlYiBjcmVhdGlvbiBoYXMgc2hpZnRlZCBmdW5kYW1lbnRhbGx5LiBXZSBoYXZlIG1vdmVkIHBhc3QgdGhlIGVyYSB3aGVyZSBidWlsZGluZyBhIHByb2Zlc3Npb25hbCB3ZWJzaXRlIHJlcXVpcmVkIGVpdGhlciBhbiBleHBlbnNpdmUuLi4gXFxuXFxuKiAgICBJdGFtYXIgSGFpbSBcXG4qICAgQ3JlYXRlZDogRGVjIDE5LCAyMDI1XFxuKiAgIDAgQ29tbWVudHNcXG5cXG5bIVtJbWFnZSAzOF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Nkbi1jZ2kvaW1hZ2UvZj1hdXRvLHc9MjU2MCxoPTEzNDAvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMi9pbWdpXzNfaW1naV8zXzA1LjA4LjIxX1RoZS1Db21wbGV0ZS1HdWlkZS10by1CZWNvbWluZy1hLVdlYi1EZXNpZ25lcl8yXzEyMDBfNjI4XzItc2NhbGVkLTEuanBlZyldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtYS13ZWJzaXRlLWJ1aWxkZXItYW5kLWhvdy1kby10aGV5LXdvcmsvKVxcblxcbltXaGF0IElzIGEgV2Vic2l0ZSBCdWlsZGVyPyBBbmQgSG93IERvIFRoZXkgV29yaz8gKFRoZSAyMDI1IEV4cGVydCBHdWlkZSldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtYS13ZWJzaXRlLWJ1aWxkZXItYW5kLWhvdy1kby10aGV5LXdvcmsvKVxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbiBUaGUgZGlnaXRhbCBsYW5kc2NhcGUgaGFzIHNoaWZ0ZWQgZnVuZGFtZW50YWxseS4gV2UgaGF2ZSBtb3ZlZCBwYXN0IHRoZSBlcmEgd2hlcmUgYnVpbGRpbmcgYSBwcm9mZXNzaW9uYWwgZGlnaXRhbCBwcmVzZW5jZSByZXF1aXJlZCBhIGNvbXB1dGVyIHNjaWVuY2UgZGVncmVlLi4uIFxcblxcbiogICAgSXRhbWFyIEhhaW0gXFxuKiAgIENyZWF0ZWQ6IERlYyAxOSwgMjAyNVxcbiogICAwIENvbW1lbnRzXFxuXFxuIyMjIyMgQ29tbWVudHNcXG5cXG5TdGFydCBhIE5ldyBXZWJzaXRlXFxuLS0tLS0tLS0tLS0tLS0tLS0tLVxcblxcbltHZXQgU3RhcnRlZF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaWNpbmcvKVxcblxcbltlY29tbWVyY2UgaG9zdGluZyBCdWlsZCBHcmVhdCBTdG9yZXMsIEdyb3cgWW91ciBTYWxlcyAqIEluY3JlZGlibHkgRmFzdCBTdG9yZSAqIFNhbGVzIE9wdGltaXphdGlvbiAqIEVudGVycHJpc2UtR3JhZGUgU2VjdXJpdHkgKiAyNC83IEV4cGVydCBTZXJ2aWNlIEZyb20gJDE0Ljk5ICFbSW1hZ2UgMzldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9jZG4tY2dpL2ltYWdlL2Y9YXV0byx3PTY1MixoPTQ4MC9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzA3L0ZyYW1lLTEwODg2NDc0LnBuZyldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLWVjb21tZXJjZS1ob3N0aW5nLylbZWNvbW1lcmNlIGhvc3RpbmcgQnVpbGQgR3JlYXQgU3RvcmVzLCBHcm93IFlvdXIgU2FsZXMgKiBJbmNyZWRpYmx5IEZhc3QgU3RvcmUgKiBTYWxlcyBPcHRpbWl6YXRpb24gKiBFbnRlcnByaXNlLUdyYWRlIFNlY3VyaXR5ICogMjQvNyBFeHBlcnQgU2VydmljZSBGcm9tICQxNC45OV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaWNpbmctZWNvbW1lcmNlLWhvc3RpbmcvKVxcblxcbltJbWFnZSBvcHRpbWl6ZXIgU3BlZWQgVXAgWW91ciBXZWJzaXRlICogVW5saW1pdGVkIFdlYnNpdGVzICogVW5saW1pdGVkIFVwbG9hZCBTaXplICogQnVsayBPcHRpbWl6YXRpb24gKiBXZWJQIENvbnZlcnNpb24gU3RhcnQgRnJlZSBUcmlhbCAhW0ltYWdlIDQwXShodHRwczovL2VsZW1lbnRvci5jb20vY2RuLWNnaS9pbWFnZS9mPWF1dG8sdz03MzYsaD00NzgvYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNC8wNy9Hcm91cC0xMDg4MjYzOC5wbmcpXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvaW1hZ2Utb3B0aW1pemVyLylbSW1hZ2Ugb3B0aW1pemVyIFNwZWVkIFVwIFlvdXIgV2Vic2l0ZSAqIFVubGltaXRlZCBXZWJzaXRlcyAqIFVubGltaXRlZCBVcGxvYWQgU2l6ZSAqIEJ1bGsgT3B0aW1pemF0aW9uICogV2ViUCBDb252ZXJzaW9uIFN0YXJ0IGEgRnJlZSBUcmlhbF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL2ltYWdlLW9wdGltaXplci8pXFxuXFxuW0VsZW1lbnRvciBBSSBEaXNjb3ZlciB5b3VyIE5ldyBTdXBlcnBvd2VycyAqIFByb21wdCB5b3VyIENvZGUgJiBBZGQgQ3VzdG9tIENvZGUsIEhUTUwsIG9yIENTUyB3aXRoIGVhc2UgKiBHZW5lcmF0ZSBvciBlZGl0IHdpdGggQUkgZm9yIFRhaWxvcmVkIEltYWdlcyAqIFVzZSBDb3BpbG90IGZvciBwcmVkaWN0aXZlIHN0eWxpemVkIGNvbnRhaW5lciBsYXlvdXRzIFN0YXJ0IEZyZWUgVHJpYWwgTm8gQ3JlZGl0IENhcmQgUmVxdWlyZWQuICFbSW1hZ2UgNDFdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9jZG4tY2dpL2ltYWdlL2Y9YXV0byx3PTYxOCxoPTQ4MC9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI0LzA3L0dyb3VwLTEwODgyNTI1LnBuZyldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLWFpLylbRWxlbWVudG9yIEFJIERpc2NvdmVyIHlvdXIgTmV3IFN1cGVycG93ZXJzICogUHJvbXB0IHlvdXIgQ29kZSAmIEFkZCBDdXN0b20gQ29kZSwgSFRNTCwgb3IgQ1NTIHdpdGggZWFzZSAqIEdlbmVyYXRlIG9yIGVkaXQgd2l0aCBBSSBmb3IgVGFpbG9yZWQgSW1hZ2VzICogVXNlIENvcGlsb3QgZm9yIHByZWRpY3RpdmUgc3R5bGl6ZWQgY29udGFpbmVyIGxheW91dHMgKiBDcmFmdCBvciBUcmFuc2xhdGUgQ29udGVudCBhdCBMaWdodG5pbmcgU3BlZWQgU3RhcnQgRnJlZSBUcmlhbCBObyBDcmVkaXQgQ2FyZCBSZXF1aXJlZC5dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLWFpLylcXG5cXG5bV29yZHByZXNzIEhvc3RpbmcgVGhlIEZhc3Rlc3QgVHJhY2sgdG8gYSBUb3AtUGVyZm9ybWluZyBXZWJzaXRlICogU3VwZXItRmFzdCBXZWJzaXRlcyAqIEVudGVycHJpc2UtR3JhZGUgU2VjdXJpdHkgKiBBbnkgU2l0ZSwgRXZlcnkgQnVzaW5lc3MgKiAyNC83IEV4cGVydCBTZXJ2aWNlIEZyb20gJDguOTkgIVtJbWFnZSA0Ml0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Nkbi1jZ2kvaW1hZ2UvZj1hdXRvLHc9Njk2LGg9NDMyL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDcvR3JvdXAtMTA4ODI2MzcucG5nKV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaWNpbmcvKVtXb3JkcHJlc3MgSG9zdGluZyBUaGUgRmFzdGVzdCBUcmFjayB0byBhIFRvcC1QZXJmb3JtaW5nIFdlYnNpdGUgKiBTdXBlci1GYXN0IFdlYnNpdGVzICogRW50ZXJwcmlzZS1HcmFkZSBTZWN1cml0eSAqIEFueSBTaXRlLCBFdmVyeSBCdXNpbmVzcyAqIDI0LzcgRXhwZXJ0IFNlcnZpY2UgRnJvbSAkOC45OV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaWNpbmcvKVxcblxcbltQcm8gV2Vic2l0ZSBidWlsZGVyIEJ1aWxkIEFueSBUeXBlIG9mIFdlYnNpdGUgKiBEcmFnICYgRHJvcCBXZWJzaXRlIEJ1aWxkZXIsIE5vIENvZGUgUmVxdWlyZWQgKiBPdmVyIDEwMCBXaWRnZXRzLCBmb3IgRXZlcnkgUHVycG9zZSAqIFByb2Zlc3Npb25hbCBEZXNpZ24gRmVhdHVyZXMgZm9yIFBpeGVsIFBlcmZlY3QgRGVzaWduIEZyb20gJDQuOTkgIVtJbWFnZSA0M10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Nkbi1jZ2kvaW1hZ2UvZj1hdXRvLHc9NzQ4LGg9NDgwL2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMDcvY3RhLWJhbm5lci1wbHVnaW4ucG5nKV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaWNpbmctcGx1Z2luLylbUHJvIFdlYnNpdGUgYnVpbGRlciBCdWlsZCBBbnkgVHlwZSBvZiBXZWJzaXRlICogRHJhZyAmIERyb3AgV2Vic2l0ZSBCdWlsZGVyLCBObyBDb2RlIFJlcXVpcmVkICogT3ZlciAxMDAgV2lkZ2V0cywgZm9yIEV2ZXJ5IFB1cnBvc2UgKiBQcm9mZXNzaW9uYWwgRGVzaWduIEZlYXR1cmVzIGZvciBQaXhlbCBQZXJmZWN0IERlc2lnbiAqIE1hcmtldGluZyAmIGVDb21tZXJjZSBGZWF0dXJlcyB0byBJbmNyZWFzZSBDb252ZXJzaW9uIEZyb20gJDQuOTldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLXBsdWdpbi8pXFxuXFxuW3NpdGUgbWFpbGVyIEltcHJvdmUgWW91ciBFbWFpbCBEZWxpdmVyYWJpbGl0eSAqIEVuc3VyZSBSZWxpYWJsZSBFbWFpbCBEZWxpdmVyeSBmb3IgWW91ciBXZWJzaXRlICogU2ltcGxlIFNldHVwLCBObyBTTVRQIENvbmZpZ3VyYXRpb24gTmVlZGVkICogQ2VudHJhbGl6ZWQgRW1haWwgSW5zaWdodHMgZm9yIEJldHRlciBUcmFja2luZyBUcnkgSXQgRm9yIEZyZWUgIVtJbWFnZSA0NF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Nkbi1jZ2kvaW1hZ2UvZj1hdXRvLHc9NjgwLGg9NDQ2L2Jsb2cvd3AtY29udGVudC91cGxvYWRzLzIwMjQvMTAvR3JvdXAtMTAwMDAwNDcxNi5wbmcpXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvc2l0ZS1tYWlsZXIvKVtzaXRlIG1haWxlciBJbXByb3ZlIFlvdXIgRW1haWwgRGVsaXZlcmFiaWxpdHkgKiBFbnN1cmUgUmVsaWFibGUgRW1haWwgRGVsaXZlcnkgZm9yIFlvdXIgV2Vic2l0ZSAqIFNpbXBsZSBTZXR1cCwgTm8gU01UUCBDb25maWd1cmF0aW9uIE5lZWRlZCAqIENlbnRyYWxpemVkIEVtYWlsIEluc2lnaHRzIGZvciBCZXR0ZXIgVHJhY2tpbmcgVHJ5IEl0IEZvciBGcmVlXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvc2l0ZS1tYWlsZXIvKVxcblxcbltdKGh0dHBzOi8vd29yZHByZXNzLm9yZy9wbHVnaW5zL2VsZW1lbnRvci8pW10oaHR0cHM6Ly9naXRodWIuY29tL2VsZW1lbnRvci9lbGVtZW50b3IpW10oaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9lbGVtZW50b3IvKVtdKGh0dHBzOi8vZWxlbW4udG8vZGlzY29yZClbXShodHRwczovL3d3dy5mYWNlYm9vay5jb20vZWxlbW50b3IvKVtdKGh0dHBzOi8veC5jb20vZWxlbW50b3IpW10oaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3Q5a0dfRURYOHp3R1NDMS15Y0pKVkE/c3ViX2NvbmZpcm1hdGlvbj0xKVtdKGh0dHBzOi8vd3d3LnRpa3Rvay5jb20vQGVsZW1lbnRvcilbXShodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9lbGVtZW50b3IvKVxcblxcbkVsZW1lbnRvciBpcyB0aGUgbGVhZGluZyB3ZWJzaXRlIGJ1aWxkZXIgcGxhdGZvcm0gZm9yIHByb2Zlc3Npb25hbHMgYW5kIGJ1c2luZXNzIG93bmVycyBvbiBXb3JkUHJlc3MuIFdoZXRoZXIgeW914oCZcmUgYSBkZXZlbG9wZXIsIGRlc2lnbmVyLCBtYXJrZXRlciwgb3IgYnVzaW5lc3Mgb3duZXIsIEVsZW1lbnRvciBlbXBvd2VycyB5b3UgdG8gY3JlYXRlIHN0dW5uaW5nLCBoaWdoLXBlcmZvcm1pbmcgd2Vic2l0ZXMuIFdpdGggYSBuZXcgd2Vic2l0ZSBjcmVhdGVkIGV2ZXJ5IDEwIHNlY29uZHMsIEVsZW1lbnRvciBlbXBvd2VycyB5b3UgdG8gYnVpbGQgYW5kIG1hbmFnZSB5b3VyIG9ubGluZSBwcmVzZW5jZSBlZmZlY3RpdmVseS5cXG5cXG7CqSBFbGVtZW50b3IuIEFsbCByaWdodHMgcmVzZXJ2ZWRcXG5cXG4qKlN1YnNjcmliZSB0byBvdXIgbmV3c2xldHRlcioqXFxuXFxuQnkgZW50ZXJpbmcgeW91ciBlbWFpbCwgeW91IGFncmVlIHRvIG91clxcblxcbltUZXJtcyAmIENvbmRpdGlvbnNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS90ZXJtcy8pIGFuZCBbUHJpdmFjeSBQb2xpY3ldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9hYm91dC9wcml2YWN5LykuXFxuXFxuV2ViIENyZWF0aW9uXFxuXFxuKiAgIFtIb3N0aW5nIGZvciBXb3JkUHJlc3NdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ob3N0aW5nLylcXG4qICAgW0hvc3RpbmcgZm9yIFdvb0NvbW1lcmNlXShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvZWNvbW1lcmNlLWhvc3RpbmcvKVxcbiogICBbUGFnZSBCdWlsZGVyIFBsdWdpbl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Byb2R1Y3RzL3BhZ2UtYnVpbGRlci1wbHVnaW4vKVxcbiogICBbSGVsbG8gVGhlbWVdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS90aGVtZXMvaGVsbG8tdGhlbWUvKVxcbiogICBbRHluYW1pYyBDb250ZW50XShodHRwczovL2VsZW1lbnRvci5jb20vZmVhdHVyZXMvZHluYW1pYy1jb250ZW50LylcXG4qICAgW2VDb21tZXJjZV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzL2Vjb21tZXJjZS8pXFxuKiAgIFtUaGVtZSBCdWlsZGVyXShodHRwczovL2VsZW1lbnRvci5jb20vZmVhdHVyZXMvdGhlbWUtYnVpbGRlci8pXFxuKiAgIFtMYW5kaW5nIFBhZ2UgQnVpbGRlcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzL2xhbmRpbmctcGFnZS1idWlsZGVyLylcXG4qICAgW1BvcHVwIEJ1aWxkZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mZWF0dXJlcy9wb3B1cC1idWlsZGVyLylcXG4qICAgW0Zvcm0gQnVpbGRlcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzL2Zvcm0tYnVpbGRlci8pXFxuKiAgIFtDb250YWN0IEJ1dHRvbnNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mZWF0dXJlcy9jb250YWN0LWJ1dHRvbi8pXFxuKiAgIFtXb3JrZmxvdyBPcHRpbWl6YXRpb25dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mZWF0dXJlcy93b3JrZmxvdy8pXFxuKiAgIFtBbmdpZSAtIEFnZW50aWMgQUldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9hbmdpZS1haS1mb3Itd29yZHByZXNzLylcXG4qICAgW0FJIFNpdGUgUGxhbm5lcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2FpLXNpdGUtcGxhbm5lci8pXFxuKiAgIFtBbGx5IFdlYiBBY2Nlc3NpYmlsaXR5XShodHRwczovL2VsZW1lbnRvci5jb20vcHJvZHVjdHMvYWxseS13ZWItYWNjZXNzaWJpbGl0eS8pXFxuKiAgIFtJbWFnZSBPcHRpbWl6ZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9pbWFnZS1vcHRpbWl6ZXIvKVxcbiogICBbU2l0ZSBNYWlsZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcm9kdWN0cy9zaXRlLW1haWxlci8pXFxuKiAgIFtXb29Db21tZXJjZSBCdWlsZGVyXShodHRwczovL2VsZW1lbnRvci5jb20vZmVhdHVyZXMvd29vY29tbWVyY2UtYnVpbGRlci8pXFxuKiAgIFtMaW5rIGluIEJpb10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2ZlYXR1cmVzL2xpbmstaW4tYmlvLylcXG4qICAgW1NlbmQgYnkgRWxlbWVudG9yXShodHRwczovL3NlbmQyLmNvLylcXG5cXG5FbGVtZW50b3IgRm9yXFxuXFxuKiAgIFtlQ29tbWVyY2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9zb2x1dGlvbnMvZWNvbW1lcmNlLylcXG4qICAgW0FnZW5jaWVzXShodHRwczovL2VsZW1lbnRvci5jb20vc29sdXRpb25zL2FnZW5jeS8pXFxuKiAgIFtFbnRlcnByaXNlXShodHRwczovL2VsZW1lbnRvci5jb20vc29sdXRpb25zL2VudGVycHJpc2UvKVxcbiogICBbV2ViIERlc2lnbmVyc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Zvci9kZXNpZ25lci8pXFxuKiAgIFtNYXJrZXRlcnNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mb3IvbWFya2V0ZXIvKVxcblxcblJlc291cmNlc1xcblxcbiogICBbSGVscCBDZW50ZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9oZWxwLylcXG4qICAgW0FjYWRlbXldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9hY2FkZW15LylcXG4qICAgW0Jsb2ddKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nLylcXG4qICAgW0FkZC1PbnNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9hZGRvbnMvKVxcbiogICBbUm9hZG1hcF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3JvYWRtYXAvKVxcbiogICBbRGV2ZWxvcGVycyBXZWJzaXRlXShodHRwczovL2RldmVsb3BlcnMuZWxlbWVudG9yLmNvbS8pXFxuKiAgIFtTdXBwb3J0XShodHRwczovL2VsZW1lbnRvci5jb20vY2FyZS8pXFxuKiAgIFtXZWIgQ3JlYXRvcnMgR2xvc3NhcnldKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9yZXNvdXJjZXMvZ2xvc3NhcnkvKVxcbiogICBbSW50ZWdyYXRpb25zXShodHRwczovL2VsZW1lbnRvci5jb20vZmVhdHVyZXMvaW50ZWdyYXRpb25zLylcXG4qICAgW1dlYiBDcmVhdG9yIFN0b3JpZXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS93ZWItY3JlYXRvcnMvKVxcbiogICBbTWVldHVwc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2NvbW11bml0eS9tZWV0dXBzLylcXG4qICAgW0FJIFByb21wdCBMaWJyYXJ5XShodHRwczovL3Byb21wdHMuZWxlbWVudG9yLmNvbS8pXFxuKiAgIFtBbmdpZSBQcm9tcHQgTGlicmFyeV0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2FuZ2llLXByb21wdC1saWJyYXJ5LylcXG4qICAgW0ZyZWUgRWxlbWVudG9yIERvd25sb2FkXShodHRwczovL2VsZW1lbnRvci5jb20vZnJlZS1kb3dubG9hZC8pXFxuKiAgIFtXb3JkUHJlc3MgRG93bmxvYWRdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS93b3JkcHJlc3MvKVxcbiogICBbR0lGIENvbXByZXNzb3JdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS90b29scy9naWYtY29tcHJlc3Nvci8pXFxuKiAgIFtQTkcgQ29tcHJlc3Nvcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Rvb2xzL3BuZy1jb21wcmVzc29yLylcXG4qICAgW0pQRyBDb21wcmVzc29yXShodHRwczovL2VsZW1lbnRvci5jb20vdG9vbHMvanBnLWNvbXByZXNzb3IvKVxcbiogICBbV2ViUCBDb252ZXJ0ZXJdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS90b29scy93ZWJwLWNvbnZlcnRlci8pXFxuKiAgIFtEb21haW4gTmFtZSBTZWFyY2hdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mcmVlLWRvbWFpbi1uYW1lLylcXG4qICAgW0J1c2luZXNzIE5hbWUgR2VuZXJhdG9yXShodHRwczovL2VsZW1lbnRvci5jb20vdG9vbHMvYnVzaW5lc3MtbmFtZS1nZW5lcmF0b3IvKVxcbiogICBbUmVzb3VyY2VzXShodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy9jYXRlZ29yeS9yZXNvdXJjZXMvKVxcblxcbkNvbXBhbnlcXG5cXG4qICAgW0Fib3V0IFVzXShodHRwczovL2VsZW1lbnRvci5jb20vYWJvdXQvKVxcbiogICBbQ29udGFjdCBVc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL2NvbnRhY3QvKVxcbiogICBbQ2FyZWVyc10oaHR0cHM6Ly9lbGVtZW50b3IuY2FyZWVycy9leHBsb3JlLylcXG4qICAgW0ZBUXNdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9mYXEvKVxcbiogICBbQWZmaWxpYXRlIFByb2dyYW1dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9hZmZpbGlhdGVzLylcXG4qICAgW1RydXN0IENlbnRlcl0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3RydXN0LylcXG4qICAgW01lZGlhXShodHRwczovL2VsZW1lbnRvci5jb20vbG9nb3MvKVxcbiogICBbVHJhZGVtYXJrXShodHRwczovL2VsZW1lbnRvci5jb20vdGVybXMvdHJhZGVtYXJrLWd1aWRlbGluZXMvKVxcbiogICBbVGVybXMgJiBDb25kaXRpb25zXShodHRwczovL2VsZW1lbnRvci5jb20vdGVybXMvKVxcbiogICBbQUkgVGVybXMgJiBDb25kaXRpb25zXShodHRwczovL2VsZW1lbnRvci5jb20vdGVybXMvZWxlbWVudG9yLWFpLXRlcm1zLWFuZC1jb25kaXRpb25zLylcXG4qICAgW1ByaXZhY3kgUG9saWN5XShodHRwczovL2VsZW1lbnRvci5jb20vYWJvdXQvcHJpdmFjeS8pXFxuKiAgIFtDb29raWUgUG9saWN5XShodHRwczovL2VsZW1lbnRvci5jb20vdGVybXMvY29va2llLXBvbGljeS8pXFxuKiAgIFtEbyBOb3QgU2VsbCBvciBTaGFyZSBNeSBJbmZvXShodHRwczovL2VsZW1lbnRvci5jb20vdGVybXMvZG8tbm90LXNlbGwtb3Itc2hhcmUtbXktaW5mby8pXFxuKiAgIFtBY2Nlc3NpYmlsaXR5IFN0YXRlbWVudF0oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3Rlcm1zL2FjY2Vzc2liaWxpdHkvKVxcbiogICBbT3Blbi1Tb3VyY2UgU29mdHdhcmUgQ29tcG9uZW50c10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL29wZW4tc291cmNlLXNvZnR3YXJlLWNvbXBvbmVudHMvKVxcblxcblByaWNpbmdcXG5cXG4qICAgW0hvc3RpbmcgZm9yIFdvcmRQcmVzc10oaHR0cHM6Ly9lbGVtZW50b3IuY29tL3ByaWNpbmcvKVxcbiogICBbSG9zdGluZyBmb3IgV29vQ29tbWVyY2VdKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLWVjb21tZXJjZS1ob3N0aW5nLylcXG4qICAgW1BhZ2UgQnVpbGRlciBQbHVnaW5dKGh0dHBzOi8vZWxlbWVudG9yLmNvbS9wcmljaW5nLXBsdWdpbi8pXFxuXFxuW0hvc3RlZCB3aXRoXShodHRwczovL2VsZW1lbnRvci5jb20vaG9zdGluZy8pIVtJbWFnZSA0NTogU3RhcnQgYSBjaGF0IHdpdGggYW4gRWxlbWVudG9yIGFnZW50XShibG9iOmh0dHA6Ly9sb2NhbGhvc3QvNzU3ZjRlZWUyZjljNWNhOTAxYTU5MDY3OWQ1MTg5NDQpIVtJbWFnZSA0NjogQ29va2llYm90IHNlc3Npb24gdHJhY2tlciBpY29uIGxvYWRlZF0oaHR0cHM6Ly9pbWdzY3QuY29va2llYm90LmNvbS8xLmdpZj9kZ2k9ZDE5NTU5ZTktZjNhNi00MjA3LThmYjAtNWQwMGU5N2Q0OGI1KVxcblxcbiFbSW1hZ2UgNDddKGh0dHBzOi8vYmF0LmJpbmcuY29tL2FjdGlvbi8wP3RpPTExMTExMTEmdG09Z3RtMDAyJlZlcj0yJm1pZD1mZDBlY2QyMC1mZmUwLTQxY2UtYmMzZC03MmRmMWM4NjQ4MDImYm89MSZzaWQ9ZmY0Y2I5NTBkZTEwMTFmMDk4MTRhNWFmZWE1OGMxNDImdmlkPWZmNGNlZWIwZGUxMDExZjBhNTc1ZTUzZjkzYTk1OTk0JnZpZHM9MSZtc2Nsa2lkPU4mcGk9OTE4NjM5ODMxJmxnPWVuLVVTJnN3PTgwMCZzaD02MDAmc2M9MjQmdGw9V2hhdCUyMGlzJTIwbjhuJTNGJTIwQW4lMjBJbi1EZXB0aCUyMEd1aWRlJTIwdG8lMjBXb3JrZmxvdyUyMEF1dG9tYXRpb24mcD1odHRwcyUzQSUyRiUyRmVsZW1lbnRvci5jb20lMkZibG9nJTJGd2hhdC1pcy1uOG4lMkYmcj0mbHQ9NjA2OSZldnQ9cGFnZUxvYWQmc3Y9MiZjZGI9QVFJVCZybj04NjY1NDApXCIsXCJwdWJsaXNoZWRUaW1lXCI6XCIyMDI1LTEwLTE2VDA1OjU4OjU2KzAwOjAwXCIsXCJtZXRhZGF0YVwiOntcImxhbmdcIjpcImVuLVVTXCIsXCJ2aWV3cG9ydFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIixcInJvYm90c1wiOlwiaW5kZXgsIGZvbGxvdywgbWF4LWltYWdlLXByZXZpZXc6bGFyZ2UsIG1heC1zbmlwcGV0Oi0xLCBtYXgtdmlkZW8tcHJldmlldzotMVwiLFwiZGVzY3JpcHRpb25cIjpcIkluIHRvZGF5J3MgZGlnaXRhbCBsYW5kc2NhcGUsIGJ1c2luZXNzZXMgcmVseSBvbiBhIGRpenp5aW5nIGFycmF5IG9mIHNwZWNpYWxpemVkIGFwcGxpY2F0aW9ucyB0byBmdW5jdGlvbi4gWW91IGhhdmUgYSBDUk0gZm9yIGN1c3RvbWVyIHJlbGF0aW9uc2hpcHMsIGFuIGVtYWlsIHBsYXRmb3JtIGZvciBtYXJrZXRpbmcsIGEgcHJvamVjdCBtYW5hZ2VtZW50IHRvb2wgZm9yIHRhc2tzLCBhbmQgYSBkb3plbiBvdGhlcnMsIGVhY2ggaGFuZGxpbmcgYSBjcml0aWNhbCBwaWVjZSBvZiB0aGUgcHV6emxlLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZXNlIGFwcGxpY2F0aW9ucyBvZnRlbiBleGlzdCBpbiB0aGVpciBvd24gc2lsb3MsIGNyZWF0aW5nIGRpZ2l0YWwgaXNsYW5kcyB0aGF0IHJlcXVpcmUgY29uc3RhbnQgbWFudWFsIGVmZm9ydCB0byBicmlkZ2UuIFRoaXMgaXMgd2hlcmUgd29ya2Zsb3cgYXV0b21hdGlvbiBiZWNvbWVzIGVzc2VudGlhbC5cIixcIm9nOmxvY2FsZVwiOlwiZW5fVVNcIixcIm9nOnR5cGVcIjpcImFydGljbGVcIixcIm9nOnRpdGxlXCI6XCJXaGF0IGlzIG44bj8gQW4gSW4tRGVwdGggR3VpZGUgdG8gV29ya2Zsb3cgQXV0b21hdGlvblwiLFwib2c6ZGVzY3JpcHRpb25cIjpcIkluIHRvZGF5J3MgZGlnaXRhbCBsYW5kc2NhcGUsIGJ1c2luZXNzZXMgcmVseSBvbiBhIGRpenp5aW5nIGFycmF5IG9mIHNwZWNpYWxpemVkIGFwcGxpY2F0aW9ucyB0byBmdW5jdGlvbi4gWW91IGhhdmUgYSBDUk0gZm9yIGN1c3RvbWVyIHJlbGF0aW9uc2hpcHMsIGFuIGVtYWlsIHBsYXRmb3JtIGZvciBtYXJrZXRpbmcsIGEgcHJvamVjdCBtYW5hZ2VtZW50IHRvb2wgZm9yIHRhc2tzLCBhbmQgYSBkb3plbiBvdGhlcnMsIGVhY2ggaGFuZGxpbmcgYSBjcml0aWNhbCBwaWVjZSBvZiB0aGUgcHV6emxlLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZXNlIGFwcGxpY2F0aW9ucyBvZnRlbiBleGlzdCBpbiB0aGVpciBvd24gc2lsb3MsIGNyZWF0aW5nIGRpZ2l0YWwgaXNsYW5kcyB0aGF0IHJlcXVpcmUgY29uc3RhbnQgbWFudWFsIGVmZm9ydCB0byBicmlkZ2UuIFRoaXMgaXMgd2hlcmUgd29ya2Zsb3cgYXV0b21hdGlvbiBiZWNvbWVzIGVzc2VudGlhbC5cIixcIm9nOnVybFwiOlwiaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd2hhdC1pcy1uOG4vXCIsXCJvZzpzaXRlX25hbWVcIjpcIkJsb2dcIixcImFydGljbGU6cHVibGlzaGVyXCI6XCJodHRwczovL3d3dy5mYWNlYm9vay5jb20vZWxlbW50b3IvXCIsXCJhcnRpY2xlOnB1Ymxpc2hlZF90aW1lXCI6XCIyMDI1LTEwLTE2VDA1OjU4OjU2KzAwOjAwXCIsXCJhcnRpY2xlOm1vZGlmaWVkX3RpbWVcIjpcIjIwMjUtMTEtMTJUMTE6MzI6MzcrMDA6MDBcIixcIm9nOmltYWdlXCI6XCJodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyNS8xMC9pbWdpXzIzXzIwMjFfMTFfSGVyZGluZy1DYXRzLeKAlC1MZXNzb25zLUxlYXJuZWQtV2hpbGUtRGV2ZWxvcGluZy1mb3ItdGhlLVdvcmRQcmVzcy1FbnZpcm9ubWVudC0wMS5qcGVnXCIsXCJvZzppbWFnZTp3aWR0aFwiOlwiMTIwMFwiLFwib2c6aW1hZ2U6aGVpZ2h0XCI6XCI2MzBcIixcIm9nOmltYWdlOnR5cGVcIjpcImltYWdlL2pwZWdcIixcImF1dGhvclwiOlwiSXRhbWFyIEhhaW1cIixcInR3aXR0ZXI6Y2FyZFwiOlwic3VtbWFyeV9sYXJnZV9pbWFnZVwiLFwidHdpdHRlcjpjcmVhdG9yXCI6XCJAZWxlbW50b3JcIixcInR3aXR0ZXI6c2l0ZVwiOlwiQGVsZW1udG9yXCIsXCJ0d2l0dGVyOmxhYmVsMVwiOlwiV3JpdHRlbiBieVwiLFwidHdpdHRlcjpkYXRhMVwiOlwiSXRhbWFyIEhhaW1cIixcInR3aXR0ZXI6bGFiZWwyXCI6XCJFc3QuIHJlYWRpbmcgdGltZVwiLFwidHdpdHRlcjpkYXRhMlwiOlwiMTggbWludXRlc1wiLFwiZ2VuZXJhdG9yXCI6XCJXUE1MIHZlcjo0LjcuNiBzdHQ6MzcsMSw0LDMsMjcsNDIsMjtcIixcInJlZmVycmVyXCI6XCJuby1yZWZlcnJlci13aGVuLWRvd25ncmFkZVwiLFwibXNhcHBsaWNhdGlvbi1UaWxlSW1hZ2VcIjpcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIxLzA3L2VsZW1lbnRvci1mYXZpY29uLTUxMi5wbmdcIixcInRyYWNlcGFyZW50XCI6XCIwMC05YjEzY2FkNjYyNGMzOTNlMDAwMDAwMTc2NjI4MjQ5NC05YjEzY2FkNjYyNGMzOTNlLTAxXCJ9LFwiZXh0ZXJuYWxcIjp7XCJwcm9maWxlXCI6e1wiaHR0cHM6Ly9nbXBnLm9yZy94Zm4vMTFcIjp7fX0sXCJjYW5vbmljYWxcIjp7XCJodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93aGF0LWlzLW44bi9cIjp7fX0sXCJkbnMtcHJlZmV0Y2hcIjp7XCJodHRwczovL2Nkbi5lbGVtZW50b3IuY29tL1wiOnt9fSxcImFsdGVybmF0ZVwiOntcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2ZlZWQvXCI6e1widHlwZVwiOlwiYXBwbGljYXRpb24vcnNzK3htbFwiLFwidGl0bGVcIjpcIkJsb2cgwrsgRmVlZFwifSxcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL2NvbW1lbnRzL2ZlZWQvXCI6e1widHlwZVwiOlwiYXBwbGljYXRpb24vcnNzK3htbFwiLFwidGl0bGVcIjpcIkJsb2cgwrsgQ29tbWVudHMgRmVlZFwifSxcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3doYXQtaXMtbjhuL2ZlZWQvXCI6e1widHlwZVwiOlwiYXBwbGljYXRpb24vcnNzK3htbFwiLFwidGl0bGVcIjpcIkJsb2cgwrsgV2hhdCBpcyBuOG4/IEFuIEluLURlcHRoIEd1aWRlIHRvIFdvcmtmbG93IEF1dG9tYXRpb24gQ29tbWVudHMgRmVlZFwifSxcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3dwLWpzb24vd3AvdjIvcG9zdHMvMTQxMzYyXCI6e1widGl0bGVcIjpcIkpTT05cIixcInR5cGVcIjpcImFwcGxpY2F0aW9uL2pzb25cIn0sXCJodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93cC1qc29uL29lbWJlZC8xLjAvZW1iZWQ/dXJsPWh0dHBzJTNBJTJGJTJGZWxlbWVudG9yLmNvbSUyRmJsb2clMkZ3aGF0LWlzLW44biUyRlwiOntcInRpdGxlXCI6XCJvRW1iZWQgKEpTT04pXCIsXCJ0eXBlXCI6XCJhcHBsaWNhdGlvbi9qc29uK29lbWJlZFwifSxcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3dwLWpzb24vb2VtYmVkLzEuMC9lbWJlZD91cmw9aHR0cHMlM0ElMkYlMkZlbGVtZW50b3IuY29tJTJGYmxvZyUyRndoYXQtaXMtbjhuJTJGJmZvcm1hdD14bWxcIjp7XCJ0aXRsZVwiOlwib0VtYmVkIChYTUwpXCIsXCJ0eXBlXCI6XCJ0ZXh0L3htbCtvZW1iZWRcIn19LFwiaHR0cHM6Ly9hcGkudy5vcmcvXCI6e1wiaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cvd3AtanNvbi9cIjp7fX0sXCJFZGl0VVJJXCI6e1wiaHR0cHM6Ly9lbGVtZW50b3IuY29tL2Jsb2cveG1scnBjLnBocD9yc2RcIjp7XCJ0eXBlXCI6XCJhcHBsaWNhdGlvbi9yc2QreG1sXCIsXCJ0aXRsZVwiOlwiUlNEXCJ9fSxcInNob3J0bGlua1wiOntcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nLz9wPTE0MTM2MlwiOnt9fSxcImljb25cIjp7XCJodHRwczovL2VsZW1lbnRvci5jb20vYmxvZy93cC1jb250ZW50L3VwbG9hZHMvMjAyMS8wNy9lbGVtZW50b3ItZmF2aWNvbi01MTIucG5nXCI6e1wic2l6ZXNcIjpcIjE5MngxOTJcIn19LFwiYXBwbGUtdG91Y2gtaWNvblwiOntcImh0dHBzOi8vZWxlbWVudG9yLmNvbS9ibG9nL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIxLzA3L2VsZW1lbnRvci1mYXZpY29uLTUxMi5wbmdcIjp7fX19LFwidXNhZ2VcIjp7XCJ0b2tlbnNcIjoyMTgzMn19XSIsInRvb2xfdXNlX2lkIjoidG9vbHVfMDFNcmo5VnY3NDd3dUJYRXdqdGdLSk5DIn1dfV0sInN5c3RlbSI6IllvdSBhcmUgYSBoZWxwZnVsIGFzc2lzdGFudC5cblxuVGhlIHVzZXIncyBjdXJyZW50IGxvY2FsIGRhdGUgYW5kIHRpbWUgaXM6IDIwMjUtMDEtMTVUMDc6MDA6MDAuMDAwLTA1OjAwICh0aW1lem9uZTogQW1lcmljYS9OZXdfWW9yaykuXG5XaGVuIHlvdSBuZWVkIHRvIHJlZmVyZW5jZSBcIm5vd1wiLCB1c2UgdGhpcyBkYXRlIGFuZCB0aW1lLlxuXG5Zb3UgY2FuIG9ubHkgcHJvZHVjZSB0ZXh0IHJlc3BvbnNlcy5cbllvdSBjYW5ub3QgY3JlYXRlLCBnZW5lcmF0ZSwgZWRpdCwgb3IgZGlzcGxheSBpbWFnZXMsIHZpZGVvcywgb3Igb3RoZXIgbm9uLXRleHQgY29udGVudC5cbklmIHRoZSB1c2VyIGFza3MgeW91IHRvIGdlbmVyYXRlIG9yIGVkaXQgYW4gaW1hZ2UgKG9yIG90aGVyIG1lZGlhKSwgZXhwbGFpbiB0aGF0IHlvdSBhcmUgbm90IGFibGUgdG8gZG8gdGhhdCBhbmQsIGlmIGhlbHBmdWwsIGRlc2NyaWJlIGluIHdvcmRzIHdoYXQgdGhlIGltYWdlIGNvdWxkIGxvb2sgbGlrZSBvciBob3cgdGhleSBjb3VsZCBjcmVhdGUgaXQgdXNpbmcgZXh0ZXJuYWwgdG9vbHMuIn0="
    }
  },
  "httpResponse": {
    "statusCode": 200,
    "reasonPhrase": "OK",
    "headers": {
      "x-envoy-upstream-service-time": [
        "3492"
      ],
      "strict-transport-security": [
        "max-age=31536000; includeSubDomains; preload"
      ],
      "request-id": [
        "req_011CWMXASDWx5BiUzqE6qhct"
      ],
      "cf-cache-status": [
        "DYNAMIC"
      ],
      "anthropic-ratelimit-tokens-reset": [
        "2025-12-22T09:52:42Z"
      ],
      "anthropic-ratelimit-tokens-remaining": [
        "4800000"
      ],
      "anthropic-ratelimit-tokens-limit": [
        "4800000"
      ],
      "anthropic-ratelimit-output-tokens-reset": [
        "2025-12-22T09:52:42Z"
      ],
      "anthropic-ratelimit-output-tokens-remaining": [
        "800000"
      ],
      "anthropic-ratelimit-output-tokens-limit": [
        "800000"
      ],
      "anthropic-ratelimit-input-tokens-reset": [
        "2025-12-22T09:52:42Z"
      ],
      "anthropic-ratelimit-input-tokens-remaining": [
        "4000000"
      ],
      "anthropic-ratelimit-input-tokens-limit": [
        "4000000"
      ],
      "X-Robots-Tag": [
        "none"
      ],
      "Server": [
        "cloudflare"
      ],
      "Date": [
        "Mon, 22 Dec 2025 09:52:45 GMT"
      ],
      "Content-Type": [
        "text/event-stream; charset=utf-8"
      ],
      "Cache-Control": [
        "no-cache"
      ],
      "CF-RAY": [
        "9b1eba56898dc758-TXL"
      ]
    },
    "body": {
      "type": "STRING",
      "string": "event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"model\":\"claude-opus-4-5-20251101\",\"id\":\"msg_01JAEk6kboPnHBdSW93FdKXF\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[],\"stop_reason\":null,\"stop_sequence\":null,\"usage\":{\"input_tokens\":129482,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"cache_creation\":{\"ephemeral_5m_input_tokens\":0,\"ephemeral_1h_input_tokens\":0},\"output_tokens\":1,\"service_tier\":\"standard\"}}       }\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"##\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" What is n8n?\\n\\n**\"}    }\n\nevent: ping\ndata: {\"type\": \"ping\"}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"n8n** (\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"pronounced \\\"n-eight-n\\\"\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" or \\\"no\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"dem\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"ation\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\\") is an\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" **\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"open-source workflow automation platform** that\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" allows\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" you to connect\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" different\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" applications\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" services\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", and APIs\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" to\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" automate repet\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"itive tasks and buil\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d complex workflows—\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"without ne\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"eding extensive\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" coding knowledge.\\n\\n### Key Features\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\n1\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\". **Visual\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Node\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-Base\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d Editor\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"**: n\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"8n uses a drag-and-\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"drop interface where each\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" step\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" in\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" your workflow is represented as a \\\"\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"node.\\\"\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" You connect\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" these nodes to\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" define\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" how\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" data flows\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" between\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" applications\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\".\\n\\n2. **500\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"+\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Integrations**: It\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" connects with\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" popular\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" tools like Google\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Sheets\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", Slack, GitHub\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", Notion\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", Discor\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d, A\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"irtable, MySQL\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", Postgre\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"SQL, and many more.\\n\\n3\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\". **Self\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-Hosting\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Option\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"**: Unlike\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" many competitors\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", n8n can be\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" **\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"self-hosted for\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" free** on\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" your own server,\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" giving you full control over your data an\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d privacy\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\".\\n\\n4. **Low\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-Code/No-Code Flexibility\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"**: While\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" it's beginner-friendly with\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" its\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" visual interface\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", it also supports custom\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" JavaScript\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" or\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Python code for advance\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d users who\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" need more control.\\n\\n5. **\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"AI\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-Ready\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"**: n8n integ\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"rates with AI tools\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" like Open\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"AI, enabling\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" you\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" to build AI-\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"powered automation\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" workflows an\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d agents\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\".\\n\\n### How\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" It Works\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\nA typical n\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"8n workflow consists of:\\n-\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" **Trigger\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Node\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"**:\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Starts the workflow\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" (\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"e.g., a\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" new form\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" submission,\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" schedule\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d time\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", or webhook\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\")\\n- **Action\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Nodes**: Perform tasks\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" like sending\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" emails, updating databases, or calling\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" APIs\\n- **Logic\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Nodes**: Ad\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d conditions\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" loops, or\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" bran\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"ching to control the workflow\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\n### Common\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Use Cases\\n\\n- **Marketing\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" automation\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"**: Auto\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-share\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" new blog posts to\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" social media\\n- **Sales\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" &\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" C\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"RM**: Automatically add leads from\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" forms\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" to your\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" CRM an\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d notify\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" your\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" team on\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Slack\\n- **Data synchron\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"ization**: Keep\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" data\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" consistent\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" across multiple platforms\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n- **Customer\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" support\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"**: Route\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" support\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" tickets to the right team automatically\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n- **Invoice\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" processing**: Generate\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" an\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d send invoices when\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" payments are received\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n- **AI\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" workflows**: Build chatbots or\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" content\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" generators\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" using\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" L\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"LM\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" integ\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"rations\\n\\n###\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Pricing\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\n-\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" **Self\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-hoste\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d**:\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Free (\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"you\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" only\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" pay for your\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" server\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\")\\n- **n\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"8n Clou\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d**:\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Starts at $20\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"/month for manage\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d hosting\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\n### n\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"8n vs\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Competitors\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" (\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"Zap\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"ier, Make\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\")\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"\\n\\n|\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Feature | n8n | Zap\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"ier | Make |\\n|---------|\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"--\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"---|--------|------|\\n| Self\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-hosting | \"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"✅\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Yes\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" | ❌ No | \"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"❌ No |\\n| Open\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" source\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" | ✅ Yes | \"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"❌ No | ❌\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" No |\\n| Custom\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" code | ✅ JavaScript\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" |\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" ❌ Limite\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d | \"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"⚠️ Limite\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d |\\n| Complex\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" workflows | ✅\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Excellent\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" | \"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"⚠️ Basic\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" | \"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"✅ Goo\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"d |\\n| Cost\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" at\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" scale\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" | ✅ Very\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" affordable | ⚠️\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Expensive | ⚠️\"}    }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" Moderate\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" |\\n\\nn\"}         }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"8n is particularly popular\"}            }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" among developers\"}      }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" technical\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" teams\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", and businesses that need flexibility\"}           }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",\"} }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" data\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" privacy\"}       }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\", and cost\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"-effective automation at\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" scale.\"}     }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" It has\"}          }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" over\"}             }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" **\"}              }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"164\"}               }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\",000 stars on GitHub**,\"}  }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" making it one of the most popular\"}   }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\" open-source automation projects\"}        }\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\".\"} }\n\nevent: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0}\n\nevent: message_delta\ndata: {\"type\":\"message_delta\",\"delta\":{\"stop_reason\":\"end_turn\",\"stop_sequence\":null},\"usage\":{\"input_tokens\":129482,\"cache_creation_input_tokens\":0,\"cache_read_input_tokens\":0,\"output_tokens\":729}       }\n\nevent: message_stop\ndata: {\"type\":\"message_stop\"          }\n\n",
      "rawBytes": "ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdGFydCIsIm1lc3NhZ2UiOnsibW9kZWwiOiJjbGF1ZGUtb3B1cy00LTUtMjAyNTExMDEiLCJpZCI6Im1zZ18wMUpBRWs2a2JvUG5IQmRTVzkzRmRLWEYiLCJ0eXBlIjoibWVzc2FnZSIsInJvbGUiOiJhc3Npc3RhbnQiLCJjb250ZW50IjpbXSwic3RvcF9yZWFzb24iOm51bGwsInN0b3Bfc2VxdWVuY2UiOm51bGwsInVzYWdlIjp7ImlucHV0X3Rva2VucyI6MTI5NDgyLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJjYWNoZV9jcmVhdGlvbiI6eyJlcGhlbWVyYWxfNW1faW5wdXRfdG9rZW5zIjowLCJlcGhlbWVyYWxfMWhfaW5wdXRfdG9rZW5zIjowfSwib3V0cHV0X3Rva2VucyI6MSwic2VydmljZV90aWVyIjoic3RhbmRhcmQifX0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RhcnQKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19zdGFydCIsImluZGV4IjowLCJjb250ZW50X2Jsb2NrIjp7InR5cGUiOiJ0ZXh0IiwidGV4dCI6IiJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIjIyJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgV2hhdCBpcyBuOG4/XG5cbioqIn0gICAgfQoKZXZlbnQ6IHBpbmcKZGF0YTogeyJ0eXBlIjogInBpbmcifQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJuOG4qKiAoIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InByb25vdW5jZWQgXCJuLWVpZ2h0LW5cIiJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBvciBcIm5vIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZGVtIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImF0aW9uIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXCIpIGlzIGFuIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiICoqIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0Ijoib3Blbi1zb3VyY2Ugd29ya2Zsb3cgYXV0b21hdGlvbiBwbGF0Zm9ybSoqIHRoYXQifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhbGxvd3MifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHlvdSB0byBjb25uZWN0In0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRpZmZlcmVudCJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhcHBsaWNhdGlvbnMifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzZXJ2aWNlcyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBhbmQgQVBJcyJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdG8ifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGF1dG9tYXRlIHJlcGV0In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Iml0aXZlIHRhc2tzIGFuZCBidWlsIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgY29tcGxleCB3b3JrZmxvd3PigJQifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJ3aXRob3V0IG5lIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJlZGluZyBleHRlbnNpdmUifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgY29kaW5nIGtub3dsZWRnZS5cblxuIyMjIEtleSBGZWF0dXJlcyJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG4xIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii4gKipWaXN1YWwifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBOb2RlIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiItQmFzZSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBFZGl0b3IifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIqKjogbiJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiI4biB1c2VzIGEgZHJhZy1hbmQtIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImRyb3AgaW50ZXJmYWNlIHdoZXJlIGVhY2gifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzdGVwIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGluIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3VyIHdvcmtmbG93IGlzIHJlcHJlc2VudGVkIGFzIGEgXCIifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Im5vZGUuXCIifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFlvdSBjb25uZWN0In0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0aGVzZSBub2RlcyB0byJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRlZmluZSJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaG93In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZGF0YSBmbG93cyJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBiZXR3ZWVuIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhcHBsaWNhdGlvbnMifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii5cblxuMi4gKio1MDAifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgSW50ZWdyYXRpb25zKio6IEl0In0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGNvbm5lY3RzIHdpdGgifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBwb3B1bGFyIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0b29scyBsaWtlIEdvb2dsZSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBTaGVldHMifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBTbGFjaywgR2l0SHViIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBOb3Rpb24ifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBEaXNjb3IifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCwgQSJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImlydGFibGUsIE15U1FMIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCBQb3N0Z3JlIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlNRTCwgYW5kIG1hbnkgbW9yZS5cblxuMyJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLiAqKlNlbGYifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiItSG9zdGluZyJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgT3B0aW9uIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKio6IFVubGlrZSJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtYW55IGNvbXBldGl0b3JzIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiwgbjhuIGNhbiBiZSJ9ICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqKiJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6InNlbGYtaG9zdGVkIGZvciJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBmcmVlKiogb24ifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91ciBvd24gc2VydmVyLCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGdpdmluZyB5b3UgZnVsbCBjb250cm9sIG92ZXIgeW91ciBkYXRhIGFuIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6ImQgcHJpdmFjeSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii5cblxuNC4gKipMb3cifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLUNvZGUvTm8tQ29kZSBGbGV4aWJpbGl0eSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIqKjogV2hpbGUifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgaXQncyBiZWdpbm5lci1mcmllbmRseSB3aXRoIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGl0cyJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdmlzdWFsIGludGVyZmFjZSJ9ICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIGl0IGFsc28gc3VwcG9ydHMgY3VzdG9tIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgSmF2YVNjcmlwdCJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgb3IifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFB5dGhvbiBjb2RlIGZvciBhZHZhbmNlIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCB1c2VycyB3aG8ifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG5lZWQgbW9yZSBjb250cm9sLlxuXG41LiAqKiJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJBSSJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii1SZWFkeSJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIqKjogbjhuIGludGVnIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJyYXRlcyB3aXRoIEFJIHRvb2xzIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbGlrZSBPcGVuIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiQUksIGVuYWJsaW5nIn0gICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgeW91In0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHRvIGJ1aWxkIEFJLSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoicG93ZXJlZCBhdXRvbWF0aW9uIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgd29ya2Zsb3dzIGFuIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIGFnZW50cyJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii5cblxuIyMjIEhvdyJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEl0IFdvcmtzIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG5cbkEgdHlwaWNhbCBuIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOG4gd29ya2Zsb3cgY29uc2lzdHMgb2Y6XG4tIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqKlRyaWdnZXIifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgTm9kZSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKio6In0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIFN0YXJ0cyB0aGUgd29ya2Zsb3cifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAoIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJlLmcuLCBhIn0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG5ldyBmb3JtIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHN1Ym1pc3Npb24sIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc2NoZWR1bGUifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIHRpbWUifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Iiwgb3Igd2ViaG9vayJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Iilcbi0gKipBY3Rpb24ifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIE5vZGVzKio6IFBlcmZvcm0gdGFza3MifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbGlrZSBzZW5kaW5nIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZW1haWxzLCB1cGRhdGluZyBkYXRhYmFzZXMsIG9yIGNhbGxpbmcifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEFQSXNcbi0gKipMb2dpYyJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgTm9kZXMqKjogQWQifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIGNvbmRpdGlvbnMifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGxvb3BzLCBvciJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBicmFuIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiY2hpbmcgdG8gY29udHJvbCB0aGUgd29ya2Zsb3cifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG4jIyMgQ29tbW9uIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBVc2UgQ2FzZXNcblxuLSAqKk1hcmtldGluZyJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhdXRvbWF0aW9uIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKio6IEF1dG8ifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii1zaGFyZSJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgbmV3IGJsb2cgcG9zdHMgdG8ifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNvY2lhbCBtZWRpYVxuLSAqKlNhbGVzIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAmIn0gICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBDIn0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJSTSoqOiBBdXRvbWF0aWNhbGx5IGFkZCBsZWFkcyBmcm9tIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgZm9ybXMifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0byB5b3VyIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgQ1JNIGFuIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBub3RpZnkifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB5b3VyIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB0ZWFtIG9uIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBTbGFja1xuLSAqKkRhdGEgc3luY2hyb24ifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiaXphdGlvbioqOiBLZWVwIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRhdGEifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGNvbnNpc3RlbnQifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhY3Jvc3MgbXVsdGlwbGUgcGxhdGZvcm1zIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcbi0gKipDdXN0b21lciJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzdXBwb3J0In0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKio6IFJvdXRlIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBzdXBwb3J0In0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGlja2V0cyB0byB0aGUgcmlnaHQgdGVhbSBhdXRvbWF0aWNhbGx5In0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuLSAqKkludm9pY2UifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHByb2Nlc3NpbmcqKjogR2VuZXJhdGUifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBhbiJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBzZW5kIGludm9pY2VzIHdoZW4ifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHBheW1lbnRzIGFyZSByZWNlaXZlZCJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcbi0gKipBSSJ9ICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgd29ya2Zsb3dzKio6IEJ1aWxkIGNoYXRib3RzIG9yIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBjb250ZW50In0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGdlbmVyYXRvcnMifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB1c2luZyJ9ICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEwifSAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IkxNIn0gICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGludGVnIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoicmF0aW9uc1xuXG4jIyMifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgUHJpY2luZyJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiXG5cbi0ifSB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqKlNlbGYifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Ii1ob3N0ZSJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCoqOiJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEZyZWUgKCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoieW91In19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBvbmx5In0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHBheSBmb3IgeW91ciJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc2VydmVyIn19CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6Iilcbi0gKipuIn0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IjhuIENsb3UifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCoqOiJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBTdGFydHMgYXQgJDIwIn0gICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIvbW9udGggZm9yIG1hbmFnZSJ9ICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiZCBob3N0aW5nIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJcblxuIyMjIG4ifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IjhuIHZzIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIENvbXBldGl0b3JzIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiICgifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJaYXAifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJpZXIsIE1ha2UifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiKSJ9ICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IlxuXG58In0gICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBGZWF0dXJlIHwgbjhuIHwgWmFwIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiaWVyIHwgTWFrZSB8XG58LS0tLS0tLS0tfCJ9ICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiItLSJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiItLS18LS0tLS0tLS18LS0tLS0tfFxufCBTZWxmIn0gIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLWhvc3RpbmcgfCAifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiLinIUifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBZZXMifSAgICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHwg4p2MIE5vIHwgIn0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0Ijoi4p2MIE5vIHxcbnwgT3BlbiJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc291cmNlIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgfCDinIUgWWVzIHwgIn0gICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IuKdjCBObyB8IOKdjCJ9fQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgTm8gfFxufCBDdXN0b20ifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGNvZGUgfCDinIUgSmF2YVNjcmlwdCJ9ICAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHwifSAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIg4p2MIExpbWl0ZSJ9ICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIHwgIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IuKaoO+4jyBMaW1pdGUifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIHxcbnwgQ29tcGxleCJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB3b3JrZmxvd3MgfCDinIUifSAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgRXhjZWxsZW50In0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHwgIn0gICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IuKaoO+4jyBCYXNpYyJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB8ICJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IuKchSBHb28ifSAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiJkIHxcbnwgQ29zdCJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGF0In0gICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIHNjYWxlIn0gICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB8IOKchSBWZXJ5In0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgYWZmb3JkYWJsZSB8IOKaoO+4jyJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBFeHBlbnNpdmUgfCDimqDvuI8ifSAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBNb2RlcmF0ZSJ9ICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiB8XG5cbm4ifSAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiOG4gaXMgcGFydGljdWxhcmx5IHBvcHVsYXIifSAgICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGFtb25nIGRldmVsb3BlcnMifSAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGVjaG5pY2FsIn0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgdGVhbXMifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiwgYW5kIGJ1c2luZXNzZXMgdGhhdCBuZWVkIGZsZXhpYmlsaXR5In0gICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiLCJ9IH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIGRhdGEifSAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBwcml2YWN5In0gICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsIGFuZCBjb3N0In0gICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiItZWZmZWN0aXZlIGF1dG9tYXRpb24gYXQifSAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIgc2NhbGUuIn0gICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIEl0IGhhcyJ9ICAgICAgICAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG92ZXIifSAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiAqKiJ9ICAgICAgICAgICAgICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IjE2NCJ9ICAgICAgICAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIsMDAwIHN0YXJzIG9uIEdpdEh1YioqLCJ9ICB9CgpldmVudDogY29udGVudF9ibG9ja19kZWx0YQpkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX2RlbHRhIiwiaW5kZXgiOjAsImRlbHRhIjp7InR5cGUiOiJ0ZXh0X2RlbHRhIiwidGV4dCI6IiBtYWtpbmcgaXQgb25lIG9mIHRoZSBtb3N0IHBvcHVsYXIifSAgIH0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ImNvbnRlbnRfYmxvY2tfZGVsdGEiLCJpbmRleCI6MCwiZGVsdGEiOnsidHlwZSI6InRleHRfZGVsdGEiLCJ0ZXh0IjoiIG9wZW4tc291cmNlIGF1dG9tYXRpb24gcHJvamVjdHMifSAgICAgICAgfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjoiY29udGVudF9ibG9ja19kZWx0YSIsImluZGV4IjowLCJkZWx0YSI6eyJ0eXBlIjoidGV4dF9kZWx0YSIsInRleHQiOiIuIn0gfQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfc3RvcApkYXRhOiB7InR5cGUiOiJjb250ZW50X2Jsb2NrX3N0b3AiLCJpbmRleCI6MH0KCmV2ZW50OiBtZXNzYWdlX2RlbHRhCmRhdGE6IHsidHlwZSI6Im1lc3NhZ2VfZGVsdGEiLCJkZWx0YSI6eyJzdG9wX3JlYXNvbiI6ImVuZF90dXJuIiwic3RvcF9zZXF1ZW5jZSI6bnVsbH0sInVzYWdlIjp7ImlucHV0X3Rva2VucyI6MTI5NDgyLCJjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnMiOjAsImNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zIjowLCJvdXRwdXRfdG9rZW5zIjo3Mjl9ICAgICAgIH0KCmV2ZW50OiBtZXNzYWdlX3N0b3AKZGF0YTogeyJ0eXBlIjoibWVzc2FnZV9zdG9wIiAgICAgICAgICB9Cgo=",
      "contentType": "text/event-stream; charset=utf-8"
    }
  },
  "id": "1766397179515-unknown-host-POST-_v1_messages-a6d4f58f.json",
  "priority": 0,
  "timeToLive": {
    "unlimited": true
  },
  "times": {
    "unlimited": true
  }
}