WHO Immunization Implementation Guide
0.2.0 - ci-build
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions
| Draft as of 2025-11-11 |
{
"resourceType" : "Library",
"id" : "IMMZD5DTPolioContraindicationsLogic",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD5DTPolioContraindicationsLogic</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD5DTPolioContraindicationsLogic</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.2.0</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD5DTPolioContraindicationsLogic.html\">IMMZD5DTPolioContraindicationsLogic</a></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/6.5.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>logic-library</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2025-11-11 19:50:47+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">WHO</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This library defines decision support logic for the IMMZ.D5.DT.Polio contraindications decision table in the Immunization CPG</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Related Artifacts: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p><b>Dependencies</b></p>\n <ul>\n \n <li><a href=\"Library-IMMZD5DTPolioEncounterElements.html\">IMMZD5DTPolioEncounterElements</a></li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Parameters: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n \n <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n \n <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Draft Medication Request ID for bOPV dose</th><th>id</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Poliovirus vaccination could be contraindicated. Clinical judgement required</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Poliovirus vaccination could be contraindicated. Clinical judgement required Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Poliovirus vaccination with bOPV is contraindicated Case 1</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Poliovirus vaccination with bOPV is contraindicated Case 2</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Poliovirus vaccination with bOPV is contraindicated</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Poliovirus vaccination with bOPV is contraindicated Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Has Guidance</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Test Validation</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n <tr><td><pre><code class=\"language-cql\">/*\n * Library: IMMZD5DTPolioContraindicationsLogic (IMMZ.D5.DT.Polio contraindications)\n * Rule: Check for contraindications before administering the vaccine(s) due\n * Decision Table: IMMZ.D5.DT.Polio contraindications\n * Trigger: IMMZ.D5 Determine vaccine(s) to be administered based on contraindications\n */\nlibrary IMMZD5DTPolioContraindicationsLogic\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude IMMZD5DTPolioEncounterElements called Encounter\n\nparameter Today Date default Today()\n\ncontext Patient\n\n/*\n @dynamicValue: Draft Medication Request ID for Polio dose\n */\n define "Draft Medication Request ID for bOPV dose":\n First(Encounter."Draft Medication Request for bOPV dose").id\n\n\n/*\n@dynamicValue: Guidance\n*/\ndefine "Guidance":\n case \n when "Poliovirus vaccination could be contraindicated. Clinical judgement required" then "Poliovirus vaccination could be contraindicated. Clinical judgement required Guidance"\n when "Poliovirus vaccination with bOPV is contraindicated" then "Poliovirus vaccination with bOPV is contraindicated Guidance" \n else ''\n end\n \ndefine "Has Guidance":\n "Guidance" is not null and "Guidance" != ''\n\n/*\n@output: Poliovirus vaccination could be contraindicated. Clinical judgement required\n@pseudocode: "Immunization recommendation status" = "Further evaluation needed"\n*/\ndefine "Poliovirus vaccination could be contraindicated. Clinical judgement required":\n Encounter."The client has history of severe allergic reactions"\n\n/*\n@output: Poliovirus vaccination could be contraindicated. Clinical judgement required Guidance\n@guidance: Do not vaccinate client with inactivated polio vaccine (IPV) if client has had a previous severe reaction or known allergy to streptomycin, neomycin or polymyxin B.\nDo not vaccinate client with oral polio vaccine (OPV) if client has had a allergic reaction to OPV or to the trace antibiotics contained.\n*/\ndefine "Poliovirus vaccination could be contraindicated. Clinical judgement required Guidance":\n 'Do not vaccinate client with inactivated polio vaccine (IPV) if client has had a previous severe reaction or known allergy to streptomycin, neomycin or polymyxin B.\nDo not vaccinate client with oral polio vaccine (OPV) if client has had a allergic reaction to OPV or to the trace antibiotics contained.'\n\n/*\n@output: Poliovirus vaccination with bOPV is contraindicated Case 1\n@pseudocode: Clinical judgement is required if vaccination with IPV is considered\n"Immunization recommendation status" = "Contraindicated" (where "Type of poliovirus dose" = "bOPV") AND "Immunization recommendation status" = "Further evaluation needed" (where "Type of poliovirus dose" = "IPV")\n*/\ndefine "Poliovirus vaccination with bOPV is contraindicated Case 1":\n Encounter."The client is severely immunocompromised"\n\n/*\n@output: Poliovirus vaccination with bOPV is contraindicated Case 2\n@pseudocode: Clinical judgement is required if vaccination with IPV is considered\n"Immunization recommendation status" = "Contraindicated" (where "Type of poliovirus dose" = "bOPV") AND "Immunization recommendation status" = "Further evaluation needed" (where "Type of poliovirus dose" = "IPV")\n*/\ndefine "Poliovirus vaccination with bOPV is contraindicated Case 2":\n Encounter."The client has immunodeficiency syndromes"\n\n/*\n@output: Poliovirus vaccination with bOPV is contraindicated\n@pseudocode: Clinical judgement is required if vaccination with IPV is considered\n"Immunization recommendation status" = "Contraindicated" (where "Type of poliovirus dose" = "bOPV") AND "Immunization recommendation status" = "Further evaluation needed" (where "Type of poliovirus dose" = "IPV")\n*/\ndefine "Poliovirus vaccination with bOPV is contraindicated":\n "Poliovirus vaccination with bOPV is contraindicated Case 1"\n or "Poliovirus vaccination with bOPV is contraindicated Case 2"\n\n/*\n@output: Poliovirus vaccination with bOPV is contraindicated Guidance\n@guidance = For bOPV dose, do not vaccinate client for bOPV dose as bOPV vaccination is contranindicated in severely immunocompromised clients. \nCheck if vaccination with IPV is appropriate for the client, consider risks of vaccination and make a clinical judgement.\n@guidance = For bOPV dose, do not vaccinate client for bOPV dose as bOPV vaccination is contranindicated in clients with immunodeficiency disorders.\nCheck if vaccination with IPV is appropriate for the client, consider risks of vaccination and make a clinical judgement.\n*/\ndefine "Poliovirus vaccination with bOPV is contraindicated Guidance":\n case\n when "Poliovirus vaccination with bOPV is contraindicated Case 1" then 'For bOPV dose, do not vaccinate client for bOPV dose as bOPV vaccination is contranindicated in severely immunocompromised clients. \nCheck if vaccination with IPV is appropriate for the client, consider risks of vaccination and make a clinical judgement.'\n when "Poliovirus vaccination with bOPV is contraindicated Case 2" then 'For bOPV dose, do not vaccinate client for bOPV dose as bOPV vaccination is contranindicated in clients with immunodeficiency disorders.\nCheck if vaccination with IPV is appropriate for the client, consider risks of vaccination and make a clinical judgement.'\n else ''\n end\n\n\n/*\n@test: Test expected results based on example patients\n*/\ndefine "Test Validation":\n case\n when Patient.id = 'Polio87.1' then "Poliovirus vaccination could be contraindicated. Clinical judgement required" and "Guidance" = 'Do not vaccinate client with inactivated polio vaccine (IPV) if client has had a previous severe reaction or known allergy to streptomycin, neomycin or polymyxin B.\nDo not vaccinate client with oral polio vaccine (OPV) if client has had a allergic reaction to OPV or to the trace antibiotics contained.'\n when Patient.id = 'Polio88.1' then "Poliovirus vaccination with bOPV is contraindicated Case 1" and "Guidance" = 'For bOPV dose, do not vaccinate client for bOPV dose as bOPV vaccination is contranindicated in severely immunocompromised clients. \nCheck if vaccination with IPV is appropriate for the client, consider risks of vaccination and make a clinical judgement.'\n when Patient.id = 'Polio89.1' then "Poliovirus vaccination with bOPV is contraindicated Case 2" and "Guidance" = 'For bOPV dose, do not vaccinate client for bOPV dose as bOPV vaccination is contranindicated in clients with immunodeficiency disorders.\nCheck if vaccination with IPV is appropriate for the client, consider risks of vaccination and make a clinical judgement.'\n else 'No test case set'\n end\n</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n \n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><b>Content: </b> application/elm+xml</th></tr>\n <tr><td><pre><code>Encoded data (49584 characters)</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n </table>\n</div>\n</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/immunizations/Library/IMMZD5DTPolioContraindicationsLogic",
"version" : "0.2.0",
"name" : "IMMZD5DTPolioContraindicationsLogic",
"title" : "IMMZD5DTPolioContraindicationsLogic",
"status" : "draft",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2025-11-11T19:50:47+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "This library defines decision support logic for the IMMZ.D5.DT.Polio contraindications decision table in the Immunization CPG",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZD5DTPolioEncounterElements"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Draft Medication Request ID for bOPV dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "id"
},
{
"name" : "Poliovirus vaccination could be contraindicated. Clinical judgement required",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Poliovirus vaccination could be contraindicated. Clinical judgement required Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Poliovirus vaccination with bOPV is contraindicated Case 1",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Poliovirus vaccination with bOPV is contraindicated Case 2",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Poliovirus vaccination with bOPV is contraindicated",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Poliovirus vaccination with bOPV is contraindicated Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Has Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Test Validation",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoKICogTGlicmFyeTogSU1NWkQ1RFRQb2xpb0NvbnRyYWluZGljYXRpb25zTG9naWMgKElNTVouRDUuRFQuUG9saW8gY29udHJhaW5kaWNhdGlvbnMpCiAqIFJ1bGU6IENoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucyBiZWZvcmUgYWRtaW5pc3RlcmluZyB0aGUgdmFjY2luZShzKSBkdWUKICogRGVjaXNpb24gVGFibGU6IElNTVouRDUuRFQuUG9saW8gY29udHJhaW5kaWNhdGlvbnMKICogVHJpZ2dlcjogSU1NWi5ENSBEZXRlcm1pbmUgdmFjY2luZShzKSB0byBiZSBhZG1pbmlzdGVyZWQgYmFzZWQgb24gY29udHJhaW5kaWNhdGlvbnMKICovCmxpYnJhcnkgSU1NWkQ1RFRQb2xpb0NvbnRyYWluZGljYXRpb25zTG9naWMKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIElNTVpENURUUG9saW9FbmNvdW50ZXJFbGVtZW50cyBjYWxsZWQgRW5jb3VudGVyCgpwYXJhbWV0ZXIgVG9kYXkgRGF0ZSBkZWZhdWx0IFRvZGF5KCkKCmNvbnRleHQgUGF0aWVudAoKLyoKICBAZHluYW1pY1ZhbHVlOiBEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgSUQgZm9yIFBvbGlvIGRvc2UKICAqLwogIGRlZmluZSAiRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IElEIGZvciBiT1BWIGRvc2UiOgogICAgRmlyc3QoRW5jb3VudGVyLiJEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgZm9yIGJPUFYgZG9zZSIpLmlkCgoKLyoKQGR5bmFtaWNWYWx1ZTogR3VpZGFuY2UKKi8KZGVmaW5lICJHdWlkYW5jZSI6CiAgY2FzZSAKICAgIHdoZW4gIlBvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQiIHRoZW4gIlBvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQgR3VpZGFuY2UiCiAgICB3aGVuICJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQiIHRoZW4gIlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBHdWlkYW5jZSIgCiAgICBlbHNlICcnCiAgZW5kCiAgCmRlZmluZSAiSGFzIEd1aWRhbmNlIjoKICAiR3VpZGFuY2UiIGlzIG5vdCBudWxsIGFuZCAiR3VpZGFuY2UiICE9ICcnCgovKgpAb3V0cHV0OiBQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IHJlcXVpcmVkCkBwc2V1ZG9jb2RlOiAiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiRnVydGhlciBldmFsdWF0aW9uIG5lZWRlZCIKKi8KZGVmaW5lICJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IHJlcXVpcmVkIjoKICBFbmNvdW50ZXIuIlRoZSBjbGllbnQgaGFzIGhpc3Rvcnkgb2Ygc2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyIKCi8qCkBvdXRwdXQ6IFBvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQgR3VpZGFuY2UKQGd1aWRhbmNlOiBEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIGluYWN0aXZhdGVkIHBvbGlvIHZhY2NpbmUgKElQVikgaWYgY2xpZW50IGhhcyBoYWQgYSBwcmV2aW91cyBzZXZlcmUgcmVhY3Rpb24gb3Iga25vd24gYWxsZXJneSB0byBzdHJlcHRvbXljaW4sIG5lb215Y2luIG9yIHBvbHlteXhpbiBCLgpEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIG9yYWwgcG9saW8gdmFjY2luZSAoT1BWKSBpZiBjbGllbnQgaGFzIGhhZCBhIGFsbGVyZ2ljIHJlYWN0aW9uIHRvIE9QViBvciB0byB0aGUgdHJhY2UgYW50aWJpb3RpY3MgY29udGFpbmVkLgoqLwpkZWZpbmUgIlBvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQgR3VpZGFuY2UiOgogICdEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIGluYWN0aXZhdGVkIHBvbGlvIHZhY2NpbmUgKElQVikgaWYgY2xpZW50IGhhcyBoYWQgYSBwcmV2aW91cyBzZXZlcmUgcmVhY3Rpb24gb3Iga25vd24gYWxsZXJneSB0byBzdHJlcHRvbXljaW4sIG5lb215Y2luIG9yIHBvbHlteXhpbiBCLgpEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIG9yYWwgcG9saW8gdmFjY2luZSAoT1BWKSBpZiBjbGllbnQgaGFzIGhhZCBhIGFsbGVyZ2ljIHJlYWN0aW9uIHRvIE9QViBvciB0byB0aGUgdHJhY2UgYW50aWJpb3RpY3MgY29udGFpbmVkLicKCi8qCkBvdXRwdXQ6IFBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEKQHBzZXVkb2NvZGU6IENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZCBpZiB2YWNjaW5hdGlvbiB3aXRoIElQViBpcyBjb25zaWRlcmVkCiJJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzIiA9ICJDb250cmFpbmRpY2F0ZWQiICh3aGVyZSAiVHlwZSBvZiBwb2xpb3ZpcnVzIGRvc2UiID0gImJPUFYiKSBBTkQgIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkZ1cnRoZXIgZXZhbHVhdGlvbiBuZWVkZWQiICh3aGVyZSAiVHlwZSBvZiBwb2xpb3ZpcnVzIGRvc2UiID0gIklQViIpCiovCmRlZmluZSAiUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIENhc2UgMSI6CiAgRW5jb3VudGVyLiJUaGUgY2xpZW50IGlzIHNldmVyZWx5IGltbXVub2NvbXByb21pc2VkIgoKLyoKQG91dHB1dDogUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIENhc2UgMgpAcHNldWRvY29kZTogQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkIGlmIHZhY2NpbmF0aW9uIHdpdGggSVBWIGlzIGNvbnNpZGVyZWQKIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkNvbnRyYWluZGljYXRlZCIgKHdoZXJlICJUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSIgPSAiYk9QViIpIEFORCAiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiRnVydGhlciBldmFsdWF0aW9uIG5lZWRlZCIgKHdoZXJlICJUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSIgPSAiSVBWIikKKi8KZGVmaW5lICJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAyIjoKICBFbmNvdW50ZXIuIlRoZSBjbGllbnQgaGFzIGltbXVub2RlZmljaWVuY3kgc3luZHJvbWVzIgoKLyoKQG91dHB1dDogUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkCkBwc2V1ZG9jb2RlOiBDbGluaWNhbCBqdWRnZW1lbnQgaXMgcmVxdWlyZWQgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgY29uc2lkZXJlZAoiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiQ29udHJhaW5kaWNhdGVkIiAod2hlcmUgIlR5cGUgb2YgcG9saW92aXJ1cyBkb3NlIiA9ICJiT1BWIikgQU5EICJJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzIiA9ICJGdXJ0aGVyIGV2YWx1YXRpb24gbmVlZGVkIiAod2hlcmUgIlR5cGUgb2YgcG9saW92aXJ1cyBkb3NlIiA9ICJJUFYiKQoqLwpkZWZpbmUgIlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCI6CiAgIlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEiCiAgICBvciAiUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIENhc2UgMiIKCi8qCkBvdXRwdXQ6IFBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBHdWlkYW5jZQpAZ3VpZGFuY2UgPSBGb3IgYk9QViBkb3NlLCBkbyBub3QgdmFjY2luYXRlIGNsaWVudCBmb3IgYk9QViBkb3NlIGFzIGJPUFYgdmFjY2luYXRpb24gaXMgY29udHJhbmluZGljYXRlZCBpbiBzZXZlcmVseSBpbW11bm9jb21wcm9taXNlZCBjbGllbnRzLiAKQ2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50LgpAZ3VpZGFuY2UgPSBGb3IgYk9QViBkb3NlLCBkbyBub3QgdmFjY2luYXRlIGNsaWVudCBmb3IgYk9QViBkb3NlIGFzIGJPUFYgdmFjY2luYXRpb24gaXMgY29udHJhbmluZGljYXRlZCBpbiBjbGllbnRzIHdpdGggaW1tdW5vZGVmaWNpZW5jeSBkaXNvcmRlcnMuCkNoZWNrIGlmIHZhY2NpbmF0aW9uIHdpdGggSVBWIGlzIGFwcHJvcHJpYXRlIGZvciB0aGUgY2xpZW50LCBjb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGNsaW5pY2FsIGp1ZGdlbWVudC4KKi8KZGVmaW5lICJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgR3VpZGFuY2UiOgogIGNhc2UKICAgIHdoZW4gIlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEiIHRoZW4gJ0ZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIHNldmVyZWx5IGltbXVub2NvbXByb21pc2VkIGNsaWVudHMuIApDaGVjayBpZiB2YWNjaW5hdGlvbiB3aXRoIElQViBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlIGNsaWVudCwgY29uc2lkZXIgcmlza3Mgb2YgdmFjY2luYXRpb24gYW5kIG1ha2UgYSBjbGluaWNhbCBqdWRnZW1lbnQuJwogICAgd2hlbiAiUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIENhc2UgMiIgdGhlbiAnRm9yIGJPUFYgZG9zZSwgZG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgZm9yIGJPUFYgZG9zZSBhcyBiT1BWIHZhY2NpbmF0aW9uIGlzIGNvbnRyYW5pbmRpY2F0ZWQgaW4gY2xpZW50cyB3aXRoIGltbXVub2RlZmljaWVuY3kgZGlzb3JkZXJzLgpDaGVjayBpZiB2YWNjaW5hdGlvbiB3aXRoIElQViBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlIGNsaWVudCwgY29uc2lkZXIgcmlza3Mgb2YgdmFjY2luYXRpb24gYW5kIG1ha2UgYSBjbGluaWNhbCBqdWRnZW1lbnQuJwogICAgZWxzZSAnJwogIGVuZAoKCi8qCkB0ZXN0OiBUZXN0IGV4cGVjdGVkIHJlc3VsdHMgYmFzZWQgb24gZXhhbXBsZSBwYXRpZW50cwoqLwpkZWZpbmUgIlRlc3QgVmFsaWRhdGlvbiI6CiAgY2FzZQogICAgd2hlbiBQYXRpZW50LmlkID0gJ1BvbGlvODcuMScgdGhlbiAiUG9saW92aXJ1cyB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCByZXF1aXJlZCIgYW5kICJHdWlkYW5jZSIgPSAnRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBpbmFjdGl2YXRlZCBwb2xpbyB2YWNjaW5lIChJUFYpIGlmIGNsaWVudCBoYXMgaGFkIGEgcHJldmlvdXMgc2V2ZXJlIHJlYWN0aW9uIG9yIGtub3duIGFsbGVyZ3kgdG8gc3RyZXB0b215Y2luLCBuZW9teWNpbiBvciBwb2x5bXl4aW4gQi4KRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBvcmFsIHBvbGlvIHZhY2NpbmUgKE9QVikgaWYgY2xpZW50IGhhcyBoYWQgYSBhbGxlcmdpYyByZWFjdGlvbiB0byBPUFYgb3IgdG8gdGhlIHRyYWNlIGFudGliaW90aWNzIGNvbnRhaW5lZC4nCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnUG9saW84OC4xJyB0aGVuICJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAxIiBhbmQgIkd1aWRhbmNlIiA9ICdGb3IgYk9QViBkb3NlLCBkbyBub3QgdmFjY2luYXRlIGNsaWVudCBmb3IgYk9QViBkb3NlIGFzIGJPUFYgdmFjY2luYXRpb24gaXMgY29udHJhbmluZGljYXRlZCBpbiBzZXZlcmVseSBpbW11bm9jb21wcm9taXNlZCBjbGllbnRzLiAKQ2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50LicKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdQb2xpbzg5LjEnIHRoZW4gIlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDIiIGFuZCAiR3VpZGFuY2UiID0gJ0ZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIGNsaWVudHMgd2l0aCBpbW11bm9kZWZpY2llbmN5IGRpc29yZGVycy4KQ2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50LicKICAgIGVsc2UgJ05vIHRlc3QgY2FzZSBzZXQnCiAgZW5kCg=="
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBJTU1aRDVEVFBvbGlvQ29udHJhaW5kaWNhdGlvbnNMb2dpYyAoSU1NWi5ENS5EVC5Qb2xpbyBjb250cmFpbmRpY2F0aW9ucykKICogUnVsZTogQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zIGJlZm9yZSBhZG1pbmlzdGVyaW5nIHRoZSB2YWNjaW5lKHMpIGR1ZQogKiBEZWNpc2lvbiBUYWJsZTogSU1NWi5ENS5EVC5Qb2xpbyBjb250cmFpbmRpY2F0aW9ucwogKiBUcmlnZ2VyOiBJTU1aLkQ1IERldGVybWluZSB2YWNjaW5lKHMpIHRvIGJlIGFkbWluaXN0ZXJlZCBiYXNlZCBvbiBjb250cmFpbmRpY2F0aW9ucwogKi8KbGlicmFyeSBJTU1aRDVEVFBvbGlvQ29udHJhaW5kaWNhdGlvbnNMb2dpYzwvYTpzPgogICAgICA8L2E6cz4KICAgPC9hbm5vdGF0aW9uPgogICA8aWRlbnRpZmllciBpZD0iSU1NWkQ1RFRQb2xpb0NvbnRyYWluZGljYXRpb25zTG9naWMiIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucyIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iOToxLTk6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwNiI+CiAgICAgICAgICAgICAgIDxhOnM+dXNpbmcgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwOCIgbG9jYXRvcj0iMTA6MS0xMDozNSIgbG9jYWxJZGVudGlmaWVyPSJGSElSSGVscGVycyIgcGF0aD0iaHR0cDovL2hsNy5vcmcvZmhpci9GSElSSGVscGVycyIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDgiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+RkhJUkhlbHBlcnM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjEyOjEtMTI6NTUiIGxvY2FsSWRlbnRpZmllcj0iRW5jb3VudGVyIiBwYXRoPSJodHRwOi8vc21hcnQud2hvLmludC9pbW11bml6YXRpb25zL0lNTVpENURUUG9saW9FbmNvdW50ZXJFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRDVEVFBvbGlvRW5jb3VudGVyRWxlbWVudHM8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGNhbGxlZCBFbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIxMiIgbG9jYXRvcj0iMTQ6MS0xNDozNiIgbmFtZT0iVG9kYXkiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMTIiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciBUb2RheSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTYiPgogICAgICAgICAgICAgICAgICA8YTpzPkRhdGU8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IGRlZmF1bHQgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Ub2RheSgpPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMTUiIGxvY2F0b3I9IjE0OjMwLTE0OjM2IiB4c2k6dHlwZT0iVG9kYXkiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjE2IiBsb2NhdG9yPSIxNDoxNy0xNDoyMCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICA8L3BhcmFtZXRlcnM+CiAgIDxjb250ZXh0cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMjEiIGxvY2F0b3I9IjE2OjEtMTY6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjE5IiBsb2NhdG9yPSIxNjoxLTE2OjE1IiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjIwIiB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjIxOCIgbG9jYXRvcj0iMTY6MS0xNjoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iMjE6My0yMjo2NCIgbmFtZT0iRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IElEIGZvciBiT1BWIGRvc2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJkeW5hbWljVmFsdWUiIHZhbHVlPSJEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgSUQgZm9yIFBvbGlvIGRvc2UiLz4KICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAgQGR5bmFtaWNWYWx1ZTogRHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IElEIGZvciBQb2xpbyBkb3NlCiAgKi8KICBkZWZpbmUgJnF1b3Q7RHJhZnQgTWVkaWNhdGlvbiBSZXF1ZXN0IElEIGZvciBiT1BWIGRvc2UmcXVvdDs6CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+Rmlyc3QoPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtEcmFmdCBNZWRpY2F0aW9uIFJlcXVlc3QgZm9yIGJPUFYgZG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+KTwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzMCIgbG9jYXRvcj0iMjI6NS0yMjo2NCIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSIyMjo1LTIyOjYxIiB4c2k6dHlwZT0iRmlyc3QiPgogICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iMjI6MTEtMjI6NjAiIG5hbWU9IkRyYWZ0IE1lZGljYXRpb24gUmVxdWVzdCBmb3IgYk9QViBkb3NlIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzgiIGxvY2F0b3I9IjQyOjEtNDM6NjUiIG5hbWU9IlBvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IHJlcXVpcmVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtGdXJ0aGVyIGV2YWx1YXRpb24gbmVlZGVkJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IHJlcXVpcmVkCkBwc2V1ZG9jb2RlOiAmcXVvdDtJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzJnF1b3Q7ID0gJnF1b3Q7RnVydGhlciBldmFsdWF0aW9uIG5lZWRlZCZxdW90OwoqLwpkZWZpbmUgJnF1b3Q7UG9saW92aXJ1cyB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCByZXF1aXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBjbGllbnQgaGFzIGhpc3Rvcnkgb2Ygc2V2ZXJlIGFsbGVyZ2ljIHJlYWN0aW9ucyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iNDM6My00Mzo2NSIgbmFtZT0iVGhlIGNsaWVudCBoYXMgaGlzdG9yeSBvZiBzZXZlcmUgYWxsZXJnaWMgcmVhY3Rpb25zIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNDQiIGxvY2F0b3I9IjUwOjEtNTE6MzA2IiBuYW1lPSJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IHJlcXVpcmVkIEd1aWRhbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCByZXF1aXJlZCBHdWlkYW5jZSIvPgogICAgICAgICAgICA8YTp0IG5hbWU9Imd1aWRhbmNlIiB2YWx1ZT0iRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBpbmFjdGl2YXRlZCBwb2xpbyB2YWNjaW5lIChJUFYpIGlmIGNsaWVudCBoYXMgaGFkIGEgcHJldmlvdXMgc2V2ZXJlIHJlYWN0aW9uIG9yIGtub3duIGFsbGVyZ3kgdG8gc3RyZXB0b215Y2luLCBuZW9teWNpbiBvciBwb2x5bXl4aW4gQi4mI3hhO0RvIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggb3JhbCBwb2xpbyB2YWNjaW5lIChPUFYpIGlmIGNsaWVudCBoYXMgaGFkIGEgYWxsZXJnaWMgcmVhY3Rpb24gdG8gT1BWIG9yIHRvIHRoZSB0cmFjZSBhbnRpYmlvdGljcyBjb250YWluZWQuIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQ0Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IHJlcXVpcmVkIEd1aWRhbmNlCkBndWlkYW5jZTogRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBpbmFjdGl2YXRlZCBwb2xpbyB2YWNjaW5lIChJUFYpIGlmIGNsaWVudCBoYXMgaGFkIGEgcHJldmlvdXMgc2V2ZXJlIHJlYWN0aW9uIG9yIGtub3duIGFsbGVyZ3kgdG8gc3RyZXB0b215Y2luLCBuZW9teWNpbiBvciBwb2x5bXl4aW4gQi4KRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBvcmFsIHBvbGlvIHZhY2NpbmUgKE9QVikgaWYgY2xpZW50IGhhcyBoYWQgYSBhbGxlcmdpYyByZWFjdGlvbiB0byBPUFYgb3IgdG8gdGhlIHRyYWNlIGFudGliaW90aWNzIGNvbnRhaW5lZC4KKi8KZGVmaW5lICZxdW90O1BvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQgR3VpZGFuY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4nRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBpbmFjdGl2YXRlZCBwb2xpbyB2YWNjaW5lIChJUFYpIGlmIGNsaWVudCBoYXMgaGFkIGEgcHJldmlvdXMgc2V2ZXJlIHJlYWN0aW9uIG9yIGtub3duIGFsbGVyZ3kgdG8gc3RyZXB0b215Y2luLCBuZW9teWNpbiBvciBwb2x5bXl4aW4gQi4KRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBvcmFsIHBvbGlvIHZhY2NpbmUgKE9QVikgaWYgY2xpZW50IGhhcyBoYWQgYSBhbGxlcmdpYyByZWFjdGlvbiB0byBPUFYgb3IgdG8gdGhlIHRyYWNlIGFudGliaW90aWNzIGNvbnRhaW5lZC4nPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjUxOjMtNTE6MzA2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBpbmFjdGl2YXRlZCBwb2xpbyB2YWNjaW5lIChJUFYpIGlmIGNsaWVudCBoYXMgaGFkIGEgcHJldmlvdXMgc2V2ZXJlIHJlYWN0aW9uIG9yIGtub3duIGFsbGVyZ3kgdG8gc3RyZXB0b215Y2luLCBuZW9teWNpbiBvciBwb2x5bXl4aW4gQi4mI3hhO0RvIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggb3JhbCBwb2xpbyB2YWNjaW5lIChPUFYpIGlmIGNsaWVudCBoYXMgaGFkIGEgYWxsZXJnaWMgcmVhY3Rpb24gdG8gT1BWIG9yIHRvIHRoZSB0cmFjZSBhbnRpYmlvdGljcyBjb250YWluZWQuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNTUiIGxvY2F0b3I9IjU5OjEtNjA6NTQiIG5hbWU9IlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAxIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb250cmFpbmRpY2F0ZWQmcXVvdDsgKHdoZXJlICZxdW90O1R5cGUgb2YgcG9saW92aXJ1cyBkb3NlJnF1b3Q7ID0gJnF1b3Q7Yk9QViZxdW90OykgQU5EICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtGdXJ0aGVyIGV2YWx1YXRpb24gbmVlZGVkJnF1b3Q7ICh3aGVyZSAmcXVvdDtUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSZxdW90OyA9ICZxdW90O0lQViZxdW90OykiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IFBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEKQHBzZXVkb2NvZGU6IENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZCBpZiB2YWNjaW5hdGlvbiB3aXRoIElQViBpcyBjb25zaWRlcmVkCiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb250cmFpbmRpY2F0ZWQmcXVvdDsgKHdoZXJlICZxdW90O1R5cGUgb2YgcG9saW92aXJ1cyBkb3NlJnF1b3Q7ID0gJnF1b3Q7Yk9QViZxdW90OykgQU5EICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtGdXJ0aGVyIGV2YWx1YXRpb24gbmVlZGVkJnF1b3Q7ICh3aGVyZSAmcXVvdDtUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSZxdW90OyA9ICZxdW90O0lQViZxdW90OykKKi8KZGVmaW5lICZxdW90O1BvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNTYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgY2xpZW50IGlzIHNldmVyZWx5IGltbXVub2NvbXByb21pc2VkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU3IiBsb2NhdG9yPSI2MDozLTYwOjU0IiBuYW1lPSJUaGUgY2xpZW50IGlzIHNldmVyZWx5IGltbXVub2NvbXByb21pc2VkIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjEiIGxvY2F0b3I9IjY3OjEtNjg6NTUiIG5hbWU9IlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDIiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAyIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb250cmFpbmRpY2F0ZWQmcXVvdDsgKHdoZXJlICZxdW90O1R5cGUgb2YgcG9saW92aXJ1cyBkb3NlJnF1b3Q7ID0gJnF1b3Q7Yk9QViZxdW90OykgQU5EICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtGdXJ0aGVyIGV2YWx1YXRpb24gbmVlZGVkJnF1b3Q7ICh3aGVyZSAmcXVvdDtUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSZxdW90OyA9ICZxdW90O0lQViZxdW90OykiLz4KICAgICAgICAgICAgPGE6cyByPSIyNjEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IFBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDIKQHBzZXVkb2NvZGU6IENsaW5pY2FsIGp1ZGdlbWVudCBpcyByZXF1aXJlZCBpZiB2YWNjaW5hdGlvbiB3aXRoIElQViBpcyBjb25zaWRlcmVkCiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb250cmFpbmRpY2F0ZWQmcXVvdDsgKHdoZXJlICZxdW90O1R5cGUgb2YgcG9saW92aXJ1cyBkb3NlJnF1b3Q7ID0gJnF1b3Q7Yk9QViZxdW90OykgQU5EICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtGdXJ0aGVyIGV2YWx1YXRpb24gbmVlZGVkJnF1b3Q7ICh3aGVyZSAmcXVvdDtUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSZxdW90OyA9ICZxdW90O0lQViZxdW90OykKKi8KZGVmaW5lICZxdW90O1BvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDImcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjYzIj4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYzIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtUaGUgY2xpZW50IGhhcyBpbW11bm9kZWZpY2llbmN5IHN5bmRyb21lcyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2MyIgbG9jYXRvcj0iNjg6My02ODo1NSIgbmFtZT0iVGhlIGNsaWVudCBoYXMgaW1tdW5vZGVmaWNpZW5jeSBzeW5kcm9tZXMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iNzU6MS03Nzo2NyIgbmFtZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtDb250cmFpbmRpY2F0ZWQmcXVvdDsgKHdoZXJlICZxdW90O1R5cGUgb2YgcG9saW92aXJ1cyBkb3NlJnF1b3Q7ID0gJnF1b3Q7Yk9QViZxdW90OykgQU5EICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtGdXJ0aGVyIGV2YWx1YXRpb24gbmVlZGVkJnF1b3Q7ICh3aGVyZSAmcXVvdDtUeXBlIG9mIHBvbGlvdmlydXMgZG9zZSZxdW90OyA9ICZxdW90O0lQViZxdW90OykiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IFBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZApAcHNldWRvY29kZTogQ2xpbmljYWwganVkZ2VtZW50IGlzIHJlcXVpcmVkIGlmIHZhY2NpbmF0aW9uIHdpdGggSVBWIGlzIGNvbnNpZGVyZWQKJnF1b3Q7SW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyZxdW90OyA9ICZxdW90O0NvbnRyYWluZGljYXRlZCZxdW90OyAod2hlcmUgJnF1b3Q7VHlwZSBvZiBwb2xpb3ZpcnVzIGRvc2UmcXVvdDsgPSAmcXVvdDtiT1BWJnF1b3Q7KSBBTkQgJnF1b3Q7SW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyZxdW90OyA9ICZxdW90O0Z1cnRoZXIgZXZhbHVhdGlvbiBuZWVkZWQmcXVvdDsgKHdoZXJlICZxdW90O1R5cGUgb2YgcG9saW92aXJ1cyBkb3NlJnF1b3Q7ID0gJnF1b3Q7SVBWJnF1b3Q7KQoqLwpkZWZpbmUgJnF1b3Q7UG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU4Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAxJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY0Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjUyIiBsb2NhdG9yPSI3NjozLTc3OjY3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNTgiIGxvY2F0b3I9Ijc2OjMtNzY6NjIiIG5hbWU9IlBvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iNzc6OC03Nzo2NyIgbmFtZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIENhc2UgMiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjgiIGxvY2F0b3I9Ijg2OjEtOTM6NSIgbmFtZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIEd1aWRhbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIEd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjY4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgR3VpZGFuY2UKQGd1aWRhbmNlID0gRm9yIGJPUFYgZG9zZSwgZG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgZm9yIGJPUFYgZG9zZSBhcyBiT1BWIHZhY2NpbmF0aW9uIGlzIGNvbnRyYW5pbmRpY2F0ZWQgaW4gc2V2ZXJlbHkgaW1tdW5vY29tcHJvbWlzZWQgY2xpZW50cy4gCkNoZWNrIGlmIHZhY2NpbmF0aW9uIHdpdGggSVBWIGlzIGFwcHJvcHJpYXRlIGZvciB0aGUgY2xpZW50LCBjb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGNsaW5pY2FsIGp1ZGdlbWVudC4KQGd1aWRhbmNlID0gRm9yIGJPUFYgZG9zZSwgZG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgZm9yIGJPUFYgZG9zZSBhcyBiT1BWIHZhY2NpbmF0aW9uIGlzIGNvbnRyYW5pbmRpY2F0ZWQgaW4gY2xpZW50cyB3aXRoIGltbXVub2RlZmljaWVuY3kgZGlzb3JkZXJzLgpDaGVjayBpZiB2YWNjaW5hdGlvbiB3aXRoIElQViBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlIGNsaWVudCwgY29uc2lkZXIgcmlza3Mgb2YgdmFjY2luYXRpb24gYW5kIG1ha2UgYSBjbGluaWNhbCBqdWRnZW1lbnQuCiovCmRlZmluZSAmcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgR3VpZGFuY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjY5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5jYXNlCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAxJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0ZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIHNldmVyZWx5IGltbXVub2NvbXByb21pc2VkIGNsaWVudHMuIApDaGVjayBpZiB2YWNjaW5hdGlvbiB3aXRoIElQViBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlIGNsaWVudCwgY29uc2lkZXIgcmlza3Mgb2YgdmFjY2luYXRpb24gYW5kIG1ha2UgYSBjbGluaWNhbCBqdWRnZW1lbnQuJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0ZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIGNsaWVudHMgd2l0aCBpbW11bm9kZWZpY2llbmN5IGRpc29yZGVycy4KQ2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50Lic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPicnPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIGVuZDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY5IiBsb2NhdG9yPSI4NzozLTkzOjUiIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjI3MCIgbG9jYXRvcj0iODg6NS04ODozMzEiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyNzEiIGxvY2F0b3I9Ijg4OjEwLTg4OjY5IiBuYW1lPSJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAxIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNzIiIGxvY2F0b3I9Ijg4Ojc2LTg4OjMzMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIHNldmVyZWx5IGltbXVub2NvbXByb21pc2VkIGNsaWVudHMuICYjeGE7Q2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50LiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iOTA6NS05MDozMzUiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjkwOjEwLTkwOjY5IiBuYW1lPSJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyNzYiIGxvY2F0b3I9IjkwOjc2LTkwOjMzNSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIGNsaWVudHMgd2l0aCBpbW11bm9kZWZpY2llbmN5IGRpc29yZGVycy4mI3hhO0NoZWNrIGlmIHZhY2NpbmF0aW9uIHdpdGggSVBWIGlzIGFwcHJvcHJpYXRlIGZvciB0aGUgY2xpZW50LCBjb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGNsaW5pY2FsIGp1ZGdlbWVudC4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjI3OCIgbG9jYXRvcj0iOTI6MTAtOTI6MTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjMzIiBsb2NhdG9yPSIyODoxLTMzOjUiIG5hbWU9Ikd1aWRhbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZHluYW1pY1ZhbHVlIiB2YWx1ZT0iR3VpZGFuY2UiLz4KICAgICAgICAgICAgPGE6cyByPSIyMzMiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkeW5hbWljVmFsdWU6IEd1aWRhbmNlCiovCmRlZmluZSAmcXVvdDtHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzQiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UgCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIGNvdWxkIGJlIGNvbnRyYWluZGljYXRlZC4gQ2xpbmljYWwganVkZ2VtZW50IHJlcXVpcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UG9saW92aXJ1cyB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCByZXF1aXJlZCBHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgR3VpZGFuY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPiAKICAgIGVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4nJzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICBlbmQ8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iMjk6My0zMzo1IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyMzUiIGxvY2F0b3I9IjMwOjUtMzA6MTgwIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjQxIiBsb2NhdG9yPSIzMDoxMC0zMDo4NyIgbmFtZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCByZXF1aXJlZCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjQ3IiBsb2NhdG9yPSIzMDo5NC0zMDoxODAiIG5hbWU9IlBvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQgR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIyNDgiIGxvY2F0b3I9IjMxOjUtMzE6MTMwIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMjY1IiBsb2NhdG9yPSIzMToxMC0zMTo2MiIgbmFtZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjMxOjY5LTMxOjEzMCIgbmFtZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIEd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8ZWxzZSBsb2NhbElkPSIyODEiIGxvY2F0b3I9IjMyOjEwLTMyOjExIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4NSIgbG9jYXRvcj0iMzU6MS0zNjo0NSIgbmFtZT0iSGFzIEd1aWRhbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjg1Ij4KICAgICAgICAgICAgICAgPGE6cz5kZWZpbmUgJnF1b3Q7SGFzIEd1aWRhbmNlJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0d1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiBpcyBub3QgbnVsbDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NiI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gIT0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyODYiIGxvY2F0b3I9IjM2OjMtMzY6NDUiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODkiIGxvY2F0b3I9IjM2OjMtMzY6MjQiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODgiIGxvY2F0b3I9IjM2OjMtMzY6MjQiIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODciIGxvY2F0b3I9IjM2OjMtMzY6MTIiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk2IiBsb2NhdG9yPSIzNjozMC0zNjo0NSIgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMzY6MzAtMzY6NDUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMjk0IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjI5NSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSIzNjozMC0zNjozOSIgbmFtZT0iR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MiIgbG9jYXRvcj0iMzY6NDQtMzY6NDUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI5OSIgbG9jYXRvcj0iOTk6MS0xMDg6NSIgbmFtZT0iVGVzdCBWYWxpZGF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0idGVzdCIgdmFsdWU9IlRlc3QgZXhwZWN0ZWQgcmVzdWx0cyBiYXNlZCBvbiBleGFtcGxlIHBhdGllbnRzIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjk5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAdGVzdDogVGVzdCBleHBlY3RlZCByZXN1bHRzIGJhc2VkIG9uIGV4YW1wbGUgcGF0aWVudHMKKi8KZGVmaW5lICZxdW90O1Rlc3QgVmFsaWRhdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIzMDAiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UKICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDIiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5QYXRpZW50PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPmlkPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidQb2xpbzg3LjEnPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UG9saW92aXJ1cyB2YWNjaW5hdGlvbiBjb3VsZCBiZSBjb250cmFpbmRpY2F0ZWQuIENsaW5pY2FsIGp1ZGdlbWVudCByZXF1aXJlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIGluYWN0aXZhdGVkIHBvbGlvIHZhY2NpbmUgKElQVikgaWYgY2xpZW50IGhhcyBoYWQgYSBwcmV2aW91cyBzZXZlcmUgcmVhY3Rpb24gb3Iga25vd24gYWxsZXJneSB0byBzdHJlcHRvbXljaW4sIG5lb215Y2luIG9yIHBvbHlteXhpbiBCLgpEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIG9yYWwgcG9saW8gdmFjY2luZSAoT1BWKSBpZiBjbGllbnQgaGFzIGhhZCBhIGFsbGVyZ2ljIHJlYWN0aW9uIHRvIE9QViBvciB0byB0aGUgdHJhY2UgYW50aWJpb3RpY3MgY29udGFpbmVkLic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzIzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nUG9saW84OC4xJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1BvbGlvdmlydXMgdmFjY2luYXRpb24gd2l0aCBiT1BWIGlzIGNvbnRyYWluZGljYXRlZCBDYXNlIDEmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7R3VpZGFuY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzMzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nRm9yIGJPUFYgZG9zZSwgZG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgZm9yIGJPUFYgZG9zZSBhcyBiT1BWIHZhY2NpbmF0aW9uIGlzIGNvbnRyYW5pbmRpY2F0ZWQgaW4gc2V2ZXJlbHkgaW1tdW5vY29tcHJvbWlzZWQgY2xpZW50cy4gCkNoZWNrIGlmIHZhY2NpbmF0aW9uIHdpdGggSVBWIGlzIGFwcHJvcHJpYXRlIGZvciB0aGUgY2xpZW50LCBjb25zaWRlciByaXNrcyBvZiB2YWNjaW5hdGlvbiBhbmQgbWFrZSBhIGNsaW5pY2FsIGp1ZGdlbWVudC4nPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J1BvbGlvODkuMSc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiB0aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAyJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0d1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1MSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J0ZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIGNsaWVudHMgd2l0aCBpbW11bm9kZWZpY2llbmN5IGRpc29yZGVycy4KQ2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50Lic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBlbHNlIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+J05vIHRlc3QgY2FzZSBzZXQnPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIGVuZDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMzAwIiBsb2NhdG9yPSIxMDA6My0xMDg6NSIgeHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMzAxIiBsb2NhdG9yPSIxMDE6NS0xMDE6NDM5Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMzAyIiBsb2NhdG9yPSIxMDE6MTAtMTAxOjMzIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMwOSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTAiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNyIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMDgiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwNCIgbG9jYXRvcj0iMTAxOjEwLTEwMToxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzAzIiBsb2NhdG9yPSIxMDE6MTAtMTAxOjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzA1IiBsb2NhdG9yPSIxMDE6MjMtMTAxOjMzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUG9saW84Ny4xIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM1NyIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzExIiBsb2NhdG9yPSIxMDE6NDAtMTAxOjQzOSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMiIgbG9jYXRvcj0iMTAxOjQwLTEwMToxMTciIG5hbWU9IlBvbGlvdmlydXMgdmFjY2luYXRpb24gY291bGQgYmUgY29udHJhaW5kaWNhdGVkLiBDbGluaWNhbCBqdWRnZW1lbnQgcmVxdWlyZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxMyIgbG9jYXRvcj0iMTAxOjEyMy0xMDE6NDM5IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMTgiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNCIgbG9jYXRvcj0iMTAxOjEyMy0xMDE6MTMyIiBuYW1lPSJHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzE1IiBsb2NhdG9yPSIxMDE6MTM2LTEwMTo0MzkiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJEbyBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIGluYWN0aXZhdGVkIHBvbGlvIHZhY2NpbmUgKElQVikgaWYgY2xpZW50IGhhcyBoYWQgYSBwcmV2aW91cyBzZXZlcmUgcmVhY3Rpb24gb3Iga25vd24gYWxsZXJneSB0byBzdHJlcHRvbXljaW4sIG5lb215Y2luIG9yIHBvbHlteXhpbiBCLiYjeGE7RG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCBvcmFsIHBvbGlvIHZhY2NpbmUgKE9QVikgaWYgY2xpZW50IGhhcyBoYWQgYSBhbGxlcmdpYyByZWFjdGlvbiB0byBPUFYgb3IgdG8gdGhlIHRyYWNlIGFudGliaW90aWNzIGNvbnRhaW5lZC4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM1OCIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM1OSIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzYwIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMzE5IiBsb2NhdG9yPSIxMDM6NS0xMDM6MzczIj4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMzIwIiBsb2NhdG9yPSIxMDM6MTAtMTAzOjMzIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyNyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMjgiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyNSIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMjYiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMiIgbG9jYXRvcj0iMTAzOjEwLTEwMzoxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzIxIiBsb2NhdG9yPSIxMDM6MTAtMTAzOjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzIzIiBsb2NhdG9yPSIxMDM6MjMtMTAzOjMzIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUG9saW84OC4xIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM2MSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzI5IiBsb2NhdG9yPSIxMDM6NDAtMTAzOjM3MyIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzMCIgbG9jYXRvcj0iMTAzOjQwLTEwMzo5OSIgbmFtZT0iUG9saW92aXJ1cyB2YWNjaW5hdGlvbiB3aXRoIGJPUFYgaXMgY29udHJhaW5kaWNhdGVkIENhc2UgMSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMxIiBsb2NhdG9yPSIxMDM6MTA1LTEwMzozNzMiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzM1IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMzNiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzMyIiBsb2NhdG9yPSIxMDM6MTA1LTEwMzoxMTQiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzMiIGxvY2F0b3I9IjEwMzoxMTgtMTAzOjM3MyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZvciBiT1BWIGRvc2UsIGRvIG5vdCB2YWNjaW5hdGUgY2xpZW50IGZvciBiT1BWIGRvc2UgYXMgYk9QViB2YWNjaW5hdGlvbiBpcyBjb250cmFuaW5kaWNhdGVkIGluIHNldmVyZWx5IGltbXVub2NvbXByb21pc2VkIGNsaWVudHMuICYjeGE7Q2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50LiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzYyIiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzYzIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzNjQiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIzMzciIGxvY2F0b3I9IjEwNTo1LTEwNTozNzciPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjEwNToxMC0xMDU6MzMiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzQ1IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM0NiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQzIiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM0NCIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQwIiBsb2NhdG9yPSIxMDU6MTAtMTA1OjE5IiBwYXRoPSJpZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMzkiIGxvY2F0b3I9IjEwNToxMC0xMDU6MTYiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDEiIGxvY2F0b3I9IjEwNToyMy0xMDU6MzMiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJQb2xpbzg5LjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzY1IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDciIGxvY2F0b3I9IjEwNTo0MC0xMDU6Mzc3IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzQ4IiBsb2NhdG9yPSIxMDU6NDAtMTA1Ojk5IiBuYW1lPSJQb2xpb3ZpcnVzIHZhY2NpbmF0aW9uIHdpdGggYk9QViBpcyBjb250cmFpbmRpY2F0ZWQgQ2FzZSAyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDkiIGxvY2F0b3I9IjEwNToxMDUtMTA1OjM3NyIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNTMiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzU0IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNTAiIGxvY2F0b3I9IjEwNToxMDUtMTA1OjExNCIgbmFtZT0iR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1MSIgbG9jYXRvcj0iMTA1OjExOC0xMDU6Mzc3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iRm9yIGJPUFYgZG9zZSwgZG8gbm90IHZhY2NpbmF0ZSBjbGllbnQgZm9yIGJPUFYgZG9zZSBhcyBiT1BWIHZhY2NpbmF0aW9uIGlzIGNvbnRyYW5pbmRpY2F0ZWQgaW4gY2xpZW50cyB3aXRoIGltbXVub2RlZmljaWVuY3kgZGlzb3JkZXJzLiYjeGE7Q2hlY2sgaWYgdmFjY2luYXRpb24gd2l0aCBJUFYgaXMgYXBwcm9wcmlhdGUgZm9yIHRoZSBjbGllbnQsIGNvbnNpZGVyIHJpc2tzIG9mIHZhY2NpbmF0aW9uIGFuZCBtYWtlIGEgY2xpbmljYWwganVkZ2VtZW50LiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxhc1R5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMzY2IiB4c2k6dHlwZT0iQ2hvaWNlVHlwZVNwZWNpZmllciI+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzY3IiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzNjgiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDwvYXNUeXBlU3BlY2lmaWVyPgogICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIGxvY2FsSWQ9IjM2OSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU1IiBsb2NhdG9yPSIxMDc6MTAtMTA3OjI3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTm8gdGVzdCBjYXNlIHNldCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzNzAiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzNzEiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM3MiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="
}
]
}